Commit b0a6261f authored by Masahiro Yamada's avatar Masahiro Yamada

ARM: dts: uniphier: add SD/eMMC controller nodes

Add SD controller nodes for LD4, Pro4, sLD8, Pro5, and PXs2.
This is also used as an eMMC controller for LD4, Pro4, and sLD8.
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 925c5c32
...@@ -63,6 +63,10 @@ &i2c0 { ...@@ -63,6 +63,10 @@ &i2c0 {
status = "okay"; status = "okay";
}; };
&sd {
status = "okay";
};
&usb0 { &usb0 {
status = "okay"; status = "okay";
}; };
......
...@@ -235,6 +235,40 @@ peri_rst: reset { ...@@ -235,6 +235,40 @@ peri_rst: reset {
}; };
}; };
sd: sdhc@5a400000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
reg = <0x5a400000 0x200>;
interrupts = <0 76 4>;
pinctrl-names = "default", "uhs";
pinctrl-0 = <&pinctrl_sd>;
pinctrl-1 = <&pinctrl_sd_uhs>;
clocks = <&mio_clk 0>;
reset-names = "host", "bridge";
resets = <&mio_rst 0>, <&mio_rst 3>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
};
emmc: sdhc@5a500000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
reg = <0x5a500000 0x200>;
interrupts = <0 78 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_emmc>;
clocks = <&mio_clk 1>;
reset-names = "host", "bridge", "hw";
resets = <&mio_rst 1>, <&mio_rst 4>, <&mio_rst 6>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
non-removable;
};
usb0: usb@5a800100 { usb0: usb@5a800100 {
compatible = "socionext,uniphier-ehci", "generic-ehci"; compatible = "socionext,uniphier-ehci", "generic-ehci";
status = "disabled"; status = "disabled";
......
...@@ -65,6 +65,10 @@ &i2c0 { ...@@ -65,6 +65,10 @@ &i2c0 {
status = "okay"; status = "okay";
}; };
&sd {
status = "okay";
};
&eth { &eth {
status = "okay"; status = "okay";
phy-handle = <&ethphy>; phy-handle = <&ethphy>;
......
...@@ -121,6 +121,11 @@ pinctrl_sd: sd { ...@@ -121,6 +121,11 @@ pinctrl_sd: sd {
function = "sd"; function = "sd";
}; };
pinctrl_sd_uhs: sd-uhs {
groups = "sd";
function = "sd";
};
pinctrl_sd1: sd1 { pinctrl_sd1: sd1 {
groups = "sd1"; groups = "sd1";
function = "sd1"; function = "sd1";
......
...@@ -68,6 +68,10 @@ &i2c3 { ...@@ -68,6 +68,10 @@ &i2c3 {
status = "okay"; status = "okay";
}; };
&sd {
status = "okay";
};
&usb2 { &usb2 {
status = "okay"; status = "okay";
}; };
......
...@@ -65,6 +65,10 @@ &i2c0 { ...@@ -65,6 +65,10 @@ &i2c0 {
status = "okay"; status = "okay";
}; };
&sd {
status = "okay";
};
&usb2 { &usb2 {
status = "okay"; status = "okay";
}; };
......
...@@ -71,6 +71,10 @@ &usb3 { ...@@ -71,6 +71,10 @@ &usb3 {
status = "okay"; status = "okay";
}; };
&emmc {
status = "okay";
};
&eth { &eth {
status = "okay"; status = "okay";
phy-handle = <&ethphy>; phy-handle = <&ethphy>;
......
...@@ -269,6 +269,54 @@ peri_rst: reset { ...@@ -269,6 +269,54 @@ peri_rst: reset {
}; };
}; };
sd: sdhc@5a400000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
reg = <0x5a400000 0x200>;
interrupts = <0 76 4>;
pinctrl-names = "default", "uhs";
pinctrl-0 = <&pinctrl_sd>;
pinctrl-1 = <&pinctrl_sd_uhs>;
clocks = <&mio_clk 0>;
reset-names = "host", "bridge";
resets = <&mio_rst 0>, <&mio_rst 3>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
};
emmc: sdhc@5a500000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
reg = <0x5a500000 0x200>;
interrupts = <0 78 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_emmc>;
clocks = <&mio_clk 1>;
reset-names = "host", "bridge", "hw";
resets = <&mio_rst 1>, <&mio_rst 4>, <&mio_rst 6>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
non-removable;
};
sd1: sdhc@5a600000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
reg = <0x5a600000 0x200>;
interrupts = <0 85 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sd1>;
clocks = <&mio_clk 2>;
reset-names = "host", "bridge";
resets = <&mio_rst 2>, <&mio_rst 5>;
bus-width = <4>;
cap-sd-highspeed;
};
usb2: usb@5a800100 { usb2: usb@5a800100 {
compatible = "socionext,uniphier-ehci", "generic-ehci"; compatible = "socionext,uniphier-ehci", "generic-ehci";
status = "disabled"; status = "disabled";
......
...@@ -465,6 +465,40 @@ nand: nand@68000000 { ...@@ -465,6 +465,40 @@ nand: nand@68000000 {
clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>; clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
resets = <&sys_rst 2>; resets = <&sys_rst 2>;
}; };
emmc: sdhc@68400000 {
compatible = "socionext,uniphier-sd-v3.1";
status = "disabled";
reg = <0x68400000 0x800>;
interrupts = <0 78 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_emmc>;
clocks = <&sd_clk 1>;
reset-names = "host", "hw";
resets = <&sd_rst 1>, <&sd_rst 6>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
non-removable;
};
sd: sdhc@68800000 {
compatible = "socionext,uniphier-sd-v3.1";
status = "disabled";
reg = <0x68800000 0x800>;
interrupts = <0 76 4>;
pinctrl-names = "default", "uhs";
pinctrl-0 = <&pinctrl_sd>;
pinctrl-1 = <&pinctrl_sd_uhs>;
clocks = <&sd_clk 0>;
reset-names = "host";
resets = <&sd_rst 0>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
};
}; };
}; };
......
...@@ -76,6 +76,10 @@ wm_speaker: endpoint { ...@@ -76,6 +76,10 @@ wm_speaker: endpoint {
}; };
}; };
&emmc {
status = "okay";
};
&eth { &eth {
status = "okay"; status = "okay";
phy-handle = <&ethphy>; phy-handle = <&ethphy>;
......
...@@ -77,6 +77,10 @@ &i2c0 { ...@@ -77,6 +77,10 @@ &i2c0 {
status = "okay"; status = "okay";
}; };
&emmc {
status = "okay";
};
&eth { &eth {
status = "okay"; status = "okay";
phy-handle = <&ethphy>; phy-handle = <&ethphy>;
......
...@@ -444,6 +444,40 @@ peri_rst: reset { ...@@ -444,6 +444,40 @@ peri_rst: reset {
}; };
}; };
emmc: sdhc@5a000000 {
compatible = "socionext,uniphier-sd-v3.1.1";
status = "disabled";
reg = <0x5a000000 0x800>;
interrupts = <0 78 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_emmc>;
clocks = <&sd_clk 1>;
reset-names = "host", "hw";
resets = <&sd_rst 1>, <&sd_rst 6>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
non-removable;
};
sd: sdhc@5a400000 {
compatible = "socionext,uniphier-sd-v3.1.1";
status = "disabled";
reg = <0x5a400000 0x800>;
interrupts = <0 76 4>;
pinctrl-names = "default", "uhs";
pinctrl-0 = <&pinctrl_sd>;
pinctrl-1 = <&pinctrl_sd_uhs>;
clocks = <&sd_clk 0>;
reset-names = "host";
resets = <&sd_rst 0>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
};
soc_glue: soc-glue@5f800000 { soc_glue: soc-glue@5f800000 {
compatible = "socionext,uniphier-pxs2-soc-glue", compatible = "socionext,uniphier-pxs2-soc-glue",
"simple-mfd", "syscon"; "simple-mfd", "syscon";
......
...@@ -63,6 +63,10 @@ &i2c0 { ...@@ -63,6 +63,10 @@ &i2c0 {
status = "okay"; status = "okay";
}; };
&sd {
status = "okay";
};
&usb0 { &usb0 {
status = "okay"; status = "okay";
}; };
......
...@@ -239,6 +239,40 @@ peri_rst: reset { ...@@ -239,6 +239,40 @@ peri_rst: reset {
}; };
}; };
sd: sdhc@5a400000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
reg = <0x5a400000 0x200>;
interrupts = <0 76 4>;
pinctrl-names = "default", "uhs";
pinctrl-0 = <&pinctrl_sd>;
pinctrl-1 = <&pinctrl_sd_uhs>;
clocks = <&mio_clk 0>;
reset-names = "host", "bridge";
resets = <&mio_rst 0>, <&mio_rst 3>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
};
emmc: sdhc@5a500000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
reg = <0x5a500000 0x200>;
interrupts = <0 78 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_emmc>;
clocks = <&mio_clk 1>;
reset-names = "host", "bridge", "hw";
resets = <&mio_rst 1>, <&mio_rst 4>, <&mio_rst 6>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
non-removable;
};
usb0: usb@5a800100 { usb0: usb@5a800100 {
compatible = "socionext,uniphier-ehci", "generic-ehci"; compatible = "socionext,uniphier-ehci", "generic-ehci";
status = "disabled"; status = "disabled";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment