riscv: dts: starfive: Add sdio node for StarFive
authorWilliam Qiu <william.qiu@starfivetech.com>
Tue, 22 Nov 2022 06:25:31 +0000 (14:25 +0800)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Tue, 31 Jan 2023 15:43:42 +0000 (16:43 +0100)
This adds the sdio controller node for the StarFive JH7110 SoC.
The sdio0 is defined as emmc and sdio1 is defined as sd.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-v2.dts
arch/riscv/boot/dts/starfive/jh7110.dtsi

index c8946cf3a2689ec71ca00ae8fdfa16d71ae3349c..6ef8e303c2e6bb56e4f59bda32bdc1bbcce52de5 100644 (file)
        clock-frequency = <32768>;
 };
 
+&sdio0 {
+       max-frequency = <100000000>;
+       card-detect-delay = <300>;
+       bus-width = <8>;
+       cap-mmc-highspeed;
+       mmc-ddr-1_8v;
+       mmc-hs200-1_8v;
+       non-removable;
+       cap-mmc-hw-reset;
+       post-power-on-delay-ms = <200>;
+       status = "okay";
+};
+
+&sdio1 {
+       max-frequency = <100000000>;
+       card-detect-delay = <300>;
+       bus-width = <4>;
+       no-sdio;
+       no-mmc;
+       broken-cd;
+       cap-sd-highspeed;
+       post-power-on-delay-ms = <200>;
+       status = "okay";
+};
+
 &gmac0_rmii_refin {
        clock-frequency = <50000000>;
 };
index c22e8f1d26406ab85a9c6746c7b616ce81e3b760..e90b085d7e41043cbf1d3fdcbf2b30a658cc5a31 100644 (file)
                        #reset-cells = <1>;
                };
 
+               sys_syscon: sys_syscon@13030000 {
+                       compatible = "syscon";
+                       reg = <0x0 0x13030000 0x0 0x1000>;
+               };
+
                gpio: gpio@13040000 {
                        compatible = "starfive,jh7110-sys-pinctrl";
                        reg = <0x0 0x13040000 0x0 0x10000>;
                        reg-shift = <2>;
                        status = "disabled";
                };
+
+               /* unremovable emmc as mmcblk0 */
+               sdio0: mmc@16010000 {
+                       compatible = "starfive,jh7110-sdio";
+                       reg = <0x0 0x16010000 0x0 0x10000>;
+                       clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>,
+                                <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
+                       clock-names = "biu","ciu";
+                       resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>;
+                       reset-names = "reset";
+                       interrupts = <74>;
+                       fifo-depth = <32>;
+                       fifo-watermark-aligned;
+                       data-addr = <0>;
+                       starfive,sys-syscon = <&sys_syscon 0x14 0x1a 0x7c000000>;
+                       status = "disabled";
+               };
+
+               sdio1: mmc@16020000 {
+                       compatible = "starfive,jh7110-sdio";
+                       reg = <0x0 0x16020000 0x0 0x10000>;
+                       clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>,
+                                <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
+                       clock-names = "biu","ciu";
+                       resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>;
+                       reset-names = "reset";
+                       interrupts = <75>;
+                       fifo-depth = <32>;
+                       fifo-watermark-aligned;
+                       data-addr = <0>;
+                       starfive,sys-syscon = <&sys_syscon 0x9c 0x1 0x3e>;
+                       status = "disabled";
+               };
        };
 };