Files
BPI-M2C/ee6620b.diff
T
2026-09-22 09:38:26 +08:00

130 lines
4.0 KiB
Diff

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