1 From f6031fa472bf8ce9eaba902b00cd2af3d00f0fb4 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] BCM270X_DT: Add dtparams for the SD interface
6 Add new base dtparams sd_overclock, sd_force_pio, sd_pio_limit
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(-)
21 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
22 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
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";
33 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
34 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
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";
45 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts
46 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
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";
54 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
55 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
61 + sdhost_pins: sdhost_pins {
62 + brcm,pins = <48 49 50 51 52 53>;
63 + brcm,function = <4>; /* alt0 */
74 + core_freq = <&clk_core>,"clock-frequency:0";
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";
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";
89 --- a/arch/arm/boot/dts/bcm2708_common.dtsi
90 +++ b/arch/arm/boot/dts/bcm2708_common.dtsi
94 dma-names = "tx", "rx";
95 + brcm,overclock-50 = <0>;
102 dma-names = "tx", "rx";
103 + brcm,overclock-50 = <0>;
107 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
108 +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
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";
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")
125 + sd_overclock Clock (in MHz) to use when the MMC framework
128 + sd_force_pio Disable DMA support for SD driver (default off)
130 + sd_pio_limit Number of blocks above which to use DMA for
131 + SD card (default 1)
133 + sd_debug Enable debug output from SD driver (default off)
135 uart0 Set to "off" to disable uart0 (default "on")
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
142 - force_pio Disable DMA support
146 --- a/arch/arm/boot/dts/overlays/mmc-overlay.dts
147 +++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts
151 overclock_50 = <&frag0>,"brcm,overclock-50:0";
152 - force_pio = <&frag0>,"brcm,force-pio?";
155 --- a/arch/arm/boot/dts/overlays/sdhost-overlay.dts
156 +++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts
161 +/* Provide backwards compatible aliases for the old sdhost dtparams. */
164 compatible = "brcm,bcm2708";
169 - status = "disabled";
175 - frag1: __overlay__ {
176 + frag0: __overlay__ {
177 brcm,overclock-50 = <0>;
178 brcm,pio-limit = <1>;
179 brcm,debug-flags = <0>;
187 + status = "disabled";
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?";
203 --- a/arch/arm/boot/dts/overlays/sdtweak-overlay.dts
204 +++ b/arch/arm/boot/dts/overlays/sdtweak-overlay.dts
209 +/* Provide backwards compatible aliases for the old sdhost dtparams. */
212 compatible = "brcm,bcm2708";
216 - frag1: __overlay__ {
217 + frag0: __overlay__ {
218 brcm,overclock-50 = <0>;
219 brcm,pio-limit = <1>;
220 - brcm,debug-flags = <0>;
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?";