ARM: dts: NSP: Add SD/MMC support

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>
This commit is contained in:
Jon Mason 2016-12-13 13:13:51 -05:00 committed by Florian Fainelli
parent b6318107f4
commit 3107fa5bcf
3 changed files with 91 additions and 44 deletions

View File

@ -209,6 +209,15 @@ dma@20000 {
#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>,

View File

@ -59,7 +59,7 @@ gpio-restart {
};
};
/* XHCI and SD/MMC support needed to be complete */
/* XHCI support needed to be complete */
&amac0 {
status = "okay";
@ -184,6 +184,10 @@ &sata {
status = "okay";
};
&sdio {
status = "ok";
};
&uart0 {
status = "okay";
};

View File

@ -117,56 +117,32 @@ &pcie2 {
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&nand_sel>;
pinctrl-0 = <&nand_sel>, <&gpiobs>, <&pwmc>;
nand_sel: nand_sel {
function = "nand";
groups = "nand_grp";
};
gpiobs: gpiobs {
function = "gpio_b";
groups = "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp",
"gpio_b_3_grp";
};
pwmc: pwmc {
function = "pwm";
groups = "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp";
};
emmc_sel: emmc_sel {
function = "emmc";
groups = "emmc_grp";
};
};
&srab {
compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
&pwm {
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;
};
};
};
};
&qspi {
@ -215,6 +191,64 @@ &sata {
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";
};