]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: dts: NSP: Add SD/MMC support
authorJon Mason <jon.mason@broadcom.com>
Tue, 13 Dec 2016 18:13:51 +0000 (13:13 -0500)
committerFlorian Fainelli <f.fainelli@gmail.com>
Thu, 19 Jan 2017 01:18:23 +0000 (17:18 -0800)
Add SD/MMC support to the Broadcom NSP SVK and XMC.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm/boot/dts/bcm-nsp.dtsi
arch/arm/boot/dts/bcm958525xmc.dts
arch/arm/boot/dts/bcm958625k.dts

index ecffc1629d9393af1b94fb32541574658f3b7a6f..6c58c7854dd559f3a3aab86ecdf8c1b1946eb5e2 100644 (file)
                        #dma-cells = <1>;
                };
 
+               sdio: sdhci@21000 {
+                       compatible = "brcm,sdhci-iproc-cygnus";
+                       reg = <0x21000 0x100>;
+                       interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
+                       sdhci,auto-cmd12;
+                       clocks = <&lcpll0 BCM_NSP_LCPLL0_SDIO_CLK>;
+                       status = "disabled";
+               };
+
                amac0: ethernet@22000 {
                        compatible = "brcm,nsp-amac";
                        reg = <0x022000 0x1000>,
index 3912269197b9ba495ddcaaadce3266de63c91358..41e7fd350fcd1bbf6c36008c5f1e1c179679ffe0 100644 (file)
@@ -59,7 +59,7 @@
        };
 };
 
-/* XHCI and SD/MMC support needed to be complete */
+/* XHCI support needed to be complete */
 
 &amac0 {
        status = "okay";
        status = "okay";
 };
 
+&sdio {
+       status = "ok";
+};
+
 &uart0 {
        status = "okay";
 };
index 6e994f299cf5d2eab3f6d1688ada96e5b4bcc399..f8d47e517e18ceaa28abc6a43f115d31fa9e71a9 100644 (file)
 
 &pinctrl {
        pinctrl-names = "default";
-       pinctrl-0 = <&nand_sel>;
+       pinctrl-0 = <&nand_sel>, <&gpiobs>, <&pwmc>;
+
        nand_sel: nand_sel {
                function = "nand";
                groups = "nand_grp";
        };
-};
-
-&srab {
-       compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
-       status = "okay";
-
-       ports {
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               port@0 {
-                       label = "port0";
-                       reg = <0>;
-               };
-
-               port@1 {
-                       label = "port1";
-                       reg = <1>;
-               };
-
-               port@2 {
-                       label = "port2";
-                       reg = <2>;
-               };
 
-               port@3 {
-                       label = "port3";
-                       reg = <3>;
-               };
+       gpiobs: gpiobs {
+               function = "gpio_b";
+               groups = "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp",
+                        "gpio_b_3_grp";
+       };
 
-               port@4 {
-                       label = "port4";
-                       reg = <4>;
-               };
+       pwmc: pwmc {
+               function = "pwm";
+               groups = "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp";
+       };
 
-               port@5 {
-                       ethernet = <&amac0>;
-                       label = "cpu";
-                       reg = <5>;
-                       fixed-link {
-                               speed = <1000>;
-                               full-duplex;
-                       };
-               };
+       emmc_sel: emmc_sel {
+               function = "emmc";
+               groups = "emmc_grp";
        };
 };
 
+&pwm {
+       status = "okay";
+};
+
 &qspi {
        bspi-sel = <0>;
        flash: m25p80@0 {
        status = "okay";
 };
 
+/*
+ * By default the sd slot is functional. For emmc to work add "<&emmc_sel>"
+ * and delete "<&nand_sel>" in "pinctrl-0" property of pinctrl node. Remove the
+ * bus-width property here and disable the nand node with status = "disabled";.
+ *
+ * Ex: pinctrl-0 = <&emmc_sel>, <&gpiobs>, <&pwmc>;
+ */
+&sdio {
+       bus-width = <4>;
+       no-1-8-v;
+       status = "ok";
+};
+
+&srab {
+       compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       label = "port0";
+                       reg = <0>;
+               };
+
+               port@1 {
+                       label = "port1";
+                       reg = <1>;
+               };
+
+               port@2 {
+                       label = "port2";
+                       reg = <2>;
+               };
+
+               port@3 {
+                       label = "port3";
+                       reg = <3>;
+               };
+
+               port@4 {
+                       label = "port4";
+                       reg = <4>;
+               };
+
+               port@5 {
+                       ethernet = <&amac0>;
+                       label = "cpu";
+                       reg = <5>;
+                       fixed-link {
+                               speed = <1000>;
+                               full-duplex;
+                       };
+               };
+       };
+};
+
 &uart0 {
        status = "okay";
 };