[PATCH v6 07/25] arm: rpi: Add a devicetree file for rpi_4

Mark Kettenis mark.kettenis at xs4all.nl
Thu Dec 2 18:34:03 CET 2021


> From: Simon Glass <sjg at chromium.org>
> Date: Thu,  2 Dec 2021 08:59:01 -0700
> 
> Add this file, obtained from the Raspbian boot disk, so there is a
> reference devicetree in the U-Boot tree. The same one is used for
> 32- and 64-bit variants.
> 
> Note that U-Boot does not normally need this at runtime, since
> CONFIG_OF_BOARD is enabled. The previous firmware stage provides a
> devicetree at runtime.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
> (no changes since v1)
> 
>  arch/arm/dts/Makefile            |    3 +-
>  arch/arm/dts/bcm2711-rpi-4-b.dts | 1958 ++++++++++++++++++++++++++++++
>  configs/rpi_4_32b_defconfig      |    1 +
>  configs/rpi_4_defconfig          |    1 +
>  configs/rpi_arm64_defconfig      |    1 +
>  5 files changed, 1963 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/dts/bcm2711-rpi-4-b.dts
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 2d92b2f940d..9cddab37207 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -1077,7 +1077,8 @@ dtb-$(CONFIG_ARCH_BCM283X) += \
>  	bcm2837-rpi-3-a-plus.dtb \
>  	bcm2837-rpi-3-b.dtb \
>  	bcm2837-rpi-3-b-plus.dtb \
> -	bcm2837-rpi-cm3-io3.dtb
> +	bcm2837-rpi-cm3-io3.dtb \
> +	bcm2711-rpi-4-b.dtb
>  
>  dtb-$(CONFIG_ARCH_BCM63158) += \
>  	bcm963158.dtb
> diff --git a/arch/arm/dts/bcm2711-rpi-4-b.dts b/arch/arm/dts/bcm2711-rpi-4-b.dts
> new file mode 100644
> index 00000000000..425e9fb91c4
> --- /dev/null
> +++ b/arch/arm/dts/bcm2711-rpi-4-b.dts
> @@ -0,0 +1,1958 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * Sample device tree for rpi_4
> +
> + * Copyright 2021 Google LLC
> + */

This is of course an utter lie.  This wasn't written from scratch by a
Google employee.

The original copyright and license for the dtb files you
"disassembled" applies.  You don't specify exactly where you obtained
the file from, but it probably came from here:

  https://github.com/raspberrypi/firmware

And the README.md for that repo states that:

  "The dtbs, overlays and associated README are built from Linux
   kernel sources, released under the GPL (see boot/COPYING.linux)"

They're probably talking about their own fork of the Linux kernel
sources here as there are still differences between their device trees
and the the device trees in the official Linux tree.  But if you
insist on having a device tree in the U-Boot tree, that's where you
should look.

