130 lines
4.0 KiB
Diff
130 lines
4.0 KiB
Diff
From ee6620bf8f67d710f33d9c096a66cceac7a642a6 Mon Sep 17 00:00:00 2001
|
|
From: tao.shi <[email protected]>
|
|
Date: Wed, 24 Jun 2026 12:04:00 +0800
|
|
Subject: [PATCH] Bug #3459727 [Bipai-bringup] wcn change sdio1 to sdio2
|
|
|
|
[root cause ]: code submit
|
|
[changes ]: sdio
|
|
[side effects]: sdio
|
|
[self test ]: na
|
|
[download normally]:pass
|
|
[power on/off normally]:pass
|
|
[do common repository/branch inspection]:common
|
|
[is there dependence]:na
|
|
[confirm dependent commit]:na
|
|
[board]:2hxx
|
|
[test case]:wcn
|
|
[reviewers]:bo.zhou
|
|
|
|
commit_template_version:v1
|
|
|
|
Change-Id: I5c05fe2a3e68aa12cc232cb2cb008715e8cea43e
|
|
Signed-off-by: tao.shi <[email protected]>
|
|
---
|
|
|
|
diff --git a/arch/arm64/boot/dts/sprd/qogirn6pro.dtsi b/arch/arm64/boot/dts/sprd/qogirn6pro.dtsi
|
|
index 4f0acb0..b4502de 100644
|
|
--- a/arch/arm64/boot/dts/sprd/qogirn6pro.dtsi
|
|
+++ b/arch/arm64/boot/dts/sprd/qogirn6pro.dtsi
|
|
@@ -55,6 +55,7 @@
|
|
mmc0 = &sdio3;
|
|
mmc1 = &sdio0;
|
|
mmc2 = &sdio1;
|
|
+ mmc3 = &sdio2;
|
|
};
|
|
|
|
soc: soc {
|
|
@@ -579,6 +580,18 @@
|
|
status = "disabled";
|
|
};
|
|
|
|
+ sdio2: sdio@22230000 {
|
|
+ compatible = "sprd,sdhci-r11";
|
|
+ reg = <0x2230000 0x1000>;
|
|
+ interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
|
|
+ clock-names = "sdio", "enable";
|
|
+ clocks = <&aonapb_clk CLK_SDIO2_2X>,
|
|
+ <&apahb_gate CLK_SDIO2_EB>;
|
|
+ assigned-clocks = <&aonapb_clk CLK_SDIO2_2X>;
|
|
+ assigned-clock-parents = <&g1_pll CLK_RPLL_390M>;
|
|
+ status = "disabled";
|
|
+ };
|
|
+
|
|
i2c0: i2c@2240000 {
|
|
compatible = "sprd,qogirn6pro-i2c", "sprd,sc9860-i2c";
|
|
reg = <0x2240000 0x100>;
|
|
diff --git a/arch/arm64/boot/dts/sprd/uis7885-2h10-overlay.dts b/arch/arm64/boot/dts/sprd/uis7885-2h10-overlay.dts
|
|
index 6faf7c9..254b698 100755
|
|
--- a/arch/arm64/boot/dts/sprd/uis7885-2h10-overlay.dts
|
|
+++ b/arch/arm64/boot/dts/sprd/uis7885-2h10-overlay.dts
|
|
@@ -223,8 +223,8 @@
|
|
compatible = "unisoc,marlin3lite_sdio";
|
|
m2-wakeup-ap-gpios = <&ap_gpio 128 GPIO_ACTIVE_LOW>;
|
|
reset-gpios = <&ap_gpio 172 GPIO_ACTIVE_LOW>;
|
|
- enable-gpios = <&ap_gpio 171 GPIO_ACTIVE_LOW>;
|
|
- m2-to-ap-irq-gpios = <&ap_gpio 173 GPIO_ACTIVE_LOW>;
|
|
+ enable-gpios = <&ap_gpio 151 GPIO_ACTIVE_LOW>;
|
|
+ m2-to-ap-irq-gpios = <&ap_gpio 177 GPIO_ACTIVE_LOW>;
|
|
xtal-26m-clk-type = "TCXO";
|
|
avdd12-supply = <&vddwcn>;
|
|
avdd33-supply = <&vddwifipa>;
|
|
@@ -234,8 +234,8 @@
|
|
clocks = <&aonapb_gate CLK_AUX0>,
|
|
<&ext_32k>,
|
|
<&aonapb_gate CLK_AUX0_EB>;
|
|
- extcon = <&sdio1>;
|
|
- sdhci-name = <&sdio1>;
|
|
+ extcon = <&sdio2>;
|
|
+ sdhci-name = <&sdio2>;
|
|
sprd,btwf-file-name = "/dev/block/by-name/wcnmodem";
|
|
sprd,gnss-file-name = "/vendor/firmware/gnssmodem.bin";
|
|
adma-tx;
|
|
diff --git a/arch/arm64/boot/dts/sprd/uis7885-mach.dtsi b/arch/arm64/boot/dts/sprd/uis7885-mach.dtsi
|
|
index cda0c3b..a4ba3b0 100755
|
|
--- a/arch/arm64/boot/dts/sprd/uis7885-mach.dtsi
|
|
+++ b/arch/arm64/boot/dts/sprd/uis7885-mach.dtsi
|
|
@@ -1078,6 +1078,19 @@
|
|
sprd,sdio-adma;
|
|
no-sd;
|
|
no-mmc;
|
|
+ status = "disabled";
|
|
+};
|
|
+
|
|
+&sdio2 {
|
|
+ sprd,phy-delay-sd-uhs-sdr104 = <0x0 0x7f 0x7d 0x7d>;
|
|
+ sprd,phy-delay-sd-uhs-sdr50 = <0x0 0xbf 0xc1 0xc1>;
|
|
+ bus-width = <4>;
|
|
+ sd-uhs-sdr104;
|
|
+ sd-uhs-sdr50;
|
|
+ sprd,name = "sdio_wifi";
|
|
+ sprd,sdio-adma;
|
|
+ no-sd;
|
|
+ no-mmc;
|
|
status = "okay";
|
|
};
|
|
|
|
diff --git a/drivers/mmc/host/sdhci-sprd-debug.c b/drivers/mmc/host/sdhci-sprd-debug.c
|
|
index fb39e84..caf029c 100644
|
|
--- a/drivers/mmc/host/sdhci-sprd-debug.c
|
|
+++ b/drivers/mmc/host/sdhci-sprd-debug.c
|
|
@@ -69,8 +69,8 @@
|
|
array[4], array[5], array[6], array[7], array[8], \
|
|
array[9], array[10], array[11], array[12], array[13])
|
|
|
|
-static struct mmc_debug_info mmc_debug[3] = {
|
|
- {.name = "mmc0"}, {.name = "mmc1"}, {.name = "mmc2"}
|
|
+static struct mmc_debug_info mmc_debug[4] = {
|
|
+ {.name = "mmc0"}, {.name = "mmc1"}, {.name = "mmc2"}, {.name = "mmc3"}
|
|
};
|
|
|
|
static void mmc_debug_is_emmc(struct sdhci_host *host, struct mmc_debug_info *info)
|
|
@@ -187,7 +187,7 @@
|
|
u8 i;
|
|
|
|
/* select mmc type */
|
|
- for (i = 0; i <= 2; i++) {
|
|
+ for (i = 0; i <= 3; i++) {
|
|
if (!strcmp(mmc_hostname(host->mmc), mmc_debug[i].name))
|
|
info = &mmc_debug[i];
|
|
}
|