Unverified Commit 3a3907c4 authored by Florian Fainelli's avatar Florian Fainelli
Browse files

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
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ properties:
      - description: BCM2711 based Boards
        items:
          - enum:
              - raspberrypi,400
              - raspberrypi,4-model-b
          - const: brcm,bcm2711

+1 −0
Original line number Diff line number Diff line
@@ -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
+12 −73
Original line number Diff line number Diff line
// 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,16 +64,7 @@ &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>;
&expgpio {
	gpio-line-names = "BT_ON",
			  "WL_ON",
			  "PWR_LED_OFF",
@@ -97,13 +73,6 @@ expgpio: gpio {
			  "CAM_GPIO",
			  "SD_PWR_ON",
			  "";
		status = "okay";
	};

	reset: reset {
		compatible = "raspberrypi,firmware-reset";
		#reset-cells = <1>;
	};
};

&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";
};
+45 −0
Original line number Diff line number Diff line
// 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;
};
+74 −0
Original line number Diff line number Diff line
// 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>;
};
Loading