From ee6620bf8f67d710f33d9c096a66cceac7a642a6 Mon Sep 17 00:00:00 2001 From: tao.shi 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 --- 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 = ; + 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]; }