1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
From 3ef2bbe381adc17d135f8f9b22a43a242eb80c63 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 30 Jan 2020 09:47:00 +0000
Subject: [PATCH] ARM: dts: Add sd_poll_once dtparam to bcm283x/2711
The old sdtweak overlay allowed the SD interface to be effectively
disabled unless there was a card present at boot time, but that
overlay doesn't work on bcm2711 and has largely been replaced by
a set of sd_* dtparams (which have the advantage of being board-
specific.
Add an sd_poll_once dtparam to allow the same functionality on
all Raspberry Pi boards.
See: https://github.com/raspberrypi/linux/issues/3286
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
arch/arm/boot/dts/bcm2708-rpi.dtsi | 1 +
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 ++
arch/arm/boot/dts/overlays/README | 7 +++++++
3 files changed, 10 insertions(+)
--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi
@@ -92,6 +92,7 @@
watchdog = <&watchdog>,"status";
random = <&random>,"status";
sd_overclock = <&sdhost>,"brcm,overclock-50:0";
+ sd_poll_once = <&sdhost>,"non-removable?";
sd_force_pio = <&sdhost>,"brcm,force-pio?";
sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
sd_debug = <&sdhost>,"brcm,debug";
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
@@ -363,5 +363,7 @@
eth_led0 = <&phy1>,"led-modes:0";
eth_led1 = <&phy1>,"led-modes:4";
+
+ sd_poll_once = <&emmc2>, "non-removable?";
};
};
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -165,6 +165,13 @@ Params:
sd_overclock Clock (in MHz) to use when the MMC framework
requests 50MHz
+ sd_poll_once Looks for a card once after booting. Useful
+ for network booting scenarios to avoid the
+ overhead of continuous polling. N.B. Using
+ this option restricts the system to using a
+ single card per boot (or none at all).
+ (default off)
+
sd_force_pio Disable DMA support for SD driver (default off)
sd_pio_limit Number of blocks above which to use DMA for
|