drop the bootscript, new u-boots won't need it
[openwrt/openwrt.git] / target / linux / omap / patches-3.12 / 103-ARM-dts-add-AM33XX-MMC-support-and-documentation.patch
1 Adds AM33XX MMC support for am335x-bone, am335x-evm and am335x-evmsk boards.
2
3 Also added is the DMA binding definitions based on the generic DMA request
4 binding.
5
6 Additional changes made to DTS:
7 * Interrupt, reg and compatible properties added
8 * ti,needs-special-hs-handling added
9
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>
13
14 ---
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(-)
21
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.
34 +
35 +Examples:
36 +
37 +[hwmod populated DMA resources]
38 +
39 + mmc1: mmc@0x4809c000 {
40 + compatible = "ti,omap4-hsmmc";
41 + reg = <0x4809c000 0x400>;
42 + ti,hwmods = "mmc1";
43 + ti,dual-volt;
44 + bus-width = <4>;
45 + vmmc-supply = <&vmmc>; /* phandle to regulator node */
46 + ti,non-removable;
47 + };
48 +
49 +[generic DMA request binding]
50
51 -Example:
52 mmc1: mmc@0x4809c000 {
53 compatible = "ti,omap4-hsmmc";
54 reg = <0x4809c000 0x400>;
55 @@ -30,4 +51,7 @@ Example:
56 bus-width = <4>;
57 vmmc-supply = <&vmmc>; /* phandle to regulator node */
58 ti,non-removable;
59 + dmas = <&edma 24
60 + &edma 25>;
61 + dma-names = "tx", "rx";
62 };
63 --- a/arch/arm/boot/dts/am335x-bone.dts
64 +++ b/arch/arm/boot/dts/am335x-bone.dts
65 @@ -9,3 +9,14 @@
66
67 #include "am33xx.dtsi"
68 #include "am335x-bone-common.dtsi"
69 +
70 +&ldo3_reg {
71 + regulator-min-microvolt = <1800000>;
72 + regulator-max-microvolt = <3300000>;
73 + regulator-always-on;
74 +};
75 +
76 +&mmc1 {
77 + status = "okay";
78 + vmmc-supply = <&ldo3_reg>;
79 +};
80 --- a/arch/arm/boot/dts/am335x-evm.dts
81 +++ b/arch/arm/boot/dts/am335x-evm.dts
82 @@ -477,6 +477,8 @@
83 };
84
85 vmmc_reg: regulator@12 {
86 + regulator-min-microvolt = <1800000>;
87 + regulator-max-microvolt = <3300000>;
88 regulator-always-on;
89 };
90 };
91 @@ -517,3 +519,8 @@
92 ti,adc-channels = <4 5 6 7>;
93 };
94 };
95 +
96 +&mmc1 {
97 + status = "okay";
98 + vmmc-supply = <&vmmc_reg>;
99 +};
100 --- a/arch/arm/boot/dts/am335x-evmsk.dts
101 +++ b/arch/arm/boot/dts/am335x-evmsk.dts
102 @@ -393,6 +393,8 @@
103 };
104
105 vmmc_reg: regulator@12 {
106 + regulator-min-microvolt = <1800000>;
107 + regulator-max-microvolt = <3300000>;
108 regulator-always-on;
109 };
110 };
111 @@ -419,3 +421,8 @@
112 phy_id = <&davinci_mdio>, <1>;
113 phy-mode = "rgmii-txid";
114 };
115 +
116 +&mmc1 {
117 + status = "okay";
118 + vmmc-supply = <&vmmc_reg>;
119 +};
120 --- a/arch/arm/boot/dts/am33xx.dtsi
121 +++ b/arch/arm/boot/dts/am33xx.dtsi
122 @@ -240,6 +240,44 @@
123 status = "disabled";
124 };
125
126 + mmc1: mmc@48060000 {
127 + compatible = "ti,omap4-hsmmc";
128 + ti,hwmods = "mmc1";
129 + ti,dual-volt;
130 + ti,needs-special-reset;
131 + ti,needs-special-hs-handling;
132 + dmas = <&edma 24
133 + &edma 25>;
134 + dma-names = "tx", "rx";
135 + interrupts = <64>;
136 + interrupt-parent = <&intc>;
137 + reg = <0x48060000 0x1000>;
138 + status = "disabled";
139 + };
140 +
141 + mmc2: mmc@481d8000 {
142 + compatible = "ti,omap4-hsmmc";
143 + ti,hwmods = "mmc2";
144 + ti,needs-special-reset;
145 + dmas = <&edma 2
146 + &edma 3>;
147 + dma-names = "tx", "rx";
148 + interrupts = <28>;
149 + interrupt-parent = <&intc>;
150 + reg = <0x481d8000 0x1000>;
151 + status = "disabled";
152 + };
153 +
154 + mmc3: mmc@47810000 {
155 + compatible = "ti,omap4-hsmmc";
156 + ti,hwmods = "mmc3";
157 + ti,needs-special-reset;
158 + interrupts = <29>;
159 + interrupt-parent = <&intc>;
160 + reg = <0x47810000 0x1000>;
161 + status = "disabled";
162 + };
163 +
164 wdt2: wdt@44e35000 {
165 compatible = "ti,omap3-wdt";
166 ti,hwmods = "wd_timer2";