aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0577-ARM-dts-Update-rpi-400-and-cm4-dts-to-match-4-b.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0577-ARM-dts-Update-rpi-400-and-cm4-dts-to-match-4-b.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0577-ARM-dts-Update-rpi-400-and-cm4-dts-to-match-4-b.patch334
1 files changed, 334 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0577-ARM-dts-Update-rpi-400-and-cm4-dts-to-match-4-b.patch b/target/linux/bcm27xx/patches-5.15/950-0577-ARM-dts-Update-rpi-400-and-cm4-dts-to-match-4-b.patch
new file mode 100644
index 0000000000..6aabb715dd
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.15/950-0577-ARM-dts-Update-rpi-400-and-cm4-dts-to-match-4-b.patch
@@ -0,0 +1,334 @@
+From 34e658087e54db26ebd86f86a1549a393002a9ad Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.com>
+Date: Fri, 26 Nov 2021 15:20:06 +0000
+Subject: [PATCH] ARM: dts: Update rpi-400 and cm4 dts to match 4-b
+
+The Pi 4B dts file has had numerous updates since the Pi 400 and CM4
+dts files were written. Apply those updates to the other files to
+minimise the differences. The change is largely cosmetic, except for
+the PCI "device-type" to "device_type" rename, and the correction of
+the labels on the Pi 400 GPIO expander pins.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.com>
+---
+ arch/arm/boot/dts/bcm2711-rpi-400.dts | 90 ++++--------------------
+ arch/arm/boot/dts/bcm2711-rpi-cm4.dts | 98 ++++++---------------------
+ 2 files changed, 36 insertions(+), 152 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm2711-rpi-400.dts
++++ b/arch/arm/boot/dts/bcm2711-rpi-400.dts
+@@ -1,9 +1,8 @@
+ // SPDX-License-Identifier: GPL-2.0
+ /dts-v1/;
+ #include "bcm2711.dtsi"
+-#include "bcm2835-rpi.dtsi"
+-
+-#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
++#include "bcm2711-rpi.dtsi"
++//#include "bcm283x-rpi-usb-peripheral.dtsi"
+
+ / {
+ compatible = "raspberrypi,400", "brcm,bcm2711";
+@@ -14,19 +13,6 @@
+ stdout-path = "serial1:115200n8";
+ };
+
+- /* Will be filled by the bootloader */
+- memory@0 {
+- device_type = "memory";
+- reg = <0 0 0>;
+- };
+-
+- aliases {
+- emmc2bus = &emmc2bus;
+- ethernet0 = &genet;
+- pcie0 = &pcie0;
+- blconfig = &blconfig;
+- };
+-
+ leds {
+ led-act {
+ gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
+@@ -54,8 +40,8 @@
+ regulator-always-on;
+ regulator-settling-time-us = <5000>;
+ gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
+- states = <1800000 0x1
+- 3300000 0x0>;
++ states = <1800000 0x1>,
++ <3300000 0x0>;
+ status = "okay";
+ };
+
+@@ -78,31 +64,15 @@
+ status = "okay";
+ };
+
+-&firmware {
+- firmware_clocks: clocks {
+- compatible = "raspberrypi,firmware-clocks";
+- #clock-cells = <1>;
+- };
+-
+- expgpio: gpio {
+- compatible = "raspberrypi,firmware-gpio";
+- gpio-controller;
+- #gpio-cells = <2>;
+- gpio-line-names = "BT_ON",
+- "WL_ON",
+- "PWR_LED_OFF",
+- "GLOBAL_RESET",
+- "VDD_SD_IO_SEL",
+- "CAM_GPIO",
+- "SD_PWR_ON",
+- "SD_OC_N";
+- status = "okay";
+- };
+-
+- reset: reset {
+- compatible = "raspberrypi,firmware-reset";
+- #reset-cells = <1>;
+- };
++&expgpio {
++ gpio-line-names = "BT_ON",
++ "WL_ON",
++ "PWR_LED_OFF",
++ "GLOBAL_RESET",
++ "VDD_SD_IO_SEL",
++ "GLOBAL_SHUTDOWN",
++ "SD_PWR_ON",
++ "SHUTDOWN_REQUEST";
+ };
+
+ &gpio {
+@@ -179,23 +149,13 @@
+ };
+
+ &hdmi0 {
+- clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
+- clock-names = "hdmi", "bvb", "audio", "cec";
+- wifi-2.4ghz-coexistence;
+ status = "okay";
+ };
+
+ &hdmi1 {
+- clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
+- clock-names = "hdmi", "bvb", "audio", "cec";
+- wifi-2.4ghz-coexistence;
+ status = "okay";
+ };
+
+-&hvs {
+- clocks = <&firmware_clocks 4>;
+-};
+-
+ &pixelvalve0 {
+ status = "okay";
+ };
+@@ -218,22 +178,6 @@
+ status = "okay";
+ };
+
+-&rmem {
+- /*
+- * RPi4's co-processor will copy the board's bootloader configuration
+- * into memory for the OS to consume. It'll also update this node with
+- * its placement information.
+- */
+- blconfig: nvram@0 {
+- compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
+- #address-cells = <1>;
+- #size-cells = <1>;
+- reg = <0x0 0x0 0x0>;
+- no-map;
+- status = "disabled";
+- };
+-};
+-
+ /* SDHCI is used to control the SDIO for wireless */
+ &sdhci {
+ #address-cells = <1>;
+@@ -274,7 +218,7 @@
+
+ &pcie0 {
+ pci@0,0 {
+- device-type = "pci";
++ device_type = "pci";
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+@@ -282,7 +226,7 @@
+ reg = <0 0 0 0 0>;
+
+ usb@0,0 {
+- reg = <0x0 0 0 0 0>;
++ reg = <0 0 0 0 0>;
+ resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
+ };
+ };
+@@ -309,10 +253,6 @@
+ status = "okay";
+ };
+
+-&vchiq {
+- interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+-};
+-
+ &vc4 {
+ status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
++++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
+@@ -1,9 +1,8 @@
+ // SPDX-License-Identifier: GPL-2.0
+ /dts-v1/;
+ #include "bcm2711.dtsi"
+-#include "bcm2835-rpi.dtsi"
+-
+-#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
++#include "bcm2711-rpi.dtsi"
++//#include "bcm283x-rpi-usb-peripheral.dtsi"
+
+ / {
+ compatible = "raspberrypi,4-compute-module", "brcm,bcm2711";
+@@ -14,19 +13,6 @@
+ stdout-path = "serial1:115200n8";
+ };
+
+- /* Will be filled by the bootloader */
+- memory@0 {
+- device_type = "memory";
+- reg = <0 0 0>;
+- };
+-
+- aliases {
+- emmc2bus = &emmc2bus;
+- ethernet0 = &genet;
+- pcie0 = &pcie0;
+- blconfig = &blconfig;
+- };
+-
+ leds {
+ led-act {
+ gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
+@@ -54,8 +40,8 @@
+ regulator-always-on;
+ regulator-settling-time-us = <5000>;
+ gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
+- states = <1800000 0x1
+- 3300000 0x0>;
++ states = <1800000 0x1>,
++ <3300000 0x0>;
+ status = "okay";
+ };
+
+@@ -78,42 +64,26 @@
+ status = "okay";
+ };
+
+-&firmware {
+- firmware_clocks: clocks {
+- compatible = "raspberrypi,firmware-clocks";
+- #clock-cells = <1>;
+- };
+-
+- expgpio: gpio {
+- compatible = "raspberrypi,firmware-gpio";
+- gpio-controller;
+- #gpio-cells = <2>;
+- gpio-line-names = "BT_ON",
+- "WL_ON",
+- "PWR_LED_OFF",
+- "ANT1",
+- "VDD_SD_IO_SEL",
+- "CAM_GPIO",
+- "SD_PWR_ON",
+- "ANT2";
+- status = "okay";
+-
+- ant1: ant1 {
+- gpio-hog;
+- gpios = <3 GPIO_ACTIVE_HIGH>;
+- output-high;
+- };
+-
+- ant2: ant2 {
+- gpio-hog;
+- gpios = <7 GPIO_ACTIVE_HIGH>;
+- output-low;
+- };
+- };
+-
+- reset: reset {
+- compatible = "raspberrypi,firmware-reset";
+- #reset-cells = <1>;
++&expgpio {
++ gpio-line-names = "BT_ON",
++ "WL_ON",
++ "PWR_LED_OFF",
++ "ANT1",
++ "VDD_SD_IO_SEL",
++ "CAM_GPIO",
++ "SD_PWR_ON",
++ "ANT2";
++
++ ant1: ant1 {
++ gpio-hog;
++ gpios = <3 GPIO_ACTIVE_HIGH>;
++ output-high;
++ };
++
++ ant2: ant2 {
++ gpio-hog;
++ gpios = <7 GPIO_ACTIVE_HIGH>;
++ output-low;
+ };
+ };
+
+@@ -191,23 +161,13 @@
+ };
+
+ &hdmi0 {
+- clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
+- clock-names = "hdmi", "bvb", "audio", "cec";
+- wifi-2.4ghz-coexistence;
+ status = "okay";
+ };
+
+ &hdmi1 {
+- clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
+- clock-names = "hdmi", "bvb", "audio", "cec";
+- wifi-2.4ghz-coexistence;
+ status = "okay";
+ };
+
+-&hvs {
+- clocks = <&firmware_clocks 4>;
+-};
+-
+ &pixelvalve0 {
+ status = "okay";
+ };
+@@ -230,22 +190,6 @@
+ status = "okay";
+ };
+
+-&rmem {
+- /*
+- * RPi4's co-processor will copy the board's bootloader configuration
+- * into memory for the OS to consume. It'll also update this node with
+- * its placement information.
+- */
+- blconfig: nvram@0 {
+- compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
+- #address-cells = <1>;
+- #size-cells = <1>;
+- reg = <0x0 0x0 0x0>;
+- no-map;
+- status = "disabled";
+- };
+-};
+-
+ /* SDHCI is used to control the SDIO for wireless */
+ &sdhci {
+ #address-cells = <1>;