[omap]: refresh/rename patches
[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";