Commit 9dda8d9a authored by Stefan Wahren's avatar Stefan Wahren Committed by Nicolas Saenz Julienne

ARM: dts: Move BCM2711 RPi specific into separate dtsi

There is a lot of Raspberry Pi specific stuff (neither SoC or board
specific) for the BCM2711 which is currently in the RPi 4 B dts. In order
to avoid copy & paste for every new BCM2711 based Raspberry Pi, move it
into a separate dtsi.
Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1622981777-5023-4-git-send-email-stefan.wahren@i2se.comSigned-off-by: default avatarNicolas Saenz Julienne <nsaenz@kernel.org>
parent f230c323
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
/dts-v1/; /dts-v1/;
#include "bcm2711.dtsi" #include "bcm2711.dtsi"
#include "bcm2835-rpi.dtsi" #include "bcm2711-rpi.dtsi"
#include "bcm283x-rpi-usb-peripheral.dtsi" #include "bcm283x-rpi-usb-peripheral.dtsi"
#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
/ { / {
compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
model = "Raspberry Pi 4 Model B"; model = "Raspberry Pi 4 Model B";
...@@ -15,19 +13,6 @@ chosen { ...@@ -15,19 +13,6 @@ chosen {
stdout-path = "serial1:115200n8"; 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 { leds {
act { act {
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
...@@ -79,31 +64,15 @@ &ddc1 { ...@@ -79,31 +64,15 @@ &ddc1 {
status = "okay"; status = "okay";
}; };
&firmware { &expgpio {
firmware_clocks: clocks { gpio-line-names = "BT_ON",
compatible = "raspberrypi,firmware-clocks"; "WL_ON",
#clock-cells = <1>; "PWR_LED_OFF",
}; "GLOBAL_RESET",
"VDD_SD_IO_SEL",
expgpio: gpio { "CAM_GPIO",
compatible = "raspberrypi,firmware-gpio"; "SD_PWR_ON",
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",
"";
status = "okay";
};
reset: reset {
compatible = "raspberrypi,firmware-reset";
#reset-cells = <1>;
};
}; };
&gpio { &gpio {
...@@ -180,23 +149,13 @@ &gpio { ...@@ -180,23 +149,13 @@ &gpio {
}; };
&hdmi0 { &hdmi0 {
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
clock-names = "hdmi", "bvb", "audio", "cec";
wifi-2.4ghz-coexistence;
status = "okay"; status = "okay";
}; };
&hdmi1 { &hdmi1 {
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
clock-names = "hdmi", "bvb", "audio", "cec";
wifi-2.4ghz-coexistence;
status = "okay"; status = "okay";
}; };
&hvs {
clocks = <&firmware_clocks 4>;
};
&pixelvalve0 { &pixelvalve0 {
status = "okay"; status = "okay";
}; };
...@@ -219,22 +178,6 @@ &pwm1 { ...@@ -219,22 +178,6 @@ &pwm1 {
status = "okay"; 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 is used to control the SDIO for wireless */
&sdhci { &sdhci {
#address-cells = <1>; #address-cells = <1>;
...@@ -309,10 +252,6 @@ &uart1 { ...@@ -309,10 +252,6 @@ &uart1 {
status = "okay"; status = "okay";
}; };
&vchiq {
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
};
&vc4 { &vc4 {
status = "okay"; status = "okay";
}; };
......
// SPDX-License-Identifier: GPL-2.0
#include "bcm2835-rpi.dtsi"
#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
/ {
/* Will be filled by the bootloader */
memory@0 {
device_type = "memory";
reg = <0 0 0>;
};
aliases {
emmc2bus = &emmc2bus;
ethernet0 = &genet;
pcie0 = &pcie0;
blconfig = &blconfig;
};
};
&firmware {
firmware_clocks: clocks {
compatible = "raspberrypi,firmware-clocks";
#clock-cells = <1>;
};
expgpio: gpio {
compatible = "raspberrypi,firmware-gpio";
gpio-controller;
#gpio-cells = <2>;
status = "okay";
};
reset: reset {
compatible = "raspberrypi,firmware-reset";
#reset-cells = <1>;
};
};
&hdmi0 {
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
clock-names = "hdmi", "bvb", "audio", "cec";
wifi-2.4ghz-coexistence;
};
&hdmi1 {
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
clock-names = "hdmi", "bvb", "audio", "cec";
wifi-2.4ghz-coexistence;
};
&hvs {
clocks = <&firmware_clocks 4>;
};
&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";
};
};
&vchiq {
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment