mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-12-20 02:18:37 +00:00
* Update RPi kernel to 6.12.20 Update to latest stable RPi kernel and remove unnecessary 6.6.y kernel config fragments. * Refresh RPi and Yellow patches Rebase all patches on 6.12.20, remove patches that are already present upstream. * Update Yellow device trees for 6.12.20 Upstream changes broke our downstream device trees. While the CM4 fix was trivial, there were more changes in the CM5 device tree due to adaptation to upstream code. To simplify future maintenance, DTS was refactored to reuse CM5 DTS include and override only what's necessary. * Bump buildroot to update to matching package/rpi-firmware * buildroot ead21eb6d2...cd82256125 (1): > package/rpi-firmware: bump version to f49a396 (1.20250326)
630 lines
13 KiB
Diff
630 lines
13 KiB
Diff
From 7305be1ecc97db67b0dc4a34cdf860cd1567f74e Mon Sep 17 00:00:00 2001
|
|
From: Stefan Agner <stefan@agner.ch>
|
|
Date: Mon, 11 Apr 2022 14:47:59 +0200
|
|
Subject: [PATCH] ARM: dts: bcm2711: Add device tree for Home Assistant Yellow
|
|
|
|
Add device tree for Home Assistant Yellow, a Compute Module 4 based I/O
|
|
board.
|
|
|
|
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
|
---
|
|
.../broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 587 ++++++++++++++++++
|
|
arch/arm64/boot/dts/broadcom/Makefile | 1 +
|
|
.../broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 1 +
|
|
3 files changed, 589 insertions(+)
|
|
create mode 100644 arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
|
|
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
|
|
|
|
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
|
|
new file mode 100644
|
|
index 0000000000000..f92936d7cf16b
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
|
|
@@ -0,0 +1,587 @@
|
|
+// SPDX-License-Identifier: GPL-2.0
|
|
+/dts-v1/;
|
|
+#define BCM2711
|
|
+#define i2c0 i2c0if
|
|
+#include "bcm2711.dtsi"
|
|
+#include "bcm283x-rpi-wifi-bt.dtsi"
|
|
+#undef i2c0
|
|
+#include "bcm270x.dtsi"
|
|
+#define i2c0 i2c0mux
|
|
+#include "bcm2711-rpi.dtsi"
|
|
+#undef i2c0
|
|
+//#include "bcm283x-rpi-usb-peripheral.dtsi"
|
|
+
|
|
+/ {
|
|
+ compatible = "raspberrypi,4-compute-module-ha-yellow", "raspberrypi,4-compute-module", "brcm,bcm2711";
|
|
+ model = "Raspberry Pi Compute Module 4 on Home Assistant Yellow";
|
|
+
|
|
+ chosen {
|
|
+ /* 8250 auxiliary UART instead of pl011 */
|
|
+ stdout-path = "serial1:115200n8";
|
|
+ };
|
|
+
|
|
+ leds {
|
|
+ led-act {
|
|
+ gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
|
+ };
|
|
+
|
|
+ led-pwr {
|
|
+ label = "PWR";
|
|
+ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
|
|
+ default-state = "keep";
|
|
+ linux,default-trigger = "default-on";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ sd_io_1v8_reg: sd_io_1v8_reg {
|
|
+ compatible = "regulator-gpio";
|
|
+ regulator-name = "vdd-sd-io";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <3300000>;
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ regulator-settling-time-us = <5000>;
|
|
+ gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
|
|
+ states = <1800000 0x1>,
|
|
+ <3300000 0x0>;
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
+ sd_vcc_reg: sd_vcc_reg {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcc-sd";
|
|
+ regulator-min-microvolt = <3300000>;
|
|
+ regulator-max-microvolt = <3300000>;
|
|
+ regulator-boot-on;
|
|
+ enable-active-high;
|
|
+ gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&bt {
|
|
+ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
|
|
+};
|
|
+
|
|
+&ddc0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&ddc1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&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;
|
|
+ };
|
|
+};
|
|
+
|
|
+&gpio {
|
|
+ /*
|
|
+ * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
|
|
+ * the official GPU firmware DT blob.
|
|
+ *
|
|
+ * Legend:
|
|
+ * "FOO" = GPIO line named "FOO" on the schematic
|
|
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
|
+ */
|
|
+ gpio-line-names = "ID_SDA",
|
|
+ "ID_SCL",
|
|
+ "SDA1",
|
|
+ "SCL1",
|
|
+ "GPIO_GCLK",
|
|
+ "GPIO5",
|
|
+ "GPIO6",
|
|
+ "SPI_CE1_N",
|
|
+ "SPI_CE0_N",
|
|
+ "SPI_MISO",
|
|
+ "SPI_MOSI",
|
|
+ "SPI_SCLK",
|
|
+ "GPIO12",
|
|
+ "GPIO13",
|
|
+ /* Serial port */
|
|
+ "TXD1",
|
|
+ "RXD1",
|
|
+ "GPIO16",
|
|
+ "GPIO17",
|
|
+ "GPIO18",
|
|
+ "GPIO19",
|
|
+ "GPIO20",
|
|
+ "GPIO21",
|
|
+ "GPIO22",
|
|
+ "GPIO23",
|
|
+ "GPIO24",
|
|
+ "GPIO25",
|
|
+ "GPIO26",
|
|
+ "GPIO27",
|
|
+ "RGMII_MDIO",
|
|
+ "RGMIO_MDC",
|
|
+ /* Used by BT module */
|
|
+ "CTS0",
|
|
+ "RTS0",
|
|
+ "TXD0",
|
|
+ "RXD0",
|
|
+ /* Used by Wifi */
|
|
+ "SD1_CLK",
|
|
+ "SD1_CMD",
|
|
+ "SD1_DATA0",
|
|
+ "SD1_DATA1",
|
|
+ "SD1_DATA2",
|
|
+ "SD1_DATA3",
|
|
+ /* Shared with SPI flash */
|
|
+ "PWM0_MISO",
|
|
+ "PWM1_MOSI",
|
|
+ "STATUS_LED_G_CLK",
|
|
+ "SPIFLASH_CE_N",
|
|
+ "SDA0",
|
|
+ "SCL0",
|
|
+ "RGMII_RXCLK",
|
|
+ "RGMII_RXCTL",
|
|
+ "RGMII_RXD0",
|
|
+ "RGMII_RXD1",
|
|
+ "RGMII_RXD2",
|
|
+ "RGMII_RXD3",
|
|
+ "RGMII_TXCLK",
|
|
+ "RGMII_TXCTL",
|
|
+ "RGMII_TXD0",
|
|
+ "RGMII_TXD1",
|
|
+ "RGMII_TXD2",
|
|
+ "RGMII_TXD3";
|
|
+};
|
|
+
|
|
+&hdmi0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&hdmi1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pixelvalve0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pixelvalve1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pixelvalve2 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pixelvalve4 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pwm1 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+/* EMMC2 is used to drive the EMMC card */
|
|
+&emmc2 {
|
|
+ bus-width = <8>;
|
|
+ vqmmc-supply = <&sd_io_1v8_reg>;
|
|
+ vmmc-supply = <&sd_vcc_reg>;
|
|
+ broken-cd;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&genet {
|
|
+ phy-handle = <&phy1>;
|
|
+ phy-mode = "rgmii-rxid";
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&genet_mdio {
|
|
+ phy1: ethernet-phy@0 {
|
|
+ /* No PHY interrupt */
|
|
+ reg = <0x0>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pcie0 {
|
|
+ pci@0,0 {
|
|
+ device_type = "pci";
|
|
+ #address-cells = <3>;
|
|
+ #size-cells = <2>;
|
|
+ ranges;
|
|
+
|
|
+ reg = <0 0 0 0 0>;
|
|
+ };
|
|
+};
|
|
+
|
|
+/* uart0 communicates with the BT module */
|
|
+&uart0 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
|
|
+ uart-has-rtscts;
|
|
+};
|
|
+
|
|
+/* uart1 is mapped to the pin header */
|
|
+&uart1 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&uart1_gpio14>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vc4 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vec {
|
|
+ status = "disabled";
|
|
+};
|
|
+
|
|
+&wifi_pwrseq {
|
|
+ reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
|
|
+};
|
|
+
|
|
+// =============================================
|
|
+// Downstream rpi- changes
|
|
+
|
|
+#include "bcm271x-rpi-bt.dtsi"
|
|
+
|
|
+/ {
|
|
+ soc {
|
|
+ /delete-node/ pixelvalve@7e807000;
|
|
+ /delete-node/ hdmi@7e902000;
|
|
+ };
|
|
+};
|
|
+
|
|
+#include "bcm2711-rpi-ds.dtsi"
|
|
+#include "bcm283x-rpi-csi0-2lane.dtsi"
|
|
+#include "bcm283x-rpi-csi1-4lane.dtsi"
|
|
+#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
|
+
|
|
+/ {
|
|
+ chosen {
|
|
+ bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0";
|
|
+ };
|
|
+
|
|
+ aliases {
|
|
+ serial0 = &uart1;
|
|
+ serial1 = &uart0;
|
|
+ mmc0 = &emmc2;
|
|
+ mmc1 = &mmcnr;
|
|
+ mmc2 = &sdhost;
|
|
+ i2c3 = &i2c3;
|
|
+ i2c4 = &i2c4;
|
|
+ i2c5 = &i2c5;
|
|
+ i2c6 = &i2c6;
|
|
+ i2c20 = &ddc0;
|
|
+ i2c21 = &ddc1;
|
|
+ spi3 = &spi3;
|
|
+ spi4 = &spi4;
|
|
+ spi5 = &spi5;
|
|
+ spi6 = &spi6;
|
|
+ /delete-property/ intc;
|
|
+ };
|
|
+
|
|
+ /delete-node/ wifi-pwrseq;
|
|
+};
|
|
+
|
|
+&mmcnr {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdio_pins>;
|
|
+ bus-width = <4>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&uart0 {
|
|
+ pinctrl-0 = <&uart0_pins &bt_pins>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&uart1 {
|
|
+ pinctrl-0 = <&uart1_pins>;
|
|
+};
|
|
+
|
|
+&spi0 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
|
|
+ cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
|
|
+
|
|
+ spidev0: spidev@0{
|
|
+ compatible = "spidev";
|
|
+ reg = <0>; /* CE0 */
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ spi-max-frequency = <125000000>;
|
|
+ };
|
|
+
|
|
+ spidev1: spidev@1{
|
|
+ compatible = "spidev";
|
|
+ reg = <1>; /* CE1 */
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ spi-max-frequency = <125000000>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&gpio {
|
|
+ spi0_pins: spi0_pins {
|
|
+ brcm,pins = <9 10 11>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
|
+ };
|
|
+
|
|
+ spi0_cs_pins: spi0_cs_pins {
|
|
+ brcm,pins = <8 7>;
|
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
|
+ };
|
|
+
|
|
+ spi3_pins: spi3_pins {
|
|
+ brcm,pins = <1 2 3>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
|
+ };
|
|
+
|
|
+ spi3_cs_pins: spi3_cs_pins {
|
|
+ brcm,pins = <0 24>;
|
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
|
+ };
|
|
+
|
|
+ spi4_pins: spi4_pins {
|
|
+ brcm,pins = <5 6 7>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
|
+ };
|
|
+
|
|
+ spi4_cs_pins: spi4_cs_pins {
|
|
+ brcm,pins = <4 25>;
|
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
|
+ };
|
|
+
|
|
+ spi5_pins: spi5_pins {
|
|
+ brcm,pins = <13 14 15>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
|
+ };
|
|
+
|
|
+ spi5_cs_pins: spi5_cs_pins {
|
|
+ brcm,pins = <12 26>;
|
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
|
+ };
|
|
+
|
|
+ spi6_pins: spi6_pins {
|
|
+ brcm,pins = <19 20 21>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
|
+ };
|
|
+
|
|
+ spi6_cs_pins: spi6_cs_pins {
|
|
+ brcm,pins = <18 27>;
|
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
|
+ };
|
|
+
|
|
+ i2c0_pins: i2c0 {
|
|
+ brcm,pins = <0 1>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
|
+ };
|
|
+
|
|
+ i2c1_pins: i2c1 {
|
|
+ brcm,pins = <2 3>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
|
+ };
|
|
+
|
|
+ i2c3_pins: i2c3 {
|
|
+ brcm,pins = <4 5>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
|
+ };
|
|
+
|
|
+ i2c4_pins: i2c4 {
|
|
+ brcm,pins = <8 9>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
|
+ };
|
|
+
|
|
+ i2c5_pins: i2c5 {
|
|
+ brcm,pins = <12 13>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
|
+ };
|
|
+
|
|
+ i2c6_pins: i2c6 {
|
|
+ brcm,pins = <22 23>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
|
+ };
|
|
+
|
|
+ i2s_pins: i2s {
|
|
+ brcm,pins = <18 19 20 21>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
|
+ };
|
|
+
|
|
+ sdio_pins: sdio_pins {
|
|
+ brcm,pins = <34 35 36 37 38 39>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT3>; // alt3 = SD1
|
|
+ brcm,pull = <0 2 2 2 2 2>;
|
|
+ };
|
|
+
|
|
+ bt_pins: bt_pins {
|
|
+ brcm,pins = "-"; // non-empty to keep btuart happy, //4 = 0
|
|
+ // to fool pinctrl
|
|
+ brcm,function = <0>;
|
|
+ brcm,pull = <2>;
|
|
+ };
|
|
+
|
|
+ uart0_pins: uart0_pins {
|
|
+ brcm,pins = <32 33>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
|
+ brcm,pull = <0 2>;
|
|
+ };
|
|
+
|
|
+ uart1_pins: uart1_pins {
|
|
+ brcm,pins;
|
|
+ brcm,function;
|
|
+ brcm,pull;
|
|
+ };
|
|
+
|
|
+ uart2_pins: uart2_pins {
|
|
+ brcm,pins = <0 1>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
|
+ brcm,pull = <0 2>;
|
|
+ };
|
|
+
|
|
+ uart3_pins: uart3_pins {
|
|
+ brcm,pins = <4 5>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
|
+ brcm,pull = <0 2>;
|
|
+ };
|
|
+
|
|
+ uart4_pins: uart4_pins {
|
|
+ brcm,pins = <8 9>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
|
+ brcm,pull = <0 2>;
|
|
+ };
|
|
+
|
|
+ uart5_pins: uart5_pins {
|
|
+ brcm,pins = <12 13>;
|
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
|
+ brcm,pull = <0 2>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c0if {
|
|
+ clock-frequency = <100000>;
|
|
+};
|
|
+
|
|
+&i2c1 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&i2c1_pins>;
|
|
+ clock-frequency = <100000>;
|
|
+};
|
|
+
|
|
+&i2s {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&i2s_pins>;
|
|
+};
|
|
+
|
|
+// =============================================
|
|
+// Board specific stuff here
|
|
+
|
|
+&pcie0 {
|
|
+ brcm,enable-l1ss;
|
|
+};
|
|
+
|
|
+&sdhost {
|
|
+ status = "disabled";
|
|
+};
|
|
+
|
|
+&phy1 {
|
|
+ led-modes = <0x00 0x08>; /* link/activity link */
|
|
+};
|
|
+
|
|
+&gpio {
|
|
+ audio_pins: audio_pins {
|
|
+ brcm,pins = <>;
|
|
+ brcm,function = <>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&leds {
|
|
+ act_led: led-act {
|
|
+ label = "led0";
|
|
+ default-state = "off";
|
|
+ linux,default-trigger = "mmc0";
|
|
+ gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
|
+ };
|
|
+
|
|
+ pwr_led: led-pwr {
|
|
+ label = "led1";
|
|
+ default-state = "off";
|
|
+ linux,default-trigger = "default-on";
|
|
+ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pwm1 {
|
|
+ status = "disabled";
|
|
+};
|
|
+
|
|
+&vchiq {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&audio_pins>;
|
|
+};
|
|
+
|
|
+cam0_reg: &cam1_reg {
|
|
+ gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>;
|
|
+};
|
|
+
|
|
+/ {
|
|
+ __overrides__ {
|
|
+ audio = <&chosen>,"bootargs{on='snd_bcm2835.enable_hdmi=1',off='snd_bcm2835.enable_hdmi=0'}";
|
|
+
|
|
+ act_led_gpio = <&act_led>,"gpios:4";
|
|
+ act_led_activelow = <&act_led>,"gpios:8";
|
|
+ act_led_trigger = <&act_led>,"linux,default-trigger";
|
|
+
|
|
+ pwr_led_gpio = <&pwr_led>,"gpios:4";
|
|
+ pwr_led_activelow = <&pwr_led>,"gpios:8";
|
|
+ pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
|
|
+
|
|
+ eth_led0 = <&phy1>,"led-modes:0";
|
|
+ eth_led1 = <&phy1>,"led-modes:4";
|
|
+
|
|
+ ant1 = <&ant1>,"output-high?=on",
|
|
+ <&ant1>, "output-low?=off",
|
|
+ <&ant2>, "output-high?=off",
|
|
+ <&ant2>, "output-low?=on";
|
|
+ ant2 = <&ant1>,"output-high?=off",
|
|
+ <&ant1>, "output-low?=on",
|
|
+ <&ant2>, "output-high?=on",
|
|
+ <&ant2>, "output-low?=off";
|
|
+ noant = <&ant1>,"output-high?=off",
|
|
+ <&ant1>, "output-low?=on",
|
|
+ <&ant2>, "output-high?=off",
|
|
+ <&ant2>, "output-low?=on";
|
|
+
|
|
+ sd_poll_once = <&emmc2>, "non-removable?";
|
|
+ spi_dma4 = <&spi0>, "dmas:0=", <&dma40>,
|
|
+ <&spi0>, "dmas:8=", <&dma40>;
|
|
+
|
|
+ cam0_reg = <&cam0_reg>,"status";
|
|
+ cam0_reg_gpio = <&cam0_reg>,"gpio:4",
|
|
+ <&cam0_reg>,"gpio:0=", <&gpio>;
|
|
+ cam1_reg = <&cam1_reg>,"status";
|
|
+ cam1_reg_gpio = <&cam1_reg>,"gpio:4",
|
|
+ <&cam1_reg>,"gpio:0=", <&gpio>;
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
|
|
index 25e4178447368..1388cc1164f96 100644
|
|
--- a/arch/arm64/boot/dts/broadcom/Makefile
|
|
+++ b/arch/arm64/boot/dts/broadcom/Makefile
|
|
@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-3-b-plus.dtb
|
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm0.dtb
|
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb
|
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb
|
|
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4-ha-yellow.dtb
|
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4s.dtb
|
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2712-rpi-5-b.dtb
|
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2712d0-rpi-5-b.dtb
|
|
diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
|
|
new file mode 100644
|
|
index 0000000000000..97ff67ade14d9
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
|
|
@@ -0,0 +1 @@
|
|
+#include "../../../../arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts"
|