60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From d7044f06dea839c61a01e6016a4b9dee15543f8d 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
 | 
						|
@@ -349,5 +349,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
 |