brcm2708: update 4.1 patches
[openwrt/svn-archive/archive.git] / target / linux / brcm2708 / patches-4.1 / 0221-bcm270x_dt-Use-the-sdhost-MMC-controller-by-default.patch
1 From 702070d58bb61bcdcc46f28b6cef7f269ef14c3e Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Tue, 8 Dec 2015 16:23:33 +0000
4 Subject: [PATCH 221/222] bcm270x_dt: Use the sdhost MMC controller by default
5
6 The "mmc" overlay reverts to using the other controller.
7 ---
8 arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 11 ++++--
9 arch/arm/boot/dts/bcm2708-rpi-b.dts | 11 ++++--
10 arch/arm/boot/dts/bcm2708-rpi-cm.dtsi | 14 ++++++--
11 arch/arm/boot/dts/bcm2708_common.dtsi | 13 +++++++
12 arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 11 ++++--
13 arch/arm/boot/dts/overlays/mmc-overlay.dts | 22 +++++++++++-
14 arch/arm/boot/dts/overlays/sdhost-overlay.dts | 49 ++++++---------------------
15 arch/arm/boot/dts/overlays/sdio-overlay.dts | 1 -
16 8 files changed, 84 insertions(+), 48 deletions(-)
17
18 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
19 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
20 @@ -8,6 +8,11 @@
21 };
22
23 &gpio {
24 + sdhost_pins: sdhost_pins {
25 + brcm,pins = <48 49 50 51 52 53>;
26 + brcm,function = <4>; /* alt0 */
27 + };
28 +
29 spi0_pins: spi0_pins {
30 brcm,pins = <7 8 9 10 11>;
31 brcm,function = <4>; /* alt0 */
32 @@ -29,9 +34,11 @@
33 };
34 };
35
36 -&mmc {
37 - status = "okay";
38 +&sdhost {
39 + pinctrl-names = "default";
40 + pinctrl-0 = <&sdhost_pins>;
41 bus-width = <4>;
42 + status = "okay";
43 };
44
45 &fb {
46 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
47 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
48 @@ -8,6 +8,11 @@
49 };
50
51 &gpio {
52 + sdhost_pins: sdhost_pins {
53 + brcm,pins = <48 49 50 51 52 53>;
54 + brcm,function = <4>; /* alt0 */
55 + };
56 +
57 spi0_pins: spi0_pins {
58 brcm,pins = <7 8 9 10 11>;
59 brcm,function = <4>; /* alt0 */
60 @@ -29,9 +34,11 @@
61 };
62 };
63
64 -&mmc {
65 - status = "okay";
66 +&sdhost {
67 + pinctrl-names = "default";
68 + pinctrl-0 = <&sdhost_pins>;
69 bus-width = <4>;
70 + status = "okay";
71 };
72
73 &fb {
74 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
75 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
76 @@ -1,5 +1,12 @@
77 /include/ "bcm2708.dtsi"
78
79 +&gpio {
80 + sdhost_pins: sdhost_pins {
81 + brcm,pins = <48 49 50 51 52 53>;
82 + brcm,function = <4>; /* alt0 */
83 + };
84 +};
85 +
86 &leds {
87 act_led: act {
88 label = "led0";
89 @@ -8,9 +15,12 @@
90 };
91 };
92
93 -&mmc {
94 - status = "okay";
95 +&sdhost {
96 + pinctrl-names = "default";
97 + pinctrl-0 = <&sdhost_pins>;
98 bus-width = <4>;
99 + non-removable;
100 + status = "okay";
101 };
102
103 &fb {
104 --- a/arch/arm/boot/dts/bcm2708_common.dtsi
105 +++ b/arch/arm/boot/dts/bcm2708_common.dtsi
106 @@ -14,6 +14,7 @@
107 mailbox = &mailbox;
108 gpio = &gpio;
109 uart0 = &uart0;
110 + sdhost = &sdhost;
111 i2s = &i2s;
112 spi0 = &spi0;
113 i2c0 = &i2c0;
114 @@ -114,6 +115,18 @@
115 status = "disabled";
116 };
117
118 + sdhost: sdhost@7e202000 {
119 + compatible = "brcm,bcm2835-sdhost";
120 + reg = <0x7e202000 0x100>;
121 + interrupts = <2 24>;
122 + clocks = <&clk_core>;
123 + dmas = <&dma 13>,
124 + <&dma 13>;
125 + dma-names = "tx", "rx";
126 + brcm,pio-limit = <1>;
127 + status = "disabled";
128 + };
129 +
130 i2s: i2s@7e203000 {
131 compatible = "brcm,bcm2708-i2s";
132 reg = <0x7e203000 0x24>,
133 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
134 +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
135 @@ -8,6 +8,11 @@
136 };
137
138 &gpio {
139 + sdhost_pins: sdhost_pins {
140 + brcm,pins = <48 49 50 51 52 53>;
141 + brcm,function = <4>; /* alt0 */
142 + };
143 +
144 spi0_pins: spi0_pins {
145 brcm,pins = <7 8 9 10 11>;
146 brcm,function = <4>; /* alt0 */
147 @@ -29,9 +34,11 @@
148 };
149 };
150
151 -&mmc {
152 - status = "okay";
153 +&sdhost {
154 + pinctrl-names = "default";
155 + pinctrl-0 = <&sdhost_pins>;
156 bus-width = <4>;
157 + status = "okay";
158 };
159
160 &fb {
161 --- a/arch/arm/boot/dts/overlays/mmc-overlay.dts
162 +++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts
163 @@ -6,9 +6,29 @@
164
165 fragment@0 {
166 target = <&mmc>;
167 -
168 frag0: __overlay__ {
169 + pinctrl-names = "default";
170 + pinctrl-0 = <&mmc_pins>;
171 + bus-width = <4>;
172 brcm,overclock-50 = <0>;
173 + status = "okay";
174 + };
175 + };
176 +
177 + fragment@1 {
178 + target = <&gpio>;
179 + __overlay__ {
180 + mmc_pins: mmc_pins {
181 + brcm,pins = <48 49 50 51 52 53>;
182 + brcm,function = <7>; /* alt3 */
183 + };
184 + };
185 + };
186 +
187 + fragment@2 {
188 + target = <&sdhost>;
189 + __overlay__ {
190 + status = "disabled";
191 };
192 };
193
194 --- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts
195 +++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts
196 @@ -5,52 +5,25 @@
197 compatible = "brcm,bcm2708";
198
199 fragment@0 {
200 - target = <&soc>;
201 + target = <&mmc>;
202 __overlay__ {
203 - #address-cells = <1>;
204 - #size-cells = <1>;
205 -
206 - sdhost: sdhost@7e202000 {
207 - compatible = "brcm,bcm2835-sdhost";
208 - reg = <0x7e202000 0x100>;
209 - pinctrl-names = "default";
210 - pinctrl-0 = <&sdhost_pins>;
211 - interrupts = <2 24>;
212 - clocks = <&clk_core>;
213 - dmas = <&dma 13>,
214 - <&dma 13>;
215 - dma-names = "tx", "rx";
216 - brcm,delay-after-stop = <0>;
217 - brcm,overclock-50 = <0>;
218 - brcm,pio-limit = <1>;
219 - status = "okay";
220 - };
221 + status = "disabled";
222 };
223 };
224
225 fragment@1 {
226 - target = <&gpio>;
227 - __overlay__ {
228 - sdhost_pins: sdhost_pins {
229 - brcm,pins = <48 49 50 51 52 53>;
230 - brcm,function = <4>; /* alt0 */
231 - };
232 - };
233 - };
234 -
235 - fragment@2 {
236 - target = <&mmc>;
237 - __overlay__ {
238 - /* Find a way to disable the other driver */
239 - compatible = "";
240 - status = "disabled";
241 + target = <&sdhost>;
242 + frag1: __overlay__ {
243 + brcm,overclock-50 = <0>;
244 + brcm,pio-limit = <1>;
245 + status = "okay";
246 };
247 };
248
249 __overrides__ {
250 - overclock_50 = <&sdhost>,"brcm,overclock-50:0";
251 - force_pio = <&sdhost>,"brcm,force-pio?";
252 - pio_limit = <&sdhost>,"brcm,pio-limit:0";
253 - debug = <&sdhost>,"brcm,debug?";
254 + overclock_50 = <&frag1>,"brcm,overclock-50:0";
255 + force_pio = <&frag1>,"brcm,force-pio?";
256 + pio_limit = <&frag1>,"brcm,pio-limit:0";
257 + debug = <&frag1>,"brcm,debug?";
258 };
259 };
260 --- a/arch/arm/boot/dts/overlays/sdio-overlay.dts
261 +++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts
262 @@ -8,7 +8,6 @@
263 fragment@3 {
264 target = <&mmc>;
265 sdio_mmc: __overlay__ {
266 - compatible = "brcm,bcm2835-mmc";
267 pinctrl-names = "default";
268 pinctrl-0 = <&sdio_pins>;
269 non-removable;