1 Adds AM33XX MMC support for am335x-bone, am335x-evm and am335x-evmsk boards.
3 Also added is the DMA binding definitions based on the generic DMA request
6 Additional changes made to DTS:
7 * Interrupt, reg and compatible properties added
8 * ti,needs-special-hs-handling added
10 Signed-off-by: Matt Porter <mporter@ti.com>
11 Acked-by: Tony Lindgren <tony@atomide.com>
12 Signed-off-by: Joel Fernandes <joelf@ti.com>
15 .../devicetree/bindings/mmc/ti-omap-hsmmc.txt | 26 ++++++++++++++-
16 arch/arm/boot/dts/am335x-bone.dts | 11 +++++++
17 arch/arm/boot/dts/am335x-evm.dts | 7 ++++
18 arch/arm/boot/dts/am335x-evmsk.dts | 7 ++++
19 arch/arm/boot/dts/am33xx.dtsi | 38 ++++++++++++++++++++++
20 5 files changed, 88 insertions(+), 1 deletion(-)
22 --- a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
23 +++ b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
24 @@ -20,8 +20,29 @@ ti,dual-volt: boolean, supports dual vol
25 ti,non-removable: non-removable slot (like eMMC)
26 ti,needs-special-reset: Requires a special softreset sequence
27 ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed
28 +dmas: List of DMA specifiers with the controller specific format
29 +as described in the generic DMA client binding. A tx and rx
30 +specifier is required.
31 +dma-names: List of DMA request names. These strings correspond
32 +1:1 with the DMA specifiers listed in dmas. The string naming is
33 +to be "rx" and "tx" for RX and TX DMA requests, respectively.
37 +[hwmod populated DMA resources]
39 + mmc1: mmc@0x4809c000 {
40 + compatible = "ti,omap4-hsmmc";
41 + reg = <0x4809c000 0x400>;
45 + vmmc-supply = <&vmmc>; /* phandle to regulator node */
49 +[generic DMA request binding]
52 mmc1: mmc@0x4809c000 {
53 compatible = "ti,omap4-hsmmc";
54 reg = <0x4809c000 0x400>;
55 @@ -30,4 +51,7 @@ Example:
57 vmmc-supply = <&vmmc>; /* phandle to regulator node */
61 + dma-names = "tx", "rx";
63 --- a/arch/arm/boot/dts/am335x-bone.dts
64 +++ b/arch/arm/boot/dts/am335x-bone.dts
67 #include "am33xx.dtsi"
68 #include "am335x-bone-common.dtsi"
71 + regulator-min-microvolt = <1800000>;
72 + regulator-max-microvolt = <3300000>;
73 + regulator-always-on;
78 + vmmc-supply = <&ldo3_reg>;
80 --- a/arch/arm/boot/dts/am335x-evm.dts
81 +++ b/arch/arm/boot/dts/am335x-evm.dts
85 vmmc_reg: regulator@12 {
86 + regulator-min-microvolt = <1800000>;
87 + regulator-max-microvolt = <3300000>;
92 ti,adc-channels = <4 5 6 7>;
98 + vmmc-supply = <&vmmc_reg>;
100 --- a/arch/arm/boot/dts/am335x-evmsk.dts
101 +++ b/arch/arm/boot/dts/am335x-evmsk.dts
105 vmmc_reg: regulator@12 {
106 + regulator-min-microvolt = <1800000>;
107 + regulator-max-microvolt = <3300000>;
112 phy_id = <&davinci_mdio>, <1>;
113 phy-mode = "rgmii-txid";
118 + vmmc-supply = <&vmmc_reg>;
120 --- a/arch/arm/boot/dts/am33xx.dtsi
121 +++ b/arch/arm/boot/dts/am33xx.dtsi
126 + mmc1: mmc@48060000 {
127 + compatible = "ti,omap4-hsmmc";
128 + ti,hwmods = "mmc1";
130 + ti,needs-special-reset;
131 + ti,needs-special-hs-handling;
134 + dma-names = "tx", "rx";
136 + interrupt-parent = <&intc>;
137 + reg = <0x48060000 0x1000>;
138 + status = "disabled";
141 + mmc2: mmc@481d8000 {
142 + compatible = "ti,omap4-hsmmc";
143 + ti,hwmods = "mmc2";
144 + ti,needs-special-reset;
147 + dma-names = "tx", "rx";
149 + interrupt-parent = <&intc>;
150 + reg = <0x481d8000 0x1000>;
151 + status = "disabled";
154 + mmc3: mmc@47810000 {
155 + compatible = "ti,omap4-hsmmc";
156 + ti,hwmods = "mmc3";
157 + ti,needs-special-reset;
159 + interrupt-parent = <&intc>;
160 + reg = <0x47810000 0x1000>;
161 + status = "disabled";
165 compatible = "ti,omap3-wdt";
166 ti,hwmods = "wd_timer2";