diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-16 23:40:32 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-17 15:11:22 +0200 |
commit | 20ea6adbf199097c4f5f591ffee088340630dae4 (patch) | |
tree | d6719d95e136611a1c25bbf7789652d6d402779d /target/linux/bcm27xx/patches-5.15/950-0577-ARM-dts-Update-rpi-400-and-cm4-dts-to-match-4-b.patch | |
parent | bca05bd072180dc38ef740b37ded9572a6db1981 (diff) | |
download | upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.gz upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.bz2 upstream-20ea6adbf199097c4f5f591ffee088340630dae4.zip |
bcm27xx: add support for linux v5.15
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B
Signed-off-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
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.patch | 334 |
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>; |