Commit 3a3907c4 authored by Florian Fainelli's avatar Florian Fainelli

Merge tag 'tags/bcm2835-dt-next-2021-06-08-v2' into devicetree/next

- Fixup MMC node names
- Fixup led node names
- Introduce new devicetree file for Raspberry Pi 400
- Introduce devicetree bindings for Raspberry Pi 400
- Fix issue with dwc2's FIFO's size
- Add VEC compatible for bcm2711
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
parents d5aede3e 21c6bf83
......@@ -18,6 +18,7 @@ properties:
- description: BCM2711 based Boards
items:
- enum:
- raspberrypi,400
- raspberrypi,4-model-b
- const: brcm,bcm2711
......
......@@ -88,6 +88,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2837-rpi-3-b.dtb \
bcm2837-rpi-3-b-plus.dtb \
bcm2837-rpi-cm3-io3.dtb \
bcm2711-rpi-400.dtb \
bcm2711-rpi-4-b.dtb \
bcm2835-rpi-zero.dtb \
bcm2835-rpi-zero-w.dtb
......
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
#include "bcm2711.dtsi"
#include "bcm2835-rpi.dtsi"
#include "bcm2711-rpi.dtsi"
#include "bcm283x-rpi-usb-peripheral.dtsi"
#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
/ {
compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
model = "Raspberry Pi 4 Model B";
......@@ -15,25 +13,12 @@ chosen {
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 {
act {
led-act {
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
};
pwr {
led-pwr {
label = "PWR";
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
......@@ -79,31 +64,15 @@ &ddc1 {
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",
"";
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",
"CAM_GPIO",
"SD_PWR_ON",
"";
};
&gpio {
......@@ -180,23 +149,13 @@ &gpio {
};
&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";
};
......@@ -219,22 +178,6 @@ &pwm1 {
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>;
......@@ -309,10 +252,6 @@ &uart1 {
status = "okay";
};
&vchiq {
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
};
&vc4 {
status = "okay";
};
......
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
#include "bcm2711-rpi-4-b.dts"
/ {
compatible = "raspberrypi,400", "brcm,bcm2711";
model = "Raspberry Pi 400";
chosen {
/* 8250 auxiliary UART instead of pl011 */
stdout-path = "serial1:115200n8";
};
leds {
/delete-node/ led-act;
led-pwr {
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
};
};
gpio-poweroff {
compatible = "gpio-poweroff";
gpios = <&expgpio 5 GPIO_ACTIVE_HIGH>;
};
};
&expgpio {
gpio-line-names = "BT_ON",
"WL_ON",
"",
"GLOBAL_RESET",
"VDD_SD_IO_SEL",
"CAM_GPIO",
"SD_PWR_ON",
"SD_OC_N";
};
&genet_mdio {
clock-frequency = <1950000>;
};
&pm {
/delete-property/ system-power-controller;
};
// 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>;
};
......@@ -413,7 +413,7 @@ emmc2bus: emmc2bus {
ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>;
dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>;
emmc2: emmc2@7e340000 {
emmc2: mmc@7e340000 {
compatible = "brcm,bcm2711-emmc2";
reg = <0x0 0x7e340000 0x100>;
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
......@@ -1087,5 +1087,6 @@ &usb {
};
&vec {
compatible = "brcm,bcm2711-vec";
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
};
......@@ -14,11 +14,11 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
};
pwr {
led-pwr {
label = "PWR";
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
default-state = "keep";
......
......@@ -14,7 +14,7 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
......
......@@ -15,11 +15,11 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
};
pwr {
led-pwr {
label = "PWR";
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
default-state = "keep";
......
......@@ -15,7 +15,7 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
......
......@@ -15,7 +15,7 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
......
......@@ -5,7 +5,7 @@
/ {
leds {
act {
led-act {
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
};
};
......
......@@ -23,7 +23,7 @@ chosen {
};
leds {
act {
led-act {
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
};
};
......
......@@ -18,7 +18,7 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
};
};
......
......@@ -4,7 +4,7 @@ / {
leds {
compatible = "gpio-leds";
act {
led-act {
label = "ACT";
default-state = "keep";
linux,default-trigger = "heartbeat";
......
......@@ -15,11 +15,11 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
};
pwr {
led-pwr {
label = "PWR";
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
default-state = "keep";
......
......@@ -19,11 +19,11 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
};
pwr {
led-pwr {
label = "PWR";
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
......
......@@ -20,11 +20,11 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
};
pwr {
led-pwr {
label = "PWR";
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
......
......@@ -20,7 +20,7 @@ memory@0 {
};
leds {
act {
led-act {
gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>;
};
};
......
......@@ -14,7 +14,7 @@ leds {
* Since there is no upstream GPIO driver yet,
* remove the incomplete node.
*/
/delete-node/ act;
/delete-node/ led-act;
};
reg_3v3: fixed-regulator {
......
// SPDX-License-Identifier: GPL-2.0
&usb {
dr_mode = "otg";
g-rx-fifo-size = <558>;
g-rx-fifo-size = <256>;
g-np-tx-fifo-size = <32>;
/*
* According to dwc2 the sum of all device EP
......
// SPDX-License-Identifier: GPL-2.0
&usb {
dr_mode = "peripheral";
g-rx-fifo-size = <558>;
g-rx-fifo-size = <256>;
g-np-tx-fifo-size = <32>;
g-tx-fifo-size = <256 256 512 512 512 768 768>;
};
......@@ -420,7 +420,7 @@ pwm: pwm@7e20c000 {
status = "disabled";
};
sdhci: sdhci@7e300000 {
sdhci: mmc@7e300000 {
compatible = "brcm,bcm2835-sdhci";
reg = <0x7e300000 0x100>;
interrupts = <2 30>;
......
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-4-b.dtb \
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
bcm2711-rpi-4-b.dtb \
bcm2837-rpi-3-a-plus.dtb \
bcm2837-rpi-3-b.dtb \
bcm2837-rpi-3-b-plus.dtb \
......
// SPDX-License-Identifier: GPL-2.0
#include "arm/bcm2711-rpi-400.dts"
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