[openwrt/openwrt] ramips: fix SDXC function for mt76x8 one eth port devices

LEDE Commits lede-commits at lists.infradead.org
Sat Jan 4 05:49:43 PST 2025


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/f5996ae947c88461029060d74ace6a85a30dd9fd

commit f5996ae947c88461029060d74ace6a85a30dd9fd
Author: Shiji Yang <yangshiji66 at qq.com>
AuthorDate: Wed Jan 1 16:16:29 2025 +0800

    ramips: fix SDXC function for mt76x8 one eth port devices
    
    There are only 5 devices in mt76x8 sub-target selected the MTK SDXC
    driver package. And they are all single ethernet port routers or dev
    boards:
    
    * LinkIt Smart 7688
    * Onion Omega2+
    * RAVPower RP-WD009
    * VoCore VoCore2
    * VoCore VoCore2-Lite
    
    For these devices, they are using the ephy p1 - p4 as the SDXC IO
    pins. Therefore, these GPIO pads must be configured in "digital"
    IO mode.
    
    Signed-off-by: Shiji Yang <yangshiji66 at qq.com>
    Link: https://github.com/openwrt/openwrt/pull/17446
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 .../dts/mt7628an_mediatek_linkit-smart-7688.dts    | 19 ++++++++++++++++++
 target/linux/ramips/dts/mt7628an_onion_omega2.dtsi | 19 ++++++++++++++++++
 .../ramips/dts/mt7628an_ravpower_rp-wd009.dts      | 19 ++++++++++++++++++
 .../linux/ramips/dts/mt7628an_vocore_vocore2.dtsi  | 23 ++++++++++++++++++++++
 4 files changed, 80 insertions(+)

diff --git a/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts b/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts
index 34ef15eca0..fab70dc7b7 100644
--- a/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts
+++ b/target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts
@@ -168,8 +168,27 @@
 	nvmem-cell-names = "mac-address";
 };
 
+&pinctrl {
+	ephy-digital;
+
+	sdxc_iot_mode: sdxc_iot_mode {
+		esd {
+			groups = "esd";
+			function = "iot";
+		};
+
+		sdxc {
+			groups = "sdmode";
+			function = "sdxc";
+		};
+	};
+};
+
 &sdhci {
 	status = "okay";
+
+	pinctrl-0 = <&sdxc_iot_mode>;
+	pinctrl-1 = <&sdxc_iot_mode>;
 	cd-inverted;
 };
 
diff --git a/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi b/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi
index d279cbcfb8..2d45e0385f 100644
--- a/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi
+++ b/target/linux/ramips/dts/mt7628an_onion_omega2.dtsi
@@ -170,8 +170,27 @@
 	nvmem-cell-names = "mac-address";
 };
 
+&pinctrl {
+	ephy-digital;
+
+	sdxc_iot_mode: sdxc_iot_mode {
+		esd {
+			groups = "esd";
+			function = "iot";
+		};
+
+		sdxc {
+			groups = "sdmode";
+			function = "sdxc";
+		};
+	};
+};
+
 &sdhci {
 	status = "okay";
+
+	pinctrl-0 = <&sdxc_iot_mode>;
+	pinctrl-1 = <&sdxc_iot_mode>;
 };
 
 &wmac {
diff --git a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts
index 607787f68e..71c77d7ae6 100644
--- a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts
+++ b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts
@@ -84,6 +84,22 @@
 	};
 };
 
+&pinctrl {
+	ephy-digital;
+
+	sdxc_iot_mode: sdxc_iot_mode {
+		esd {
+			groups = "esd";
+			function = "iot";
+		};
+
+		sdxc {
+			groups = "sdmode";
+			function = "sdxc";
+		};
+	};
+};
+
 &state_default {
 	gpio {
 		groups = "uart1", "wled_an", "p0led_an", "p2led_an", "p3led_an",
@@ -94,6 +110,9 @@
 
 &sdhci {
 	status = "okay";
+
+	pinctrl-0 = <&sdxc_iot_mode>;
+	pinctrl-1 = <&sdxc_iot_mode>;
 };
 
 &i2c {
diff --git a/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi b/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi
index 4982d8bccc..da2026ec7d 100644
--- a/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi
+++ b/target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi
@@ -68,6 +68,22 @@
 	};
 };
 
+&pinctrl {
+	ephy-digital;
+
+	sdxc_iot_mode: sdxc_iot_mode {
+		esd {
+			groups = "esd";
+			function = "iot";
+		};
+
+		sdxc {
+			groups = "sdmode";
+			function = "sdxc";
+		};
+	};
+};
+
 &state_default {
 	gpio {
 		groups = "wled_an", "refclk", "wdt";
@@ -75,6 +91,13 @@
 	};
 };
 
+&sdhci {
+	status = "okay";
+
+	pinctrl-0 = <&sdxc_iot_mode>;
+	pinctrl-1 = <&sdxc_iot_mode>;
+};
+
 &wmac {
 	status = "okay";
 




More information about the lede-commits mailing list