packages: enable AP mode on r8188eu
[openwrt/staging/yousong.git] / target / linux / sunxi / patches-3.13 / 173-2-dt-sun5i-add-mmc.patch
1 From 5bfbb46a8685de4c67f084aea983fc9a50c882ad Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= <david.lanzendoerfer@o2s.ch>
3 Date: Sat, 15 Feb 2014 14:02:29 +0100
4 Subject: [PATCH] ARM: dts: sun5i: Add support for mmc
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Signed-off-by: David Lanzendörfer <david.lanzendoerfer@o2s.ch>
10 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
11 ---
12 arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 30 ++++++++++++++++
13 arch/arm/boot/dts/sun5i-a10s.dtsi | 44 ++++++++++++++++++++++++
14 arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 15 ++++++++
15 arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 15 ++++++++
16 arch/arm/boot/dts/sun5i-a13.dtsi | 37 ++++++++++++++++++++
17 5 files changed, 141 insertions(+)
18
19 diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
20 index 3c9f8b3..5c7b454 100644
21 --- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
22 +++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
23 @@ -34,7 +34,37 @@
24 };
25 };
26
27 + mmc0: mmc@01c0f000 {
28 + pinctrl-names = "default", "default";
29 + pinctrl-0 = <&mmc0_pins_a>;
30 + pinctrl-1 = <&mmc0_cd_pin_olinuxino_micro>;
31 + cd-gpios = <&pio 6 1 0>; /* PG1 */
32 + status = "okay";
33 + };
34 +
35 + mmc1: mmc@01c10000 {
36 + pinctrl-names = "default", "default";
37 + pinctrl-0 = <&mmc1_pins_a>;
38 + pinctrl-1 = <&mmc1_cd_pin_olinuxino_micro>;
39 + cd-gpios = <&pio 6 13 0>; /* PG13 */
40 + status = "okay";
41 + };
42 +
43 pinctrl@01c20800 {
44 + mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 {
45 + allwinner,pins = "PG1";
46 + allwinner,function = "gpio_in";
47 + allwinner,drive = <0>;
48 + allwinner,pull = <1>;
49 + };
50 +
51 + mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 {
52 + allwinner,pins = "PG13";
53 + allwinner,function = "gpio_in";
54 + allwinner,drive = <0>;
55 + allwinner,pull = <1>;
56 + };
57 +
58 led_pins_olinuxino: led_pins@0 {
59 allwinner,pins = "PE3";
60 allwinner,function = "gpio_out";
61 diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
62 index 3a9b33d..3a7039e 100644
63 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi
64 +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
65 @@ -299,6 +299,36 @@
66 #size-cells = <0>;
67 };
68
69 + mmc0: mmc@01c0f000 {
70 + compatible = "allwinner,sun5i-a13-mmc";
71 + reg = <0x01c0f000 0x1000>;
72 + clocks = <&ahb_gates 8>, <&mmc0_clk>;
73 + clock-names = "ahb", "mod";
74 + interrupts = <32>;
75 + bus-width = <4>;
76 + status = "disabled";
77 + };
78 +
79 + mmc1: mmc@01c10000 {
80 + compatible = "allwinner,sun5i-a13-mmc";
81 + reg = <0x01c10000 0x1000>;
82 + clocks = <&ahb_gates 9>, <&mmc1_clk>;
83 + clock-names = "ahb", "mod";
84 + interrupts = <33>;
85 + bus-width = <4>;
86 + status = "disabled";
87 + };
88 +
89 + mmc2: mmc@01c11000 {
90 + compatible = "allwinner,sun5i-a13-mmc";
91 + reg = <0x01c11000 0x1000>;
92 + clocks = <&ahb_gates 10>, <&mmc2_clk>;
93 + clock-names = "ahb", "mod";
94 + interrupts = <34>;
95 + bus-width = <4>;
96 + status = "disabled";
97 + };
98 +
99 intc: interrupt-controller@01c20400 {
100 compatible = "allwinner,sun4i-ic";
101 reg = <0x01c20400 0x400>;
102 @@ -369,6 +399,20 @@
103 allwinner,drive = <0>;
104 allwinner,pull = <0>;
105 };
106 +
107 + mmc0_pins_a: mmc0@0 {
108 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
109 + allwinner,function = "mmc0";
110 + allwinner,drive = <3>;
111 + allwinner,pull = <0>;
112 + };
113 +
114 + mmc1_pins_a: mmc1@0 {
115 + allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8";
116 + allwinner,function = "mmc1";
117 + allwinner,drive = <3>;
118 + allwinner,pull = <0>;
119 + };
120 };
121
122 timer@01c20c00 {
123 diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
124 index fe2ce0a..2f08bb2 100644
125 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
126 +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
127 @@ -20,7 +20,22 @@
128 compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
129
130 soc@01c00000 {
131 + mmc0: mmc@01c0f000 {
132 + pinctrl-names = "default", "default";
133 + pinctrl-0 = <&mmc0_pins_a>;
134 + pinctrl-1 = <&mmc0_cd_pin_olinuxinom>;
135 + cd-gpios = <&pio 6 0 0>; /* PG0 */
136 + status = "okay";
137 + };
138 +
139 pinctrl@01c20800 {
140 + mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
141 + allwinner,pins = "PG0";
142 + allwinner,function = "gpio_in";
143 + allwinner,drive = <0>;
144 + allwinner,pull = <1>;
145 + };
146 +
147 led_pins_olinuxinom: led_pins@0 {
148 allwinner,pins = "PG9";
149 allwinner,function = "gpio_out";
150 diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
151 index a4ba5ff..a7280f5 100644
152 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
153 +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
154 @@ -19,7 +19,22 @@
155 compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13";
156
157 soc@01c00000 {
158 + mmc0: mmc@01c0f000 {
159 + pinctrl-names = "default", "default";
160 + pinctrl-0 = <&mmc0_pins_a>;
161 + pinctrl-1 = <&mmc0_cd_pin_olinuxino>;
162 + cd-gpios = <&pio 6 0 0>; /* PG0 */
163 + status = "okay";
164 + };
165 +
166 pinctrl@01c20800 {
167 + mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
168 + allwinner,pins = "PG0";
169 + allwinner,function = "gpio_in";
170 + allwinner,drive = <0>;
171 + allwinner,pull = <1>;
172 + };
173 +
174 led_pins_olinuxino: led_pins@0 {
175 allwinner,pins = "PG9";
176 allwinner,function = "gpio_out";
177 diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
178 index 9612c52..63a35b8 100644
179 --- a/arch/arm/boot/dts/sun5i-a13.dtsi
180 +++ b/arch/arm/boot/dts/sun5i-a13.dtsi
181 @@ -281,6 +281,36 @@
182 #size-cells = <1>;
183 ranges;
184
185 + mmc0: mmc@01c0f000 {
186 + compatible = "allwinner,sun5i-a13-mmc";
187 + reg = <0x01c0f000 0x1000>;
188 + clocks = <&ahb_gates 8>, <&mmc0_clk>;
189 + clock-names = "ahb", "mod";
190 + interrupts = <32>;
191 + bus-width = <4>;
192 + status = "disabled";
193 + };
194 +
195 + mmc1: mmc@01c10000 {
196 + compatible = "allwinner,sun5i-a13-mmc";
197 + reg = <0x01c10000 0x1000>;
198 + clocks = <&ahb_gates 9>, <&mmc1_clk>;
199 + clock-names = "ahb", "mod";
200 + interrupts = <33>;
201 + bus-width = <4>;
202 + status = "disabled";
203 + };
204 +
205 + mmc2: mmc@01c11000 {
206 + compatible = "allwinner,sun5i-a13-mmc";
207 + reg = <0x01c11000 0x1000>;
208 + clocks = <&ahb_gates 10>, <&mmc2_clk>;
209 + clock-names = "ahb", "mod";
210 + interrupts = <34>;
211 + bus-width = <4>;
212 + status = "disabled";
213 + };
214 +
215 intc: interrupt-controller@01c20400 {
216 compatible = "allwinner,sun4i-ic";
217 reg = <0x01c20400 0x400>;
218 @@ -333,6 +363,13 @@
219 allwinner,drive = <0>;
220 allwinner,pull = <0>;
221 };
222 +
223 + mmc0_pins_a: mmc0@0 {
224 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
225 + allwinner,function = "mmc0";
226 + allwinner,drive = <3>;
227 + allwinner,pull = <0>;
228 + };
229 };
230
231 timer@01c20c00 {
232 --
233 1.8.5.5
234