> +
> +/dts-v1/;
> +
> +/memreserve/	0x0000000000000000 0x0000000000001000;
> +/ {
> +	compatible = "raspberrypi,4-model-b\0brcm,bcm2838\0brcm,bcm2837";
> +	model = "Raspberry Pi 4 Model B";
> +	interrupt-parent = <0x01>;
> +	#address-cells = <0x02>;
> +	#size-cells = <0x01>;
> +
> +	aliases {
> +		serial0 = "/soc/serial at 7e215040";
> +		serial1 = "/soc/serial at 7e201000";
> +		audio = "/soc/audio";
> +		aux = "/soc/aux at 7e215000";
> +		sound = "/soc/sound";
> +		soc = "/soc";
> +		dma = "/soc/dma at 7e007000";
> +		watchdog = "/soc/watchdog at 7e100000";
> +		random = "/soc/rng at 7e104000";
> +		mailbox = "/soc/mailbox at 7e00b880";
> +		gpio = "/soc/gpio at 7e200000";
> +		uart0 = "/soc/serial at 7e201000";
> +		sdhost = "/soc/mmc at 7e202000";
> +		mmc0 = "/soc/emmc2 at 7e340000";
> +		i2s = "/soc/i2s at 7e203000";
> +		spi0 = "/soc/spi at 7e204000";
> +		i2c0 = "/soc/i2c at 7e205000";
> +		uart1 = "/soc/serial at 7e215040";
> +		spi1 = "/soc/spi at 7e215080";
> +		spi2 = "/soc/spi at 7e2150c0";
> +		mmc = "/soc/mmc at 7e300000";
> +		mmc1 = "/soc/mmcnr at 7e300000";
> +		i2c1 = "/soc/i2c at 7e804000";
> +		i2c2 = "/soc/i2c at 7e805000";
> +		usb = "/soc/usb at 7e980000";
> +		leds = "/leds";
> +		fb = "/soc/fb";
> +		thermal = "/soc/thermal at 7d5d2200";
> +		axiperf = "/soc/axiperf";
> +		mmc2 = "/soc/mmc at 7e202000";
> +		ethernet0 = "/scb/genet at 7d580000";
> +	};
> +
> +	chosen {
> +		bootargs = "8250.nr_uarts=1 cma=64M";
> +	};
> +
> +	thermal-zones {
> +
> +		cpu-thermal {
> +			polling-delay-passive = <0x00>;
> +			polling-delay = <0x3e8>;
> +			thermal-sensors = <0x02>;
> +			coefficients = <0xfffffe19 0x641b8>;
> +			phandle = <0x2f>;
> +
> +			cooling-maps {
> +			};
> +		};
> +	};
> +
> +	soc {
> +		compatible = "simple-bus";
> +		#address-cells = <0x01>;
> +		#size-cells = <0x01>;
> +		ranges = <0x7e000000 0x00 0xfe000000 0x1800000
> +			0x7c000000 0x00 0xfc000000 0x2000000
> +			0x40000000 0x00 0xff800000 0x800000>;
> +		dma-ranges = <0xc0000000 0x00 0x00 0x3c000000>;
> +		phandle = <0x30>;
> +
> +		txp at 7e004000 {
> +			compatible = "brcm,bcm2835-txp";
> +			reg = <0x7e004000 0x20>;
> +			interrupts = <0x00 0x4b 0x04>;
> +			status = "disabled";
> +			phandle = <0x31>;
> +		};
> +
> +		dma at 7e007000 {
> +			compatible = "brcm,bcm2835-dma";
> +			reg = <0x7e007000 0xb00>;
> +			interrupts = <0x00 0x50 0x04 0x00 0x51 0x04 0x00 0x52
> +				0x04 0x00 0x53 0x04 0x00 0x54 0x04 0x00
> +				0x55 0x04 0x00 0x56 0x04 0x00 0x57 0x04
> +				0x00 0x57 0x04 0x00 0x58 0x04 0x00 0x58
> +				0x04>;
> +			interrupt-names = "dma0\0dma1\0dma2\0dma3\0dma4\0dma5\0dma6\0dma7\0dma8\0dma9\0dma10";
> +			#dma-cells = <0x01>;
> +			brcm,dma-channel-mask = <0x7ef5>;
> +			phandle = <0x0a>;
> +		};
> +
> +		watchdog at 7e100000 {
> +			compatible = "brcm,bcm2835-pm\0brcm,bcm2835-pm-wdt";
> +			#power-domain-cells = <0x01>;
> +			#reset-cells = <0x01>;
> +			reg = <0x7e100000 0x114 0x7e00a000 0x24 0x7ec11000 0x20>;
> +			clocks = <0x03 0x15 0x03 0x1d 0x03 0x17 0x03 0x16>;
> +			clock-names = "v3d\0peri_image\0h264\0isp";
> +			system-power-controller;
> +			phandle = <0x1c>;
> +		};
> +
> +		cprman at 7e101000 {
> +			compatible = "brcm,bcm2838-cprman";
> +			#clock-cells = <0x01>;
> +			reg = <0x7e101000 0x2000>;
> +			clocks = <0x04 0x05 0x00 0x05 0x01 0x05 0x02 0x06
> +				 0x00 0x06 0x01 0x06 0x02>;
> +			firmware = <0x07>;
> +			phandle = <0x03>;
> +		};
> +
> +		rng at 7e104000 {
> +			compatible = "brcm,bcm2838-rng200";
> +			reg = <0x7e104000 0x10>;
> +			interrupts = <0x00 0x7d 0x04>;
> +			phandle = <0x26>;
> +		};
> +
> +		mailbox at 7e00b880 {
> +			compatible = "brcm,bcm2835-mbox";
> +			reg = <0x7e00b880 0x40>;
> +			interrupts = <0x00 0x21 0x04>;
> +			#mbox-cells = <0x00>;
> +			phandle = <0x1a>;
> +		};
> +
> +		gpio: gpio at 7e200000 {
> +			compatible = "brcm,bcm2835-gpio";
> +			reg = <0x7e200000 0xb4>;
> +			interrupts = <0x00 0x71 0x04 0x00 0x72 0x04>;
> +			gpio-controller;
> +			#gpio-cells = <0x02>;
> +			interrupt-controller;
> +			#interrupt-cells = <0x02>;
> +			phandle = <0x0f>;
> +
> +			dpi_gpio0 {
> +				brcm,pins = <0x00 0x01 0x02 0x03 0x04
> +					0x05 0x06 0x07 0x08 0x09
> +					0x0a 0x0b 0x0c 0x0d 0x0e
> +					0x0f 0x10 0x11 0x12 0x13
> +					0x14 0x15 0x16 0x17 0x18
> +					0x19 0x1a 0x1b>;
> +				brcm,function = <0x06>;
> +				phandle = <0x32>;
> +			};
> +
> +			emmc_gpio22 {
> +				brcm,pins = <0x16 0x17 0x18 0x19 0x1a 0x1b>;
> +				brcm,function = <0x07>;
> +				phandle = <0x33>;
> +			};
> +
> +			emmc_gpio34 {
> +				brcm,pins = <0x22 0x23 0x24 0x25 0x26 0x27>;
> +				brcm,function = <0x07>;
> +				brcm,pull = <0x00 0x02 0x02 0x02 0x02 0x02>;
> +				phandle = <0x34>;
> +			};
> +
> +			emmc_gpio48 {
> +				brcm,pins = <0x30 0x31 0x32 0x33 0x34 0x35>;
> +				brcm,function = <0x07>;
> +				phandle = <0x35>;
> +			};
> +
> +			gpclk0_gpio4 {
> +				brcm,pins = <0x04>;
> +				brcm,function = <0x04>;
> +				phandle = <0x36>;
> +			};
> +
> +			gpclk1_gpio5 {
> +				brcm,pins = <0x05>;
> +				brcm,function = <0x04>;
> +				phandle = <0x37>;
> +			};
> +
> +			gpclk1_gpio42 {
> +				brcm,pins = <0x2a>;
> +				brcm,function = <0x04>;
> +				phandle = <0x38>;
> +			};
> +
> +			gpclk1_gpio44 {
> +				brcm,pins = <0x2c>;
> +				brcm,function = <0x04>;
> +				phandle = <0x39>;
> +			};
> +
> +			gpclk2_gpio6 {
> +				brcm,pins = <0x06>;
> +				brcm,function = <0x04>;
> +				phandle = <0x3a>;
> +			};
> +
> +			gpclk2_gpio43 {
> +				brcm,pins = <0x2b>;
> +				brcm,function = <0x04>;
> +				brcm,pull = <0x00>;
> +				phandle = <0x3b>;
> +			};
> +
> +			i2c0_gpio0 {
> +				brcm,pins = <0x00 0x01>;
> +				brcm,function = <0x04>;
> +				phandle = <0x3c>;
> +			};
> +
> +			i2c0_gpio28 {
> +				brcm,pins = <0x1c 0x1d>;
> +				brcm,function = <0x04>;
> +				phandle = <0x3d>;
> +			};
> +
> +			i2c0_gpio44 {
> +				brcm,pins = <0x2c 0x2d>;
> +				brcm,function = <0x05>;
> +				phandle = <0x3e>;
> +			};
> +
> +			i2c1_gpio2 {
> +				brcm,pins = <0x02 0x03>;
> +				brcm,function = <0x04>;
> +				phandle = <0x3f>;
> +			};
> +
> +			i2c1_gpio44 {
> +				brcm,pins = <0x2c 0x2d>;
> +				brcm,function = <0x06>;
> +				phandle = <0x40>;
> +			};
> +
> +			jtag_gpio22 {
> +				brcm,pins = <0x16 0x17 0x18 0x19 0x1a 0x1b>;
> +				brcm,function = <0x03>;
> +				phandle = <0x41>;
> +			};
> +
> +			pcm_gpio18 {
> +				brcm,pins = <0x12 0x13 0x14 0x15>;
> +				brcm,function = <0x04>;
> +				phandle = <0x42>;
> +			};
> +
> +			pcm_gpio28 {
> +				brcm,pins = <0x1c 0x1d 0x1e 0x1f>;
> +				brcm,function = <0x06>;
> +				phandle = <0x43>;
> +			};
> +
> +			pwm0_gpio12 {
> +				brcm,pins = <0x0c>;
> +				brcm,function = <0x04>;
> +				phandle = <0x44>;
> +			};
> +
> +			pwm0_gpio18 {
> +				brcm,pins = <0x12>;
> +				brcm,function = <0x02>;
> +				phandle = <0x45>;
> +			};
> +
> +			pwm0_gpio40 {
> +				brcm,pins = <0x28>;
> +				brcm,function = <0x04>;
> +				phandle = <0x46>;
> +			};
> +
> +			pwm1_gpio13 {
> +				brcm,pins = <0x0d>;
> +				brcm,function = <0x04>;
> +				phandle = <0x47>;
> +			};
> +
> +			pwm1_gpio19 {
> +				brcm,pins = <0x13>;
> +				brcm,function = <0x02>;
> +				phandle = <0x48>;
> +			};
> +
> +			pwm1_gpio41 {
> +				brcm,pins = <0x29>;
> +				brcm,function = <0x04>;
> +				phandle = <0x49>;
> +			};
> +
> +			pwm1_gpio45 {
> +				brcm,pins = <0x2d>;
> +				brcm,function = <0x04>;
> +				phandle = <0x4a>;
> +			};
> +
> +			sdhost_gpio48 {
> +				brcm,pins = <0x16 0x17 0x18 0x19 0x1a 0x1b>;
> +				brcm,function = <0x04>;
> +				phandle = <0x0b>;
> +			};
> +
> +			spi0_gpio7 {
> +				brcm,pins = <0x07 0x08 0x09 0x0a 0x0b>;
> +				brcm,function = <0x04>;
> +				phandle = <0x4b>;
> +			};
> +
> +			spi0_gpio35 {
> +				brcm,pins = <0x23 0x24 0x25 0x26 0x27>;
> +				brcm,function = <0x04>;
> +				phandle = <0x4c>;
> +			};
> +
> +			spi1_gpio16 {
> +				brcm,pins = <0x10 0x11 0x12 0x13 0x14 0x15>;
> +				brcm,function = <0x03>;
> +				phandle = <0x4d>;
> +			};
> +
> +			spi2_gpio40 {
> +				brcm,pins = <0x28 0x29 0x2a 0x2b 0x2c 0x2d>;
> +				brcm,function = <0x03>;
> +				phandle = <0x4e>;
> +			};
> +
> +			uart0_gpio14: uart0_gpio14 {
> +				brcm,pins = <0x0e 0x0f>;
> +				brcm,function = <0x04>;
> +				phandle = <0x4f>;
> +			};
> +
> +			uart0: uart0_ctsrts_gpio16 {
> +				brcm,pins = <0x10 0x11>;
> +				brcm,function = <0x07>;
> +				phandle = <0x50>;
> +			};
> +
> +			uart0_ctsrts_gpio30 {
> +				brcm,pins = <0x1e 0x1f>;
> +				brcm,function = <0x07>;
> +				brcm,pull = <0x02 0x00>;
> +				phandle = <0x51>;
> +			};
> +
> +			uart0_gpio32 {
> +				brcm,pins = <0x20 0x21>;
> +				brcm,function = <0x07>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x52>;
> +			};
> +
> +			uart0_gpio36 {
> +				brcm,pins = <0x24 0x25>;
> +				brcm,function = <0x06>;
> +				phandle = <0x53>;
> +			};
> +
> +			uart0_ctsrts_gpio38 {
> +				brcm,pins = <0x26 0x27>;
> +				brcm,function = <0x06>;
> +				phandle = <0x54>;
> +			};
> +
> +			uart1_gpio14: uart1_gpio14 {
> +				brcm,pins = <0x0e 0x0f>;
> +				brcm,function = <0x02>;
> +				phandle = <0x55>;
> +			};
> +
> +			uart1: uart1_ctsrts_gpio16 {
> +				brcm,pins = <0x10 0x11>;
> +				brcm,function = <0x02>;
> +				phandle = <0x56>;
> +			};
> +
> +			uart1_gpio32 {
> +				brcm,pins = <0x20 0x21>;
> +				brcm,function = <0x02>;
> +				phandle = <0x57>;
> +			};
> +
> +			uart1_ctsrts_gpio30 {
> +				brcm,pins = <0x1e 0x1f>;
> +				brcm,function = <0x02>;
> +				phandle = <0x58>;
> +			};
> +
> +			uart1_gpio40 {
> +				brcm,pins = <0x28 0x29>;
> +				brcm,function = <0x02>;
> +				phandle = <0x59>;
> +			};
> +
> +			uart1_ctsrts_gpio42 {
> +				brcm,pins = <0x2a 0x2b>;
> +				brcm,function = <0x02>;
> +				phandle = <0x5a>;
> +			};
> +
> +			gpclk0_gpio49 {
> +				brcm,pins = <0x31>;
> +				brcm,function = <0x05>;
> +				brcm,pull = <0x00>;
> +				phandle = <0x5b>;
> +			};
> +
> +			gpclk1_gpio50 {
> +				brcm,pins = <0x32>;
> +				brcm,function = <0x05>;
> +				brcm,pull = <0x00>;
> +				phandle = <0x5c>;
> +			};
> +
> +			gpclk2_gpio51 {
> +				brcm,pins = <0x33>;
> +				brcm,function = <0x05>;
> +				brcm,pull = <0x00>;
> +				phandle = <0x5d>;
> +			};
> +
> +			i2c0_gpio46 {
> +				brcm,pins = <0x2e 0x2f>;
> +				brcm,function = <0x04>;
> +				phandle = <0x5e>;
> +			};
> +
> +			i2c1_gpio46 {
> +				brcm,pins = <0x2e 0x2f>;
> +				brcm,function = <0x05>;
> +				phandle = <0x5f>;
> +			};
> +
> +			i2c3_gpio2 {
> +				brcm,pins = <0x02 0x03>;
> +				brcm,function = <0x02>;
> +				phandle = <0x60>;
> +			};
> +
> +			i2c3_gpio4 {
> +				brcm,pins = <0x04 0x05>;
> +				brcm,function = <0x02>;
> +				phandle = <0x61>;
> +			};
> +
> +			i2c4_gpio6 {
> +				brcm,pins = <0x06 0x07>;
> +				brcm,function = <0x02>;
> +				phandle = <0x62>;
> +			};
> +
> +			i2c4_gpio8 {
> +				brcm,pins = <0x08 0x09>;
> +				brcm,function = <0x02>;
> +				phandle = <0x63>;
> +			};
> +
> +			i2c5_gpio10 {
> +				brcm,pins = <0x0a 0x0b>;
> +				brcm,function = <0x02>;
> +				phandle = <0x64>;
> +			};
> +
> +			i2c5_gpio12 {
> +				brcm,pins = <0x0c 0x0d>;
> +				brcm,function = <0x02>;
> +				phandle = <0x65>;
> +			};
> +
> +			i2c6_gpio0 {
> +				brcm,pins = <0x00 0x01>;
> +				brcm,function = <0x02>;
> +				phandle = <0x66>;
> +			};
> +
> +			i2c6_gpio22 {
> +				brcm,pins = <0x16 0x17>;
> +				brcm,function = <0x02>;
> +				phandle = <0x67>;
> +			};
> +
> +			i2c_slave_gpio8 {
> +				brcm,pins = <0x08 0x09 0x0a 0x0b>;
> +				brcm,function = <0x07>;
> +				phandle = <0x68>;
> +			};
> +
> +			jtag_gpio48 {
> +				brcm,pins = <0x30 0x31 0x32 0x33 0x34 0x35>;
> +				brcm,function = <0x03>;
> +				phandle = <0x69>;
> +			};
> +
> +			mii_gpio28 {
> +				brcm,pins = <0x1c 0x1d 0x1e 0x1f>;
> +				brcm,function = <0x03>;
> +				phandle = <0x6a>;
> +			};
> +
> +			mii_gpio36 {
> +				brcm,pins = <0x24 0x25 0x26 0x27>;
> +				brcm,function = <0x02>;
> +				phandle = <0x6b>;
> +			};
> +
> +			pcm_gpio50 {
> +				brcm,pins = <0x32 0x33 0x34 0x35>;
> +				brcm,function = <0x06>;
> +				phandle = <0x6c>;
> +			};
> +
> +			pwm0_gpio52 {
> +				brcm,pins = <0x34>;
> +				brcm,function = <0x05>;
> +				brcm,pull = <0x00>;
> +				phandle = <0x6d>;
> +			};
> +
> +			pwm1_gpio53 {
> +				brcm,pins = <0x35>;
> +				brcm,function = <0x05>;
> +				brcm,pull = <0x00>;
> +				phandle = <0x6e>;
> +			};
> +
> +			rgmii_gpio35 {
> +				brcm,pins = <0x23 0x24>;
> +				brcm,function = <0x03>;
> +				phandle = <0x6f>;
> +			};
> +
> +			rgmii_irq_gpio34 {
> +				brcm,pins = <0x22>;
> +				brcm,function = <0x02>;
> +				phandle = <0x70>;
> +			};
> +
> +			rgmii_irq_gpio39 {
> +				brcm,pins = <0x27>;
> +				brcm,function = <0x03>;
> +				phandle = <0x71>;
> +			};
> +
> +			rgmii_mdio_gpio28 {
> +				brcm,pins = <0x1c 0x1d>;
> +				brcm,function = <0x02>;
> +				phandle = <0x72>;
> +			};
> +
> +			rgmii_mdio_gpio37 {
> +				brcm,pins = <0x25 0x26>;
> +				brcm,function = <0x03>;
> +				phandle = <0x73>;
> +			};
> +
> +			spi0_gpio46 {
> +				brcm,pins = <0x2e 0x2f 0x30 0x31>;
> +				brcm,function = <0x06>;
> +				phandle = <0x74>;
> +			};
> +
> +			spi2_gpio46 {
> +				brcm,pins = <0x2e 0x2f 0x30 0x31 0x32>;
> +				brcm,function = <0x02>;
> +				phandle = <0x75>;
> +			};
> +
> +			spi3_gpio0 {
> +				brcm,pins = <0x00 0x01 0x02 0x03>;
> +				brcm,function = <0x07>;
> +				phandle = <0x76>;
> +			};
> +
> +			spi4_gpio4 {
> +				brcm,pins = <0x04 0x05 0x06 0x07>;
> +				brcm,function = <0x07>;
> +				phandle = <0x77>;
> +			};
> +
> +			spi5_gpio12 {
> +				brcm,pins = <0x0c 0x0d 0x0e 0x0f>;
> +				brcm,function = <0x07>;
> +				phandle = <0x78>;
> +			};
> +
> +			spi6_gpio18 {
> +				brcm,pins = <0x12 0x13 0x14 0x15>;
> +				brcm,function = <0x07>;
> +				phandle = <0x79>;
> +			};
> +
> +			uart2_gpio0 {
> +				brcm,pins = <0x00 0x01>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x7a>;
> +			};
> +
> +			uart2_ctsrts_gpio2 {
> +				brcm,pins = <0x02 0x03>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x02 0x00>;
> +				phandle = <0x7b>;
> +			};
> +
> +			uart3_gpio4 {
> +				brcm,pins = <0x04 0x05>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x7c>;
> +			};
> +
> +			uart3_ctsrts_gpio6 {
> +				brcm,pins = <0x06 0x07>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x02 0x00>;
> +				phandle = <0x7d>;
> +			};
> +
> +			uart4_gpio8 {
> +				brcm,pins = <0x08 0x09>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x7e>;
> +			};
> +
> +			uart4_ctsrts_gpio10 {
> +				brcm,pins = <0x0a 0x0b>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x02 0x00>;
> +				phandle = <0x7f>;
> +			};
> +
> +			uart5_gpio12 {
> +				brcm,pins = <0x0c 0x0d>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x80>;
> +			};
> +
> +			uart5_ctsrts_gpio14 {
> +				brcm,pins = <0x0e 0x0f>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x02 0x00>;
> +				phandle = <0x81>;
> +			};
> +
> +			dpi_18bit_gpio0 {
> +				brcm,pins = <0x00 0x01 0x02 0x03
> +					0x04 0x05 0x06 0x07
> +					0x08 0x09 0x0a 0x0b
> +					0x0c 0x0d 0x0e 0x0f
> +					0x10 0x11 0x12 0x13
> +					0x14 0x15>;
> +				brcm,function = <0x06>;
> +				phandle = <0x82>;
> +			};
> +
> +			spi0_pins {
> +				brcm,pins = <0x09 0x0a 0x0b>;
> +				brcm,function = <0x04>;
> +				phandle = <0x0d>;
> +			};
> +
> +			spi0_cs_pins {
> +				brcm,pins = <0x08 0x07>;
> +				brcm,function = <0x01>;
> +				phandle = <0x0e>;
> +			};
> +
> +			spi3_pins {
> +				brcm,pins = <0x01 0x02 0x03>;
> +				brcm,function = <0x07>;
> +				phandle = <0x83>;
> +			};
> +
> +			spi3_cs_pins {
> +				brcm,pins = <0x00 0x18>;
> +				brcm,function = <0x01>;
> +				phandle = <0x84>;
> +			};
> +
> +			spi4_pins {
> +				brcm,pins = <0x05 0x06 0x07>;
> +				brcm,function = <0x07>;
> +				phandle = <0x85>;
> +			};
> +
> +			spi4_cs_pins {
> +				brcm,pins = <0x04 0x19>;
> +				brcm,function = <0x01>;
> +				phandle = <0x86>;
> +			};
> +
> +			spi5_pins {
> +				brcm,pins = <0x0d 0x0e 0x0f>;
> +				brcm,function = <0x07>;
> +				phandle = <0x87>;
> +			};
> +
> +			spi5_cs_pins {
> +				brcm,pins = <0x0c 0x1a>;
> +				brcm,function = <0x01>;
> +				phandle = <0x88>;
> +			};
> +
> +			spi6_pins {
> +				brcm,pins = <0x13 0x14 0x15>;
> +				brcm,function = <0x07>;
> +				phandle = <0x89>;
> +			};
> +
> +			spi6_cs_pins {
> +				brcm,pins = <0x12 0x1b>;
> +				brcm,function = <0x01>;
> +				phandle = <0x8a>;
> +			};
> +
> +			i2c0 {
> +				brcm,pins = <0x00 0x01>;
> +				brcm,function = <0x04>;
> +				phandle = <0x10>;
> +			};
> +
> +			i2c1 {
> +				brcm,pins = <0x02 0x03>;
> +				brcm,function = <0x04>;
> +				phandle = <0x14>;
> +			};
> +
> +			i2c3 {
> +				brcm,pins = <0x04 0x05>;
> +				brcm,function = <0x02>;
> +				phandle = <0x8b>;
> +			};
> +
> +			i2c4 {
> +				brcm,pins = <0x08 0x09>;
> +				brcm,function = <0x02>;
> +				phandle = <0x8c>;
> +			};
> +
> +			i2c5 {
> +				brcm,pins = <0x0c 0x0d>;
> +				brcm,function = <0x02>;
> +				phandle = <0x8d>;
> +			};
> +
> +			i2c6 {
> +				brcm,pins = <0x16 0x17>;
> +				brcm,function = <0x02>;
> +				phandle = <0x8e>;
> +			};
> +
> +			i2s {
> +				brcm,pins = <0x12 0x13 0x14 0x15>;
> +				brcm,function = <0x04>;
> +				phandle = <0x0c>;
> +			};
> +
> +			sdio_pins {
> +				brcm,pins = <0x22 0x23 0x24 0x25 0x26 0x27>;
> +				brcm,function = <0x07>;
> +				brcm,pull = <0x00 0x02 0x02 0x02 0x02 0x02>;
> +				phandle = <0x19>;
> +			};
> +
> +			bt_pins {
> +				brcm,pins = [2d 00];
> +				brcm,function = <0x00>;
> +				brcm,pull = <0x02>;
> +				phandle = <0x09>;
> +			};
> +
> +			uart0_pins {
> +				brcm,pins = <0x20 0x21>;
> +				brcm,function = <0x07>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x08>;
> +			};
> +
> +			uart1_pins {
> +				brcm,pins;
> +				brcm,function;
> +				brcm,pull;
> +				phandle = <0x12>;
> +			};
> +
> +			uart2_pins {
> +				brcm,pins = <0x00 0x01>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x8f>;
> +			};
> +
> +			uart3_pins {
> +				brcm,pins = <0x04 0x05>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x90>;
> +			};
> +
> +			uart4_pins {
> +				brcm,pins = <0x08 0x09>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x91>;
> +			};
> +
> +			uart5_pins {
> +				brcm,pins = <0x0c 0x0d>;
> +				brcm,function = <0x03>;
> +				brcm,pull = <0x00 0x02>;
> +				phandle = <0x92>;
> +			};
> +
> +			audio_pins {
> +				brcm,pins = <0x28 0x29>;
> +				brcm,function = <0x04>;
> +				phandle = <0x1b>;
> +			};
> +		};
> +
> +		serial at 7e201000 {
> +			compatible = "brcm,bcm2835-pl011\0arm,pl011\0arm,primecell";
> +			reg = <0x7e201000 0x200>;
> +			interrupts = <0x00 0x79 0x04>;
> +			clocks = <0x03 0x13 0x03 0x14>;
> +			clock-names = "uartclk\0apb_pclk";
> +			arm,primecell-periphid = <0x241011>;
> +			cts-event-workaround;
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x08 0x09>;
> +			status = "okay";
> +			phandle = <0x1f>;
> +		};
> +
> +		mmc at 7e202000 {
> +			compatible = "brcm,bcm2835-sdhost";
> +			reg = <0x7e202000 0x100>;
> +			interrupts = <0x00 0x78 0x04>;
> +			clocks = <0x03 0x14>;
> +			dmas = <0x0a 0x2000000d>;
> +			dma-names = "rx-tx";
> +			status = "disabled";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x0b>;
> +			bus-width = <0x04>;
> +			brcm,overclock-50 = <0x00>;
> +			brcm,pio-limit = <0x01>;
> +			phandle = <0x27>;
> +		};
> +
> +		i2s at 7e203000 {
> +			compatible = "brcm,bcm2835-i2s";
> +			reg = <0x7e203000 0x24>;
> +			clocks = <0x03 0x1f>;
> +			dmas = <0x0a 0x02 0x0a 0x03>;
> +			dma-names = "tx\0rx";
> +			status = "disabled";
> +			#sound-dai-cells = <0x00>;
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x0c>;
> +			phandle = <0x21>;
> +		};
> +
> +		spi at 7e204000 {
> +			compatible = "brcm,bcm2835-spi";
> +			reg = <0x7e204000 0x200>;
> +			interrupts = <0x00 0x76 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			dmas = <0x0a 0x06 0x0a 0x07>;
> +			dma-names = "tx\0rx";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x0d 0x0e>;
> +			cs-gpios = <0x0f 0x08 0x01 0x0f 0x07 0x01>;
> +			phandle = <0x22>;
> +
> +			spidev at 0 {
> +				compatible = "spidev";
> +				reg = <0x00>;
> +				#address-cells = <0x01>;
> +				#size-cells = <0x00>;
> +				spi-max-frequency = <0x7735940>;
> +				phandle = <0x93>;
> +			};
> +
> +			spidev at 1 {
> +				compatible = "spidev";
> +				reg = <0x01>;
> +				#address-cells = <0x01>;
> +				#size-cells = <0x00>;
> +				spi-max-frequency = <0x7735940>;
> +				phandle = <0x94>;
> +			};
> +		};
> +
> +		i2c at 7e205000 {
> +			compatible = "brcm,bcm2835-i2c";
> +			reg = <0x7e205000 0x200>;
> +			interrupts = <0x00 0x75 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x10>;
> +			clock-frequency = <0x186a0>;
> +			phandle = <0x23>;
> +		};
> +
> +		pixelvalve at 7e206000 {
> +			compatible = "brcm,bcm2835-pixelvalve0";
> +			reg = <0x7e206000 0x100>;
> +			interrupts = <0x00 0x6d 0x04>;
> +			status = "disabled";
> +			phandle = <0x95>;
> +		};
> +
> +		pixelvalve at 7e207000 {
> +			compatible = "brcm,bcm2835-pixelvalve1";
> +			reg = <0x7e207000 0x100>;
> +			interrupts = <0x00 0x6e 0x04>;
> +			status = "disabled";
> +			phandle = <0x96>;
> +		};
> +
> +		dpi at 7e208000 {
> +			compatible = "brcm,bcm2835-dpi";
> +			reg = <0x7e208000 0x8c>;
> +			clocks = <0x03 0x14 0x03 0x2c>;
> +			clock-names = "core\0pixel";
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0x97>;
> +		};
> +
> +		dsi at 7e209000 {
> +			compatible = "brcm,bcm2835-dsi0";
> +			reg = <0x7e209000 0x78>;
> +			interrupts = <0x00 0x64 0x04>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			#clock-cells = <0x01>;
> +			clocks = <0x03 0x20 0x03 0x2f 0x03 0x31>;
> +			clock-names = "phy\0escape\0pixel";
> +			clock-output-names = "dsi0_byte\0dsi0_ddr2\0dsi0_ddr";
> +			phandle = <0x05>;
> +		};
> +
> +		aux at 7e215000 {
> +			compatible = "brcm,bcm2835-aux";
> +			#clock-cells = <0x01>;
> +			reg = <0x7e215000 0x08>;
> +			clocks = <0x03 0x14>;
> +			phandle = <0x11>;
> +		};
> +
> +		serial at 7e215040 {
> +			compatible = "brcm,bcm2835-aux-uart";
> +			reg = <0x7e215040 0x40>;
> +			interrupts = <0x00 0x5d 0x04>;
> +			clocks = <0x11 0x00>;
> +			status = "okay";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x12>;
> +			phandle = <0x20>;
> +		};
> +
> +		spi at 7e215080 {
> +			compatible = "brcm,bcm2835-aux-spi";
> +			reg = <0x7e215080 0x40>;
> +			interrupts = <0x00 0x5d 0x04>;
> +			clocks = <0x11 0x01>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0x98>;
> +		};
> +
> +		spi at 7e2150c0 {
> +			compatible = "brcm,bcm2835-aux-spi";
> +			reg = <0x7e2150c0 0x40>;
> +			interrupts = <0x00 0x5d 0x04>;
> +			clocks = <0x11 0x02>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0x99>;
> +		};
> +
> +		pwm at 7e20c000 {
> +			compatible = "brcm,bcm2835-pwm";
> +			reg = <0x7e20c000 0x28>;
> +			clocks = <0x03 0x1e>;
> +			assigned-clocks = <0x03 0x1e>;
> +			assigned-clock-rates = <0x989680>;
> +			#pwm-cells = <0x02>;
> +			status = "disabled";
> +			phandle = <0x9a>;
> +		};
> +
> +		hvs at 7e400000 {
> +			compatible = "brcm,bcm2835-hvs";
> +			reg = <0x7e400000 0x6000>;
> +			interrupts = <0x00 0x61 0x04>;
> +			status = "disabled";
> +			phandle = <0x9b>;
> +		};
> +
> +		dsi at 7e700000 {
> +			compatible = "brcm,bcm2835-dsi1";
> +			reg = <0x7e700000 0x8c>;
> +			interrupts = <0x00 0x6c 0x04>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			#clock-cells = <0x01>;
> +			clocks = <0x03 0x23 0x03 0x30 0x03 0x32>;
> +			clock-names = "phy\0escape\0pixel";
> +			clock-output-names = "dsi1_byte\0dsi1_ddr2\0dsi1_ddr";
> +			status = "disabled";
> +			phandle = <0x06>;
> +		};
> +
> +		csi at 7e800000 {
> +			compatible = "brcm,bcm2835-unicam";
> +			reg = <0x7e800000 0x800 0x7e802000 0x04>;
> +			interrupts = <0x00 0x66 0x04>;
> +			clocks = <0x03 0x2d>;
> +			clock-names = "lp";
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			#clock-cells = <0x01>;
> +			status = "disabled";
> +			power-domains = <0x13 0x0c>;
> +			phandle = <0x9c>;
> +		};
> +
> +		csi at 7e801000 {
> +			compatible = "brcm,bcm2835-unicam";
> +			reg = <0x7e801000 0x800 0x7e802004 0x04>;
> +			interrupts = <0x00 0x67 0x04>;
> +			clocks = <0x03 0x2e>;
> +			clock-names = "lp";
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			#clock-cells = <0x01>;
> +			status = "disabled";
> +			power-domains = <0x13 0x0d>;
> +			phandle = <0x9d>;
> +
> +			port {
> +
> +				endpoint {
> +					data-lanes = <0x01 0x02>;
> +				};
> +			};
> +		};
> +
> +		i2c at 7e804000 {
> +			compatible = "brcm,bcm2835-i2c";
> +			reg = <0x7e804000 0x1000>;
> +			interrupts = <0x00 0x75 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x14>;
> +			clock-frequency = <0x186a0>;
> +			phandle = <0x24>;
> +		};
> +
> +		i2c at 7e805000 {
> +			compatible = "brcm,bcm2835-i2c";
> +			reg = <0x7e805000 0x1000>;
> +			interrupts = <0x00 0x75 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			clock-frequency = <0x186a0>;
> +			phandle = <0x15>;
> +		};
> +
> +		vec at 7e806000 {
> +			compatible = "brcm,bcm2835-vec";
> +			reg = <0x7e806000 0x1000>;
> +			clocks = <0x03 0x18>;
> +			interrupts = <0x00 0x7b 0x04>;
> +			status = "disabled";
> +			phandle = <0x9e>;
> +		};
> +
> +		pixelvalve at 7e807000 {
> +			compatible = "brcm,bcm2835-pixelvalve2";
> +			reg = <0x7e807000 0x100>;
> +			interrupts = <0x00 0x6a 0x04>;
> +			status = "disabled";
> +			phandle = <0x9f>;
> +		};
> +
> +		hdmi at 7e902000 {
> +			compatible = "brcm,bcm2835-hdmi";
> +			reg = <0x7e902000 0x600 0x7e808000 0x100>;
> +			interrupts = <0x00 0x68 0x04 0x00 0x69 0x04>;
> +			ddc = <0x15>;
> +			clocks = <0x03 0x10 0x03 0x19>;
> +			clock-names = "pixel\0hdmi";
> +			dmas = <0x0a 0x11>;
> +			dma-names = "audio-rx";
> +			status = "disabled";
> +			power-domains = <0x13 0x05>;
> +			phandle = <0xa0>;
> +		};
> +
> +		usb at 7e980000 {
> +			compatible = "brcm,bcm2708-usb";
> +			reg = <0x7e980000 0x10000 0x7e00b200 0x200>;
> +			interrupts = <0x00 0x49 0x04 0x00 0x28 0x04>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			clocks = <0x16>;
> +			clock-names = "otg";
> +			phys = <0x17>;
> +			phy-names = "usb2-phy";
> +			interrupt-names = "usb\0soft";
> +			power-domains = <0x13 0x06>;
> +			phandle = <0xa1>;
> +		};
> +
> +		gpu {
> +			compatible = "brcm,bcm2835-vc4";
> +			status = "disabled";
> +			phandle = <0xa2>;
> +		};
> +
> +		local_intc at 40000000 {
> +			compatible = "brcm,bcm2836-l1-intc";
> +			reg = <0x40000000 0x100>;
> +			phandle = <0xa3>;
> +		};
> +
> +		gic400 at 40041000 {
> +			interrupt-controller;
> +			#interrupt-cells = <0x03>;
> +			compatible = "arm,gic-400";
> +			reg = <0x40041000 0x1000 0x40042000 0x2000 0x40046000 0x2000 0x40048000 0x2000>;
> +			phandle = <0x01>;
> +		};
> +
> +		thermal at 7d5d2200 {
> +			compatible = "brcm,avs-tmon-bcm2838";
> +			reg = <0x7d5d2200 0x2c>;
> +			interrupts = <0x00 0x89 0x04>;
> +			interrupt-names = "tmon";
> +			clocks = <0x03 0x1b>;
> +			#thermal-sensor-cells = <0x00>;
> +			status = "okay";
> +			phandle = <0x02>;
> +		};
> +
> +		serial at 7e201400 {
> +			compatible = "brcm,bcm2835-pl011\0arm,pl011\0arm,primecell";
> +			reg = <0x7e201400 0x200>;
> +			interrupts = <0x00 0x79 0x04>;
> +			clocks = <0x03 0x13 0x03 0x14>;
> +			clock-names = "uartclk\0apb_pclk";
> +			arm,primecell-periphid = <0x241011>;
> +			status = "disabled";
> +			phandle = <0xa4>;
> +		};
> +
> +		serial at 7e201600 {
> +			compatible = "brcm,bcm2835-pl011\0arm,pl011\0arm,primecell";
> +			reg = <0x7e201600 0x200>;
> +			interrupts = <0x00 0x79 0x04>;
> +			clocks = <0x03 0x13 0x03 0x14>;
> +			clock-names = "uartclk\0apb_pclk";
> +			arm,primecell-periphid = <0x241011>;
> +			status = "disabled";
> +			phandle = <0xa5>;
> +		};
> +
> +		serial at 7e201800 {
> +			compatible = "brcm,bcm2835-pl011\0arm,pl011\0arm,primecell";
> +			reg = <0x7e201800 0x200>;
> +			interrupts = <0x00 0x79 0x04>;
> +			clocks = <0x03 0x13 0x03 0x14>;
> +			clock-names = "uartclk\0apb_pclk";
> +			arm,primecell-periphid = <0x241011>;
> +			status = "disabled";
> +			phandle = <0xa6>;
> +		};
> +
> +		serial at 7e201a00 {
> +			compatible = "brcm,bcm2835-pl011\0arm,pl011\0arm,primecell";
> +			reg = <0x7e201a00 0x200>;
> +			interrupts = <0x00 0x79 0x04>;
> +			clocks = <0x03 0x13 0x03 0x14>;
> +			clock-names = "uartclk\0apb_pclk";
> +			arm,primecell-periphid = <0x241011>;
> +			status = "disabled";
> +			phandle = <0xa7>;
> +		};
> +
> +		spi at 7e204600 {
> +			compatible = "brcm,bcm2835-spi";
> +			reg = <0x7e204600 0x200>;
> +			interrupts = <0x00 0x76 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xa8>;
> +		};
> +
> +		spi at 7e204800 {
> +			compatible = "brcm,bcm2835-spi";
> +			reg = <0x7e204800 0x200>;
> +			interrupts = <0x00 0x76 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xa9>;
> +		};
> +
> +		spi at 7e204a00 {
> +			compatible = "brcm,bcm2835-spi";
> +			reg = <0x7e204a00 0x200>;
> +			interrupts = <0x00 0x76 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xaa>;
> +		};
> +
> +		spi at 7e204c00 {
> +			compatible = "brcm,bcm2835-spi";
> +			reg = <0x7e204c00 0x200>;
> +			interrupts = <0x00 0x76 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xab>;
> +		};
> +
> +		i2c at 7e205600 {
> +			compatible = "brcm,bcm2835-i2c";
> +			reg = <0x7e205600 0x200>;
> +			interrupts = <0x00 0x75 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xac>;
> +		};
> +
> +		i2c at 7e205800 {
> +			compatible = "brcm,bcm2835-i2c";
> +			reg = <0x7e205800 0x200>;
> +			interrupts = <0x00 0x75 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xad>;
> +		};
> +
> +		i2c at 7e205a00 {
> +			compatible = "brcm,bcm2835-i2c";
> +			reg = <0x7e205a00 0x200>;
> +			interrupts = <0x00 0x75 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xae>;
> +		};
> +
> +		i2c at 7e205c00 {
> +			compatible = "brcm,bcm2835-i2c";
> +			reg = <0x7e205c00 0x200>;
> +			interrupts = <0x00 0x75 0x04>;
> +			clocks = <0x03 0x14>;
> +			#address-cells = <0x01>;
> +			#size-cells = <0x00>;
> +			status = "disabled";
> +			phandle = <0xaf>;
> +		};
> +
> +		emmc2 at 7e340000 {
> +			compatible = "brcm,bcm2711-emmc2";
> +			status = "okay";
> +			interrupts = <0x00 0x7e 0x04>;
> +			clocks = <0x03 0x33>;
> +			reg = <0x7e340000 0x100>;
> +			broken-cd;
> +			vqmmc-supply = <0x18>;
> +			phandle = <0xb0>;
> +		};
> +
> +		mmc at 7e300000 {
> +			compatible = "brcm,bcm2835-mmc\0brcm,bcm2835-sdhci";
> +			reg = <0x7e300000 0x100>;
> +			interrupts = <0x00 0x7e 0x04>;
> +			clocks = <0x03 0x1c>;
> +			dmas = <0x0a 0x0b>;
> +			dma-names = "rx-tx";
> +			brcm,overclock-50 = <0x00>;
> +			status = "disabled";
> +			phandle = <0x28>;
> +		};
> +
> +		mmcnr at 7e300000 {
> +			compatible = "brcm,bcm2835-mmc\0brcm,bcm2835-sdhci";
> +			reg = <0x7e300000 0x100>;
> +			interrupts = <0x00 0x7e 0x04>;
> +			clocks = <0x03 0x1c>;
> +			dmas = <0x0a 0x0b>;
> +			dma-names = "rx-tx";
> +			brcm,overclock-50 = <0x00>;
> +			non-removable;
> +			status = "okay";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x19>;
> +			bus-width = <0x04>;
> +			phandle = <0x29>;
> +		};
> +
> +		firmwarekms at 7e600000 {
> +			compatible = "raspberrypi,rpi-firmware-kms";
> +			reg = <0x7e600000 0x100>;
> +			interrupts = <0x00 0x70 0x04>;
> +			brcm,firmware = <0x07>;
> +			status = "disabled";
> +			phandle = <0xb1>;
> +		};
> +
> +		smi at 7e600000 {
> +			compatible = "brcm,bcm2835-smi";
> +			reg = <0x7e600000 0x100>;
> +			interrupts = <0x00 0x70 0x04>;
> +			clocks = <0x03 0x2a>;
> +			assigned-clocks = <0x03 0x2a>;
> +			assigned-clock-rates = <0x7735940>;
> +			dmas = <0x0a 0x04>;
> +			dma-names = "rx-tx";
> +			status = "disabled";
> +			phandle = <0xb2>;
> +		};
> +
> +		axiperf {
> +			compatible = "brcm,bcm2835-axiperf";
> +			reg = <0x7e009800 0x100 0x7ee08000 0x100>;
> +			firmware = <0x07>;
> +			status = "disabled";
> +			phandle = <0x2a>;
> +		};
> +
> +		gpiomem {
> +			compatible = "brcm,bcm2835-gpiomem";
> +			reg = <0x7e200000 0x1000>;
> +		};
> +
> +		firmware {
> +			compatible = "raspberrypi,bcm2835-firmware\0simple-bus";
> +			#address-cells = <0x00>;
> +			#size-cells = <0x00>;
> +			mboxes = <0x1a>;
> +			phandle = <0x07>;
> +
> +			expgpio {
> +				compatible = "raspberrypi,firmware-gpio";
> +				gpio-controller;
> +				#gpio-cells = <0x02>;
> +				status = "okay";
> +				phandle = <0x2d>;
> +			};
> +		};
> +
> +		power {
> +			compatible = "raspberrypi,bcm2835-power";
> +			firmware = <0x07>;
> +			#power-domain-cells = <0x01>;
> +			phandle = <0x13>;
> +		};
> +
> +		fb {
> +			compatible = "brcm,bcm2708-fb";
> +			firmware = <0x07>;
> +			status = "okay";
> +			phandle = <0xb3>;
> +		};
> +
> +		vcsm {
> +			compatible = "raspberrypi,bcm2835-vcsm";
> +			firmware = <0x07>;
> +			status = "okay";
> +			phandle = <0xb4>;
> +		};
> +
> +		audio {
> +			compatible = "brcm,bcm2835-audio";
> +			brcm,pwm-channels = <0x08>;
> +			status = "disabled";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <0x1b>;
> +			phandle = <0x25>;
> +		};
> +
> +		sound {
> +			status = "disabled";
> +			phandle = <0xb5>;
> +		};
> +
> +		virtgpio {
> +			compatible = "brcm,bcm2835-virtgpio";
> +			gpio-controller;
> +			#gpio-cells = <0x02>;
> +			firmware = <0x07>;
> +			status = "okay";
> +			phandle = <0xb6>;
> +		};
> +	};
> +
> +	clocks {
> +		compatible = "simple-bus";
> +		#address-cells = <0x01>;
> +		#size-cells = <0x00>;
> +
> +		clock at 3 {
> +			compatible = "fixed-clock";
> +			reg = <0x03>;
> +			#clock-cells = <0x00>;
> +			clock-output-names = "osc";
> +			clock-frequency = <0x337f980>;
> +			phandle = <0x04>;
> +		};
> +
> +		clock at 4 {
> +			compatible = "fixed-clock";
> +			reg = <0x04>;
> +			#clock-cells = <0x00>;
> +			clock-output-names = "otg";
> +			clock-frequency = <0x1c9c3800>;
> +			phandle = <0x16>;
> +		};
> +	};
> +
> +	phy {
> +		compatible = "usb-nop-xceiv";
> +		#phy-cells = <0x00>;
> +		phandle = <0x17>;
> +	};
> +
> +	arm-pmu {
> +		compatible = "arm,cortex-a72-pmu\0arm,cortex-a53-pmu";
> +		interrupts = <0x00 0x10 0x04 0x00 0x11 0x04 0x00 0x12 0x04 0x00 0x13 0x04>;
> +	};
> +
> +	timer {
> +		compatible = "arm,armv7-timer";
> +		interrupts = <0x01 0x0d 0xf08 0x01 0x0e 0xf08 0x01 0x0b 0xf08 0x01 0x0a 0xf08>;
> +		arm,cpu-registers-not-fw-configured;
> +		always-on;
> +	};
> +
> +	cpus {
> +		#address-cells = <0x01>;
> +		#size-cells = <0x00>;
> +		enable-method = "brcm,bcm2836-smp";
> +		phandle = <0xb7>;
> +
> +		cpu at 0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a72";
> +			reg = <0x00>;
> +			enable-method = "spin-table";
> +			cpu-release-addr = <0x00 0xd8>;
> +			phandle = <0xb8>;
> +		};
> +
> +		cpu at 1 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a72";
> +			reg = <0x01>;
> +			enable-method = "spin-table";
> +			cpu-release-addr = <0x00 0xe0>;
> +			phandle = <0xb9>;
> +		};
> +
> +		cpu at 2 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a72";
> +			reg = <0x02>;
> +			enable-method = "spin-table";
> +			cpu-release-addr = <0x00 0xe8>;
> +			phandle = <0xba>;
> +		};
> +
> +		cpu at 3 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a72";
> +			reg = <0x03>;
> +			enable-method = "spin-table";
> +			cpu-release-addr = <0x00 0xf0>;
> +			phandle = <0xbb>;
> +		};
> +	};
> +
> +	v3dbus {
> +		compatible = "simple-bus";
> +		#address-cells = <0x01>;
> +		#size-cells = <0x01>;
> +		ranges = <0x7c500000 0x00 0xfc500000 0x3300000 0x40000000 0x00 0xff800000 0x800000>;
> +		dma-ranges = <0x00 0x00 0x00 0x3c000000>;
> +
> +		v3d at 7ec04000 {
> +			compatible = "brcm,2711-v3d";
> +			reg = <0x7ec00000 0x4000 0x7ec04000 0x4000>;
> +			reg-names = "hub\0core0";
> +			power-domains = <0x1c 0x01>;
> +			resets = <0x1c 0x00>;
> +			clocks = <0x03 0x15>;
> +			interrupts = <0x00 0x4a 0x04>;
> +			status = "okay";
> +			phandle = <0xbc>;
> +		};
> +	};
> +
> +	scb {
> +		compatible = "simple-bus";
> +		#address-cells = <0x02>;
> +		#size-cells = <0x01>;
> +		ranges = <0x00 0x7c000000 0x00 0xfc000000
> +			0x3800000 0x00 0x40000000 0x00
> +			0xff800000 0x800000 0x06 0x00
> +			0x06 0x00 0x40000000 0x00
> +			0x00 0x00 0x00 0xfc000000>;
> +		dma-ranges = <0x00 0x00 0x00 0x00 0xfc000000>;
> +		phandle = <0xbd>;
> +
> +		pcie at 7d500000 {
> +			reg = <0x00 0x7d500000 0x9310 0x00 0x7e00f300 0x20>;
> +			msi-controller;
> +			msi-parent = <0x1d>;
> +			#address-cells = <0x03>;
> +			#interrupt-cells = <0x01>;
> +			#size-cells = <0x02>;
> +			bus-range = <0x00 0x01>;
> +			compatible = "brcm,bcm7211-pcie\0brcm,bcm7445-pcie\0brcm,pci-plat-dev";
> +			max-link-speed = <0x02>;
> +			tot-num-pcie = <0x01>;
> +			linux,pci-domain = <0x00>;
> +			interrupts = <0x00 0x94 0x04 0x00 0x94 0x04>;
> +			interrupt-names = "pcie\0msi";
> +			interrupt-map-mask = <0x00 0x00 0x00 0x07>;
> +			interrupt-map = <0x00 0x00 0x00 0x01
> +				0x01 0x00 0x8f 0x04 0x00 0x00 0x00 0x02
> +				0x01 0x00 0x90 0x04 0x00 0x00 0x00 0x03
> +				0x01 0x00 0x91 0x04 0x00 0x00 0x00 0x04
> +				0x01 0x00 0x92 0x04>;
> +			ranges = <0x2000000 0x00 0xf8000000 0x06 0x00 0x00 0x4000000>;
> +			dma-ranges = <0x2000000 0x00 0x00 0x00 0x00 0x01 0x00>;
> +			status = "okay";
> +			phandle = <0x1d>;
> +		};
> +
> +		genet at 7d580000 {
> +			compatible = "brcm,genet-v5";
> +			reg = <0x00 0x7d580000 0x10000>;
> +			status = "okay";
> +			#address-cells = <0x01>;
> +			#size-cells = <0x01>;
> +			interrupts = <0x00 0x9d 0x04 0x00 0x9e 0x04>;
> +			phy-handle = <0x1e>;
> +			phy-mode = "rgmii";
> +			phandle = <0xbe>;
> +
> +			mdio at e14 {
> +				#address-cells = <0x00>;
> +				#size-cells = <0x01>;
> +				compatible = "brcm,genet-mdio-v5";
> +				reg = <0xe14 0x08>;
> +				reg-names = "mdio";
> +
> +				genet-phy at 0 {
> +					compatible = "ethernet-phy-ieee802.3-c22";
> +					max-speed = <0x3e8>;
> +					reg = <0x01>;
> +					phandle = <0x1e>;
> +				};
> +			};
> +		};
> +
> +		dma at 7e007b00 {
> +			compatible = "brcm,bcm2838-dma";
> +			reg = <0x00 0x7e007b00 0x400>;
> +			interrupts = <0x00 0x59 0x04 0x00 0x5a 0x04 0x00 0x5b
> +				0x04 0x00 0x5c 0x04>;
> +			interrupt-names = "dma11\0dma12\0dma13\0dma14";
> +			#dma-cells = <0x01>;
> +			brcm,dma-channel-mask = <0x7000>;
> +			phandle = <0xbf>;
> +		};
> +
> +		xhci at 7e9c0000 {
> +			compatible = "generic-xhci";
> +			status = "disabled";
> +			reg = <0x00 0x7e9c0000 0x100000>;
> +			interrupts = <0x00 0xb0 0x04>;
> +			phandle = <0xc0>;
> +		};
> +
> +		mailbox at 7e00b840 {
> +			compatible = "brcm,bcm2838-vchiq";
> +			reg = <0x00 0x7e00b840 0x3c>;
> +			interrupts = <0x00 0x22 0x04>;
> +			phandle = <0xc1>;
> +		};
> +
> +		hevc-decoder at 7eb00000 {
> +			compatible = "raspberrypi,argon-hevc-decoder";
> +			reg = <0x00 0x7eb00000 0x10000>;
> +			status = "okay";
> +		};
> +
> +		argon-local-intc at 7eb10000 {
> +			compatible = "raspberrypi,argon-local-intc";
> +			reg = <0x00 0x7eb10000 0x1000>;
> +			status = "okay";
> +			interrupts = <0x00 0x62 0x04>;
> +		};
> +
> +		h264-decoder at 7eb20000 {
> +			compatible = "raspberrypi,argon-h264-decoder";
> +			reg = <0x00 0x7eb20000 0x10000>;
> +			status = "okay";
> +		};
> +
> +		vp9-decoder at 7eb30000 {
> +			compatible = "raspberrypi,argon-vp9-decoder";
> +			reg = <0x00 0x7eb30000 0x10000>;
> +			status = "okay";
> +		};
> +	};
> +
> +	fixedregulator_5v0 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "5v0";
> +		regulator-min-microvolt = <0x4c4b40>;
> +		regulator-max-microvolt = <0x4c4b40>;
> +		regulator-always-on;
> +		phandle = <0x2e>;
> +	};
> +
> +	fixedregulator_3v3 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "3v3";
> +		regulator-min-microvolt = <0x325aa0>;
> +		regulator-max-microvolt = <0x325aa0>;
> +		regulator-always-on;
> +		phandle = <0xc2>;
> +	};
> +
> +	__overrides__ {
> +		cam0-pwdn-ctrl;
> +		cam0-pwdn;
> +		cam0-led-ctrl;
> +		cam0-led;
> +		cache_line_size;
> +		uart0 = [00 00 00 1f 73 74 61 74 75 73 00];
> +		uart1 = "\0\0\0 status";
> +		i2s = "\0\0\0!status";
> +		spi = "\0\0\0\"status";
> +		i2c0 = "\0\0\0#status";
> +		i2c1 = "\0\0\0$status";
> +		i2c2_iknowwhatimdoing = [00 00 00 15 73 74 61 74 75 73 00];
> +		i2c0_baudrate = "\0\0\0#clock-frequency:0";
> +		i2c1_baudrate = "\0\0\0$clock-frequency:0";
> +		i2c2_baudrate = [00 00 00 15 63 6c 6f 63
> +			6b 2d 66 72 65 71 75 65
> +			6e 63 79 3a 30 00];
> +		audio = "\0\0\0%status";
> +		watchdog = [00 00 00 1c 73 74 61 74 75 73 00];
> +		random = "\0\0\0&status";
> +		sd_overclock = "\0\0\0'brcm,overclock-50:0";
> +		sd_force_pio = "\0\0\0'brcm,force-pio?";
> +		sd_pio_limit = "\0\0\0'brcm,pio-limit:0";
> +		sd_debug = "\0\0\0'brcm,debug";
> +		sdio_overclock = "\0\0\0(brcm,overclock-50:0\0\0\0\0)brcm,overclock-50:0";
> +		axiperf = "\0\0\0*status";
> +		arm_freq;
> +		act_led_gpio = "\0\0\0+gpios:4";
> +		act_led_activelow = "\0\0\0+gpios:8";
> +		act_led_trigger = "\0\0\0+linux,default-trigger";
> +		pwr_led_gpio = "\0\0\0,gpios:4";
> +		pwr_led_activelow = "\0\0\0,gpios:8";
> +		pwr_led_trigger = "\0\0\0,linux,default-trigger";
> +	};
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0x00 0x00 0x00>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		phandle = <0xc3>;
> +
> +		act {
> +			label = "led0";
> +			linux,default-trigger = "mmc0";
> +			gpios = <0x0f 0x2a 0x00>;
> +			phandle = <0x2b>;
> +		};
> +
> +		pwr {
> +			label = "led1";
> +			linux,default-trigger = "input";
> +			gpios = <0x2d 0x02 0x00>;
> +			phandle = <0x2c>;
> +		};
> +	};
> +
> +	sd_io_1v8_reg {
> +		status = "okay";
> +		compatible = "regulator-gpio";
> +		vin-supply = <0x2e>;
> +		regulator-name = "vdd-sd-io";
> +		regulator-min-microvolt = <0x1b7740>;
> +		regulator-max-microvolt = <0x325aa0>;
> +		regulator-boot-on;
> +		regulator-always-on;
> +		regulator-settling-time-us = <0x1388>;
> +		gpios = <0x2d 0x04 0x00>;
> +		states = <0x1b7740 0x01 0x325aa0 0x00>;
> +		phandle = <0x18>;
> +	};
> +
> +	__symbols__ {
> +		cpu_thermal = "/thermal-zones/cpu-thermal";
> +		soc = "/soc";
> +		txp = "/soc/txp at 7e004000";
> +		dma = "/soc/dma at 7e007000";
> +		watchdog = "/soc/watchdog at 7e100000";
> +		pm = "/soc/watchdog at 7e100000";
> +		clocks = "/soc/cprman at 7e101000";
> +		random = "/soc/rng at 7e104000";
> +		rng = "/soc/rng at 7e104000";
> +		mailbox = "/soc/mailbox at 7e00b880";
> +		gpio = "/soc/gpio at 7e200000";
> +		dpi_gpio0 = "/soc/gpio at 7e200000/dpi_gpio0";
> +		emmc_gpio22 = "/soc/gpio at 7e200000/emmc_gpio22";
> +		emmc_gpio34 = "/soc/gpio at 7e200000/emmc_gpio34";
> +		emmc_gpio48 = "/soc/gpio at 7e200000/emmc_gpio48";
> +		gpclk0_gpio4 = "/soc/gpio at 7e200000/gpclk0_gpio4";
> +		gpclk1_gpio5 = "/soc/gpio at 7e200000/gpclk1_gpio5";
> +		gpclk1_gpio42 = "/soc/gpio at 7e200000/gpclk1_gpio42";
> +		gpclk1_gpio44 = "/soc/gpio at 7e200000/gpclk1_gpio44";
> +		gpclk2_gpio6 = "/soc/gpio at 7e200000/gpclk2_gpio6";
> +		gpclk2_gpio43 = "/soc/gpio at 7e200000/gpclk2_gpio43";
> +		i2c0_gpio0 = "/soc/gpio at 7e200000/i2c0_gpio0";
> +		i2c0_gpio28 = "/soc/gpio at 7e200000/i2c0_gpio28";
> +		i2c0_gpio44 = "/soc/gpio at 7e200000/i2c0_gpio44";
> +		i2c1_gpio2 = "/soc/gpio at 7e200000/i2c1_gpio2";
> +		i2c1_gpio44 = "/soc/gpio at 7e200000/i2c1_gpio44";
> +		jtag_gpio22 = "/soc/gpio at 7e200000/jtag_gpio22";
> +		pcm_gpio18 = "/soc/gpio at 7e200000/pcm_gpio18";
> +		pcm_gpio28 = "/soc/gpio at 7e200000/pcm_gpio28";
> +		pwm0_gpio12 = "/soc/gpio at 7e200000/pwm0_gpio12";
> +		pwm0_gpio18 = "/soc/gpio at 7e200000/pwm0_gpio18";
> +		pwm0_gpio40 = "/soc/gpio at 7e200000/pwm0_gpio40";
> +		pwm1_gpio13 = "/soc/gpio at 7e200000/pwm1_gpio13";
> +		pwm1_gpio19 = "/soc/gpio at 7e200000/pwm1_gpio19";
> +		pwm1_gpio41 = "/soc/gpio at 7e200000/pwm1_gpio41";
> +		pwm1_gpio45 = "/soc/gpio at 7e200000/pwm1_gpio45";
> +		sdhost_pins = "/soc/gpio at 7e200000/sdhost_gpio48";
> +		sdhost_gpio48 = "/soc/gpio at 7e200000/sdhost_gpio48";
> +		spi0_gpio7 = "/soc/gpio at 7e200000/spi0_gpio7";
> +		spi0_gpio35 = "/soc/gpio at 7e200000/spi0_gpio35";
> +		spi1_gpio16 = "/soc/gpio at 7e200000/spi1_gpio16";
> +		spi2_gpio40 = "/soc/gpio at 7e200000/spi2_gpio40";
> +		uart0_gpio14 = "/soc/gpio at 7e200000/uart0_gpio14";
> +		uart0_ctsrts_gpio16 = "/soc/gpio at 7e200000/uart0_ctsrts_gpio16";
> +		uart0_ctsrts_gpio30 = "/soc/gpio at 7e200000/uart0_ctsrts_gpio30";
> +		uart0_gpio32 = "/soc/gpio at 7e200000/uart0_gpio32";
> +		uart0_gpio36 = "/soc/gpio at 7e200000/uart0_gpio36";
> +		uart0_ctsrts_gpio38 = "/soc/gpio at 7e200000/uart0_ctsrts_gpio38";
> +		uart1_gpio14 = "/soc/gpio at 7e200000/uart1_gpio14";
> +		uart1_ctsrts_gpio16 = "/soc/gpio at 7e200000/uart1_ctsrts_gpio16";
> +		uart1_gpio32 = "/soc/gpio at 7e200000/uart1_gpio32";
> +		uart1_ctsrts_gpio30 = "/soc/gpio at 7e200000/uart1_ctsrts_gpio30";
> +		uart1_gpio40 = "/soc/gpio at 7e200000/uart1_gpio40";
> +		uart1_ctsrts_gpio42 = "/soc/gpio at 7e200000/uart1_ctsrts_gpio42";
> +		gpclk0_gpio49 = "/soc/gpio at 7e200000/gpclk0_gpio49";
> +		gpclk1_gpio50 = "/soc/gpio at 7e200000/gpclk1_gpio50";
> +		gpclk2_gpio51 = "/soc/gpio at 7e200000/gpclk2_gpio51";
> +		i2c0_gpio46 = "/soc/gpio at 7e200000/i2c0_gpio46";
> +		i2c1_gpio46 = "/soc/gpio at 7e200000/i2c1_gpio46";
> +		i2c3_gpio2 = "/soc/gpio at 7e200000/i2c3_gpio2";
> +		i2c3_gpio4 = "/soc/gpio at 7e200000/i2c3_gpio4";
> +		i2c4_gpio6 = "/soc/gpio at 7e200000/i2c4_gpio6";
> +		i2c4_gpio8 = "/soc/gpio at 7e200000/i2c4_gpio8";
> +		i2c5_gpio10 = "/soc/gpio at 7e200000/i2c5_gpio10";
> +		i2c5_gpio12 = "/soc/gpio at 7e200000/i2c5_gpio12";
> +		i2c6_gpio0 = "/soc/gpio at 7e200000/i2c6_gpio0";
> +		i2c6_gpio22 = "/soc/gpio at 7e200000/i2c6_gpio22";
> +		i2c_slave_gpio8 = "/soc/gpio at 7e200000/i2c_slave_gpio8";
> +		jtag_gpio48 = "/soc/gpio at 7e200000/jtag_gpio48";
> +		mii_gpio28 = "/soc/gpio at 7e200000/mii_gpio28";
> +		mii_gpio36 = "/soc/gpio at 7e200000/mii_gpio36";
> +		pcm_gpio50 = "/soc/gpio at 7e200000/pcm_gpio50";
> +		pwm0_gpio52 = "/soc/gpio at 7e200000/pwm0_gpio52";
> +		pwm1_gpio53 = "/soc/gpio at 7e200000/pwm1_gpio53";
> +		rgmii_gpio35 = "/soc/gpio at 7e200000/rgmii_gpio35";
> +		rgmii_irq_gpio34 = "/soc/gpio at 7e200000/rgmii_irq_gpio34";
> +		rgmii_irq_gpio39 = "/soc/gpio at 7e200000/rgmii_irq_gpio39";
> +		rgmii_mdio_gpio28 = "/soc/gpio at 7e200000/rgmii_mdio_gpio28";
> +		rgmii_mdio_gpio37 = "/soc/gpio at 7e200000/rgmii_mdio_gpio37";
> +		spi0_gpio46 = "/soc/gpio at 7e200000/spi0_gpio46";
> +		spi2_gpio46 = "/soc/gpio at 7e200000/spi2_gpio46";
> +		spi3_gpio0 = "/soc/gpio at 7e200000/spi3_gpio0";
> +		spi4_gpio4 = "/soc/gpio at 7e200000/spi4_gpio4";
> +		spi5_gpio12 = "/soc/gpio at 7e200000/spi5_gpio12";
> +		spi6_gpio18 = "/soc/gpio at 7e200000/spi6_gpio18";
> +		uart2_gpio0 = "/soc/gpio at 7e200000/uart2_gpio0";
> +		uart2_ctsrts_gpio2 = "/soc/gpio at 7e200000/uart2_ctsrts_gpio2";
> +		uart3_gpio4 = "/soc/gpio at 7e200000/uart3_gpio4";
> +		uart3_ctsrts_gpio6 = "/soc/gpio at 7e200000/uart3_ctsrts_gpio6";
> +		uart4_gpio8 = "/soc/gpio at 7e200000/uart4_gpio8";
> +		uart4_ctsrts_gpio10 = "/soc/gpio at 7e200000/uart4_ctsrts_gpio10";
> +		uart5_gpio12 = "/soc/gpio at 7e200000/uart5_gpio12";
> +		uart5_ctsrts_gpio14 = "/soc/gpio at 7e200000/uart5_ctsrts_gpio14";
> +		dpi_18bit_gpio0 = "/soc/gpio at 7e200000/dpi_18bit_gpio0";
> +		spi0_pins = "/soc/gpio at 7e200000/spi0_pins";
> +		spi0_cs_pins = "/soc/gpio at 7e200000/spi0_cs_pins";
> +		spi3_pins = "/soc/gpio at 7e200000/spi3_pins";
> +		spi3_cs_pins = "/soc/gpio at 7e200000/spi3_cs_pins";
> +		spi4_pins = "/soc/gpio at 7e200000/spi4_pins";
> +		spi4_cs_pins = "/soc/gpio at 7e200000/spi4_cs_pins";
> +		spi5_pins = "/soc/gpio at 7e200000/spi5_pins";
> +		spi5_cs_pins = "/soc/gpio at 7e200000/spi5_cs_pins";
> +		spi6_pins = "/soc/gpio at 7e200000/spi6_pins";
> +		spi6_cs_pins = "/soc/gpio at 7e200000/spi6_cs_pins";
> +		i2c0_pins = "/soc/gpio at 7e200000/i2c0";
> +		i2c1_pins = "/soc/gpio at 7e200000/i2c1";
> +		i2c3_pins = "/soc/gpio at 7e200000/i2c3";
> +		i2c4_pins = "/soc/gpio at 7e200000/i2c4";
> +		i2c5_pins = "/soc/gpio at 7e200000/i2c5";
> +		i2c6_pins = "/soc/gpio at 7e200000/i2c6";
> +		i2s_pins = "/soc/gpio at 7e200000/i2s";
> +		sdio_pins = "/soc/gpio at 7e200000/sdio_pins";
> +		bt_pins = "/soc/gpio at 7e200000/bt_pins";
> +		uart0_pins = "/soc/gpio at 7e200000/uart0_pins";
> +		uart1_pins = "/soc/gpio at 7e200000/uart1_pins";
> +		uart2_pins = "/soc/gpio at 7e200000/uart2_pins";
> +		uart3_pins = "/soc/gpio at 7e200000/uart3_pins";
> +		uart4_pins = "/soc/gpio at 7e200000/uart4_pins";
> +		uart5_pins = "/soc/gpio at 7e200000/uart5_pins";
> +		audio_pins = "/soc/gpio at 7e200000/audio_pins";
> +		uart0 = "/soc/serial at 7e201000";
> +		sdhost = "/soc/mmc at 7e202000";
> +		i2s = "/soc/i2s at 7e203000";
> +		spi0 = "/soc/spi at 7e204000";
> +		spi = "/soc/spi at 7e204000";
> +		spidev0 = "/soc/spi at 7e204000/spidev at 0";
> +		spidev1 = "/soc/spi at 7e204000/spidev at 1";
> +		i2c0 = "/soc/i2c at 7e205000";
> +		pixelvalve0 = "/soc/pixelvalve at 7e206000";
> +		pixelvalve1 = "/soc/pixelvalve at 7e207000";
> +		dpi = "/soc/dpi at 7e208000";
> +		dsi0 = "/soc/dsi at 7e209000";
> +		aux = "/soc/aux at 7e215000";
> +		uart1 = "/soc/serial at 7e215040";
> +		spi1 = "/soc/spi at 7e215080";
> +		spi2 = "/soc/spi at 7e2150c0";
> +		pwm = "/soc/pwm at 7e20c000";
> +		hvs = "/soc/hvs at 7e400000";
> +		dsi1 = "/soc/dsi at 7e700000";
> +		csi0 = "/soc/csi at 7e800000";
> +		csi1 = "/soc/csi at 7e801000";
> +		i2c1 = "/soc/i2c at 7e804000";
> +		i2c2 = "/soc/i2c at 7e805000";
> +		vec = "/soc/vec at 7e806000";
> +		pixelvalve2 = "/soc/pixelvalve at 7e807000";
> +		hdmi = "/soc/hdmi at 7e902000";
> +		usb = "/soc/usb at 7e980000";
> +		vc4 = "/soc/gpu";
> +		local_intc = "/soc/local_intc at 40000000";
> +		gicv2 = "/soc/gic400 at 40041000";
> +		thermal = "/soc/thermal at 7d5d2200";
> +		uart2 = "/soc/serial at 7e201400";
> +		uart3 = "/soc/serial at 7e201600";
> +		uart4 = "/soc/serial at 7e201800";
> +		uart5 = "/soc/serial at 7e201a00";
> +		spi3 = "/soc/spi at 7e204600";
> +		spi4 = "/soc/spi at 7e204800";
> +		spi5 = "/soc/spi at 7e204a00";
> +		spi6 = "/soc/spi at 7e204c00";
> +		i2c3 = "/soc/i2c at 7e205600";
> +		i2c4 = "/soc/i2c at 7e205800";
> +		i2c5 = "/soc/i2c at 7e205a00";
> +		i2c6 = "/soc/i2c at 7e205c00";
> +		emmc2 = "/soc/emmc2 at 7e340000";
> +		mmc = "/soc/mmc at 7e300000";
> +		mmcnr = "/soc/mmcnr at 7e300000";
> +		firmwarekms = "/soc/firmwarekms at 7e600000";
> +		smi = "/soc/smi at 7e600000";
> +		axiperf = "/soc/axiperf";
> +		firmware = "/soc/firmware";
> +		expgpio = "/soc/firmware/expgpio";
> +		power = "/soc/power";
> +		fb = "/soc/fb";
> +		vcsm = "/soc/vcsm";
> +		audio = "/soc/audio";
> +		sound = "/soc/sound";
> +		virtgpio = "/soc/virtgpio";
> +		clk_osc = "/clocks/clock at 3";
> +		clk_usb = "/clocks/clock at 4";
> +		usbphy = "/phy";
> +		cpus = "/cpus";
> +		cpu0 = "/cpus/cpu at 0";
> +		cpu1 = "/cpus/cpu at 1";
> +		cpu2 = "/cpus/cpu at 2";
> +		cpu3 = "/cpus/cpu at 3";
> +		v3d = "/v3dbus/v3d at 7ec04000";
> +		scb = "/scb";
> +		pcie_0 = "/scb/pcie at 7d500000";
> +		genet = "/scb/genet at 7d580000";
> +		phy1 = "/scb/genet at 7d580000/mdio at e14/genet-phy at 0";
> +		dma40 = "/scb/dma at 7e007b00";
> +		xhci = "/scb/xhci at 7e9c0000";
> +		vchiq = "/scb/mailbox at 7e00b840";
> +		vdd_5v0_reg = "/fixedregulator_5v0";
> +		vdd_3v3_reg = "/fixedregulator_3v3";
> +		leds = "/leds";
> +		act_led = "/leds/act";
> +		pwr_led = "/leds/pwr";
> +		sd_io_1v8_reg = "/sd_io_1v8_reg";
> +	};
> +};
> diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
> index 88f7504a60f..0d534b8a28d 100644
> --- a/configs/rpi_4_32b_defconfig
> +++ b/configs/rpi_4_32b_defconfig
> @@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x00008000
>  CONFIG_SYS_MALLOC_F_LEN=0x2000
>  CONFIG_TARGET_RPI_4_32B=y
>  CONFIG_ENV_SIZE=0x4000
> +CONFIG_DEFAULT_DEVICE_TREE="bcm2711-rpi-4-b"
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_SYS_LOAD_ADDR=0x1000000
>  CONFIG_OF_BOARD_SETUP=y
> diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
> index 59a71031540..0b3cadaced2 100644
> --- a/configs/rpi_4_defconfig
> +++ b/configs/rpi_4_defconfig
> @@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x00080000
>  CONFIG_SYS_MALLOC_F_LEN=0x2000
>  CONFIG_TARGET_RPI_4=y
>  CONFIG_ENV_SIZE=0x4000
> +CONFIG_DEFAULT_DEVICE_TREE="bcm2711-rpi-4-b"
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_SYS_LOAD_ADDR=0x1000000
>  CONFIG_OF_BOARD_SETUP=y
> diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig
> index 67dbf094ef7..07f67394ac2 100644
> --- a/configs/rpi_arm64_defconfig
> +++ b/configs/rpi_arm64_defconfig
> @@ -6,6 +6,7 @@ CONFIG_TARGET_RPI_ARM64=y
>  CONFIG_ENV_SIZE=0x4000
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_SYS_LOAD_ADDR=0x1000000
> +CONFIG_DEFAULT_DEVICE_TREE="bcm2711-rpi-4-b"
>  CONFIG_OF_BOARD_SETUP=y
>  CONFIG_USE_PREBOOT=y
>  CONFIG_PREBOOT="pci enum; usb start;"
> -- 
> 2.34.0.rc2.393.gf8c9666880-goog
> 
> 


More information about the U-Boot mailing list