ARM: dts: suniv: F1C100: add MMC controllers
authorJesse Taube <mr.bossman075@gmail.com>
Thu, 17 Mar 2022 16:23:45 +0000 (16:23 +0000)
committerJernej Skrabec <jernej.skrabec@gmail.com>
Wed, 6 Apr 2022 20:27:11 +0000 (22:27 +0200)
The F1C100 series contains two MMC controllers, where the first one is
typically connected to an (micro)SD card slot (as this is the one the
BROM is able to boot from).
Describe the two controllers in the SoC .dtsi.
We also add the pinctrl description for MMC0, since this is the only
pin set supporting that function anyway, and SD cards are very common
across boards.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220317162349.739636-9-andre.przywara@arm.com
arch/arm/boot/dts/suniv-f1c100s.dtsi

index f455e27..59e0bd9 100644 (file)
                        };
                };
 
+               mmc0: mmc@1c0f000 {
+                       compatible = "allwinner,suniv-f1c100s-mmc",
+                                    "allwinner,sun7i-a20-mmc";
+                       reg = <0x01c0f000 0x1000>;
+                       clocks = <&ccu CLK_BUS_MMC0>,
+                                <&ccu CLK_MMC0>,
+                                <&ccu CLK_MMC0_OUTPUT>,
+                                <&ccu CLK_MMC0_SAMPLE>;
+                       clock-names = "ahb", "mmc", "output", "sample";
+                       resets = <&ccu RST_BUS_MMC0>;
+                       reset-names = "ahb";
+                       interrupts = <23>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               mmc1: mmc@1c10000 {
+                       compatible = "allwinner,suniv-f1c100s-mmc",
+                                    "allwinner,sun7i-a20-mmc";
+                       reg = <0x01c10000 0x1000>;
+                       clocks = <&ccu CLK_BUS_MMC1>,
+                                <&ccu CLK_MMC1>,
+                                <&ccu CLK_MMC1_OUTPUT>,
+                                <&ccu CLK_MMC1_SAMPLE>;
+                       clock-names = "ahb", "mmc", "output", "sample";
+                       resets = <&ccu RST_BUS_MMC1>;
+                       reset-names = "ahb";
+                       interrupts = <24>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
                ccu: clock@1c20000 {
                        compatible = "allwinner,suniv-f1c100s-ccu";
                        reg = <0x01c20000 0x400>;
                        #interrupt-cells = <3>;
                        #gpio-cells = <3>;
 
+                       mmc0_pins: mmc0-pins {
+                               pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
+                               function = "mmc0";
+                               drive-strength = <30>;
+                       };
+
                        uart0_pe_pins: uart0-pe-pins {
                                pins = "PE0", "PE1";
                                function = "uart0";