brcm2708: update to latest patches from RPi foundation
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.19 / 950-0811-ARM-dts-Add-sd_poll_once-dtparam-to-bcm283x-2711.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0811-ARM-dts-Add-sd_poll_once-dtparam-to-bcm283x-2711.patch b/target/linux/brcm2708/patches-4.19/950-0811-ARM-dts-Add-sd_poll_once-dtparam-to-bcm283x-2711.patch
new file mode 100644 (file)
index 0000000..449380b
--- /dev/null
@@ -0,0 +1,59 @@
+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