0a2c12917ba1a60d2ae37cc2f81e0e58dc78eda7
[openwrt/svn-archive/archive.git] / target / linux / brcm2708 / patches-4.4 / 0150-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch
1 From 21e15ef5922cdfeb205a633f8720fde9d01fa074 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Fri, 12 Feb 2016 15:38:00 +0000
4 Subject: [PATCH 150/156] BCM270X_DT: Add dtparams for the SD interface
5
6 Add new base dtparams sd_overclock, sd_force_pio, sd_pio_limit
7 and sd_debug.
8 ---
9 arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 4 ++++
10 arch/arm/boot/dts/bcm2708-rpi-b.dts | 4 ++++
11 arch/arm/boot/dts/bcm2708-rpi-cm.dts | 1 -
12 arch/arm/boot/dts/bcm2708-rpi-cm.dtsi | 13 +++++++++++++
13 arch/arm/boot/dts/bcm2708_common.dtsi | 2 ++
14 arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 4 ++++
15 arch/arm/boot/dts/overlays/README | 11 ++++++++++-
16 arch/arm/boot/dts/overlays/mmc-overlay.dts | 1 -
17 arch/arm/boot/dts/overlays/sdhost-overlay.dts | 27 +++++++++++++-------------
18 arch/arm/boot/dts/overlays/sdtweak-overlay.dts | 14 ++++++-------
19 10 files changed, 58 insertions(+), 23 deletions(-)
20
21 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
22 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
23 @@ -141,5 +141,9 @@
24 audio = <&audio>,"status";
25 watchdog = <&watchdog>,"status";
26 random = <&random>,"status";
27 + sd_overclock = <&sdhost>,"brcm,overclock-50:0";
28 + sd_force_pio = <&sdhost>,"brcm,force-pio?";
29 + sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
30 + sd_debug = <&sdhost>,"brcm,debug";
31 };
32 };
33 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
34 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
35 @@ -131,5 +131,9 @@
36 audio = <&audio>,"status";
37 watchdog = <&watchdog>,"status";
38 random = <&random>,"status";
39 + sd_overclock = <&sdhost>,"brcm,overclock-50:0";
40 + sd_force_pio = <&sdhost>,"brcm,force-pio?";
41 + sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
42 + sd_debug = <&sdhost>,"brcm,debug";
43 };
44 };
45 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts
46 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
47 @@ -97,6 +97,5 @@
48 i2c0_baudrate = <&i2c0>,"clock-frequency:0";
49 i2c1_baudrate = <&i2c1>,"clock-frequency:0";
50 i2c2_baudrate = <&i2c2>,"clock-frequency:0";
51 - core_freq = <&clk_core>,"clock-frequency:0";
52 };
53 };
54 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
55 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
56 @@ -7,6 +7,13 @@
57 };
58 };
59
60 +&gpio {
61 + sdhost_pins: sdhost_pins {
62 + brcm,pins = <48 49 50 51 52 53>;
63 + brcm,function = <4>; /* alt0 */
64 + };
65 +};
66 +
67 &leds {
68 act_led: act {
69 label = "led0";
70 @@ -29,6 +36,8 @@
71
72 / {
73 __overrides__ {
74 + core_freq = <&clk_core>,"clock-frequency:0";
75 +
76 act_led_gpio = <&act_led>,"gpios:4";
77 act_led_activelow = <&act_led>,"gpios:8";
78 act_led_trigger = <&act_led>,"linux,default-trigger";
79 @@ -36,5 +45,9 @@
80 audio = <&audio>,"status";
81 watchdog = <&watchdog>,"status";
82 random = <&random>,"status";
83 + sd_overclock = <&sdhost>,"brcm,overclock-50:0";
84 + sd_force_pio = <&sdhost>,"brcm,force-pio?";
85 + sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
86 + sd_debug = <&sdhost>,"brcm,debug";
87 };
88 };
89 --- a/arch/arm/boot/dts/bcm2708_common.dtsi
90 +++ b/arch/arm/boot/dts/bcm2708_common.dtsi
91 @@ -135,6 +135,7 @@
92 dmas = <&dma 13>,
93 <&dma 13>;
94 dma-names = "tx", "rx";
95 + brcm,overclock-50 = <0>;
96 brcm,pio-limit = <1>;
97 status = "disabled";
98 };
99 @@ -203,6 +204,7 @@
100 dmas = <&dma 11>,
101 <&dma 11>;
102 dma-names = "tx", "rx";
103 + brcm,overclock-50 = <0>;
104 status = "disabled";
105 };
106
107 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
108 +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
109 @@ -141,5 +141,9 @@
110 audio = <&audio>,"status";
111 watchdog = <&watchdog>,"status";
112 random = <&random>,"status";
113 + sd_overclock = <&sdhost>,"brcm,overclock-50:0";
114 + sd_force_pio = <&sdhost>,"brcm,force-pio?";
115 + sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
116 + sd_debug = <&sdhost>,"brcm,debug";
117 };
118 };
119 --- a/arch/arm/boot/dts/overlays/README
120 +++ b/arch/arm/boot/dts/overlays/README
121 @@ -112,6 +112,16 @@ Params:
122 random Set to "on" to enable the hardware random
123 number generator (default "on")
124
125 + sd_overclock Clock (in MHz) to use when the MMC framework
126 + requests 50MHz
127 +
128 + sd_force_pio Disable DMA support for SD driver (default off)
129 +
130 + sd_pio_limit Number of blocks above which to use DMA for
131 + SD card (default 1)
132 +
133 + sd_debug Enable debug output from SD driver (default off)
134 +
135 uart0 Set to "off" to disable uart0 (default "on")
136
137 watchdog Set to "on" to enable the hardware watchdog
138 @@ -443,7 +453,6 @@ Info: Selects the bcm2835-mmc SD/MMC d
139 Load: dtoverlay=mmc,<param>=<val>
140 Params: overclock_50 Clock (in MHz) to use when the MMC framework
141 requests 50MHz
142 - force_pio Disable DMA support
143
144
145 Name: mz61581
146 --- a/arch/arm/boot/dts/overlays/mmc-overlay.dts
147 +++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts
148 @@ -34,6 +34,5 @@
149
150 __overrides__ {
151 overclock_50 = <&frag0>,"brcm,overclock-50:0";
152 - force_pio = <&frag0>,"brcm,force-pio?";
153 };
154 };
155 --- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts
156 +++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts
157 @@ -1,19 +1,14 @@
158 /dts-v1/;
159 /plugin/;
160
161 +/* Provide backwards compatible aliases for the old sdhost dtparams. */
162 +
163 /{
164 compatible = "brcm,bcm2708";
165
166 fragment@0 {
167 - target = <&mmc>;
168 - __overlay__ {
169 - status = "disabled";
170 - };
171 - };
172 -
173 - fragment@1 {
174 target = <&sdhost>;
175 - frag1: __overlay__ {
176 + frag0: __overlay__ {
177 brcm,overclock-50 = <0>;
178 brcm,pio-limit = <1>;
179 brcm,debug-flags = <0>;
180 @@ -21,11 +16,17 @@
181 };
182 };
183
184 + fragment@1 {
185 + target = <&mmc>;
186 + __overlay__ {
187 + status = "disabled";
188 + };
189 + };
190 +
191 __overrides__ {
192 - overclock_50 = <&frag1>,"brcm,overclock-50:0";
193 - force_pio = <&frag1>,"brcm,force-pio?";
194 - pio_limit = <&frag1>,"brcm,pio-limit:0";
195 - debug = <&frag1>,"brcm,debug?";
196 - debug_flags = <&frag1>,"brcm,debug-flags:0";
197 + overclock_50 = <&frag0>,"brcm,overclock-50:0";
198 + force_pio = <&frag0>,"brcm,force-pio?";
199 + pio_limit = <&frag0>,"brcm,pio-limit:0";
200 + debug = <&frag0>,"brcm,debug?";
201 };
202 };
203 --- a/arch/arm/boot/dts/overlays/sdtweak-overlay.dts
204 +++ b/arch/arm/boot/dts/overlays/sdtweak-overlay.dts
205 @@ -1,23 +1,23 @@
206 /dts-v1/;
207 /plugin/;
208
209 +/* Provide backwards compatible aliases for the old sdhost dtparams. */
210 +
211 /{
212 compatible = "brcm,bcm2708";
213
214 fragment@0 {
215 target = <&sdhost>;
216 - frag1: __overlay__ {
217 + frag0: __overlay__ {
218 brcm,overclock-50 = <0>;
219 brcm,pio-limit = <1>;
220 - brcm,debug-flags = <0>;
221 };
222 };
223
224 __overrides__ {
225 - overclock_50 = <&frag1>,"brcm,overclock-50:0";
226 - force_pio = <&frag1>,"brcm,force-pio?";
227 - pio_limit = <&frag1>,"brcm,pio-limit:0";
228 - debug = <&frag1>,"brcm,debug?";
229 - debug_flags = <&frag1>,"brcm,debug-flags:0";
230 + overclock_50 = <&frag0>,"brcm,overclock-50:0";
231 + force_pio = <&frag0>,"brcm,force-pio?";
232 + pio_limit = <&frag0>,"brcm,pio-limit:0";
233 + debug = <&frag0>,"brcm,debug?";
234 };
235 };