brcm2708: update to latest patches from RPi Foundation
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0727-bcm2711-Retain-support-for-old-dtbs.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0727-bcm2711-Retain-support-for-old-dtbs.patch b/target/linux/brcm2708/patches-4.19/950-0727-bcm2711-Retain-support-for-old-dtbs.patch
new file mode 100644 (file)
index 0000000..14f086c
--- /dev/null
@@ -0,0 +1,55 @@
+From 7d7f6a80f12fb6e7ba903d070512970e304bcd02 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Wed, 9 Oct 2019 17:22:07 +0100
+Subject: [PATCH] bcm2711: Retain support for old dtbs
+
+The recent series switching to bcm2711 as the DT identifier broke Pis
+running with old DTBs. Add some bcm2838 compatible strings as a
+temporary measure, at least until the next full Raspbian image with
+bcm2711 DTBs.
+
+See: https://github.com/raspberrypi/linux/pull/3244
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/mach-bcm/board_bcm2835.c     | 2 ++
+ drivers/clk/bcm/clk-bcm2835.c         | 2 ++
+ drivers/pinctrl/bcm/pinctrl-bcm2835.c | 5 +++++
+ 3 files changed, 9 insertions(+)
+
+--- a/arch/arm/mach-bcm/board_bcm2835.c
++++ b/arch/arm/mach-bcm/board_bcm2835.c
+@@ -119,6 +119,8 @@ static const char * const bcm2835_compat
+       "brcm,bcm2836",
+       "brcm,bcm2837",
+       "brcm,bcm2711",
++      // Temporary, for backwards-compatibility with old DTBs
++      "brcm,bcm2838",
+ #endif
+       NULL
+ };
+--- a/drivers/clk/bcm/clk-bcm2835.c
++++ b/drivers/clk/bcm/clk-bcm2835.c
+@@ -2396,6 +2396,8 @@ static const struct cprman_plat_data cpr
+ static const struct of_device_id bcm2835_clk_of_match[] = {
+       { .compatible = "brcm,bcm2835-cprman", .data = &cprman_bcm2835_plat_data },
+       { .compatible = "brcm,bcm2711-cprman", .data = &cprman_bcm2711_plat_data },
++      // Temporary, for backwards-compatibility with old DTBs
++      { .compatible = "brcm,bcm2838-cprman", .data = &cprman_bcm2711_plat_data },
+       {}
+ };
+ MODULE_DEVICE_TABLE(of, bcm2835_clk_of_match);
+--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+@@ -1079,6 +1079,11 @@ static const struct of_device_id bcm2835
+               .compatible = "brcm,bcm2711-gpio",
+               .data = &bcm2711_pinconf_ops,
+       },
++      // Temporary, for backwards-compatibility with old DTBs
++      {
++              .compatible = "brcm,bcm2838-gpio",
++              .data = &bcm2711_pinconf_ops,
++      },
+       {}
+ };