[PATCH 6/6] arm64: dts: socfpga: agilex3: enable SD card on SoCDK
From: tze . yee . ng
Date: Wed Sep 23 2026 - 04:23:13 EST
From: Tze Yee Ng <tze.yee.ng@xxxxxxxxxx>
Enable the micro-SD slot on the Agilex3 SoCDK board:
- Add the fixed 3.3V card supply and the GPIO-controlled 1.8V/3.3V
VQMMC I/O regulator.
- Enable the sdmmc node in 4-bit mode with SDR104 and DDR50 UHS-I
support and wire up the vmmc/vqmmc supplies.
The board includes socfpga_agilex5.dtsi, so the DDR50 read-path tuning
defaults added there apply here as well.
Signed-off-by: Tze Yee Ng <tze.yee.ng@xxxxxxxxxx>
---
.../boot/dts/intel/socfpga_agilex3_socdk.dts | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex3_socdk.dts b/arch/arm64/boot/dts/intel/socfpga_agilex3_socdk.dts
index b40f28519334..f46e5c070c0e 100644
--- a/arch/arm64/boot/dts/intel/socfpga_agilex3_socdk.dts
+++ b/arch/arm64/boot/dts/intel/socfpga_agilex3_socdk.dts
@@ -45,6 +45,25 @@ memory@80000000 {
/* We expect the bootloader to fill in the reg */
reg = <0x0 0x80000000 0x0 0x0>;
};
+
+ vqmmc_io_reg: regulator-1p8v {
+ compatible = "regulator-gpio";
+ gpios = <&portb 3 GPIO_ACTIVE_HIGH>;
+ gpios-states = <0>;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <1800000>;
+ regulator-name = "vqmmc-io";
+ states = <1800000 0x1>,
+ <3300000 0x0>;
+ };
+
+ vmmc_reg: regulator-fixed-3p3v {
+ compatible = "regulator-fixed";
+ regulator-always-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "vcc-sd";
+ };
};
&gmac2 {
@@ -121,6 +140,20 @@ root: partition@c00000 {
};
};
+&sdmmc {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ disable-wp;
+ max-frequency = <200000000>;
+ no-mmc;
+ sd-uhs-ddr50;
+ sd-uhs-sdr104;
+ vmmc-supply = <&vmmc_reg>;
+ vqmmc-supply = <&vqmmc_io_reg>;
+
+ status = "okay";
+};
+
&smmu {
status = "okay";
};
--
2.43.7