public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-non-osi PATCHv2 0/1] Platform/RaspberryPi/RPi3: Use official Device Tree binaries
@ 2019-09-15 21:49 Pete Batard
  2019-09-15 21:49 ` [edk2-non-osi PATCHv2 1/1] " Pete Batard
  0 siblings, 1 reply; 3+ messages in thread
From: Pete Batard @ 2019-09-15 21:49 UTC (permalink / raw)
  To: devel; +Cc: ard.biesheuvel, leif.lindholm

v2 that clarifies licensing matters as well as the exact commit from
which we obtained the dtbs.

Pete Batard (1):
  Platform/RaspberryPi/RPi3: Use official Device Tree binaries

 Platform/RaspberryPi/RPi3/DeviceTree/Readme.md                |   14 +
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb |  Bin 25617 -> 27082 bytes
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dts | 1263 --------------------
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dtb      |  Bin 25354 -> 26463 bytes
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts      | 1259 -------------------
 5 files changed, 14 insertions(+), 2522 deletions(-)
 create mode 100644 Platform/RaspberryPi/RPi3/DeviceTree/Readme.md
 delete mode 100644 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dts
 delete mode 100644 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts

-- 
2.21.0.windows.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [edk2-non-osi PATCHv2 1/1] Platform/RaspberryPi/RPi3: Use official Device Tree binaries
  2019-09-15 21:49 [edk2-non-osi PATCHv2 0/1] Platform/RaspberryPi/RPi3: Use official Device Tree binaries Pete Batard
@ 2019-09-15 21:49 ` Pete Batard
  2019-09-16 17:47   ` Leif Lindholm
  0 siblings, 1 reply; 3+ messages in thread
From: Pete Batard @ 2019-09-15 21:49 UTC (permalink / raw)
  To: devel; +Cc: ard.biesheuvel, leif.lindholm

With commit 5f003136c2bf86620c0caaef0ad146b5e7fd2f6b having been applied to
edk2-platforms, we can use the official Raspberry Pi 3 Device Trees from
https://github.com/raspberrypi/firmware/tree/master/boot, as the FdtDxe
driver for that platform can insert missing elements, if required.

This patch replaces the existing dtbs with the most recent official ones
and also removes the custom dts' from which previous dtbs were produced.

Signed-off-by: Pete Batard <pete@akeo.ie>
---
 Platform/RaspberryPi/RPi3/DeviceTree/Readme.md                |   14 +
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb |  Bin 25617 -> 27082 bytes
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dts | 1263 --------------------
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dtb      |  Bin 25354 -> 26463 bytes
 Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts      | 1259 -------------------
 5 files changed, 14 insertions(+), 2522 deletions(-)

diff --git a/Platform/RaspberryPi/RPi3/DeviceTree/Readme.md b/Platform/RaspberryPi/RPi3/DeviceTree/Readme.md
new file mode 100644
index 000000000000..708c2d1a630a
--- /dev/null
+++ b/Platform/RaspberryPi/RPi3/DeviceTree/Readme.md
@@ -0,0 +1,14 @@
+Device Tree for Raspberry Pi 3
+==============================
+
+This directory contains a copy of the official Device Trees for the
+Raspberry Pi 3 as published by the Raspberry Pi Foundation at
+https://github.com/raspberrypi/firmware/tree/master/boot.
+
+Especially, the dtbs found in this directory are an exact copy of
+the ones updated by the Raspberry Pi Foundation on 2019.06.24 with
+commit `64b5649a41b69d09bfe0ed05448d28a66be3edfd`.
+
+As per [the Foundation's Readme](https://github.com/raspberrypi/firmware/blob/64b5649a41b69d09bfe0ed05448d28a66be3edfd/README.md),
+because the dtbs are built from Linux kernel sources, the license
+that applies to them is the GPLv2.
diff --git a/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb b/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb
index d1b37bd1375de4fe4b5f26fe611e40a5a09d9327..bdc7e43f05cfe1f2d4001627672783f06ed9a155 100644
GIT binary patch
literal 27082
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
B18)ET

literal 25617
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
G;Qs)(;p;~L

diff --git a/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dts b/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dts
deleted file mode 100644
index e22c5d055f47..000000000000
--- a/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dts
+++ /dev/null
@@ -1,1263 +0,0 @@
-/dts-v1/;
-
-/*
- * Raspberry Pi 3 Model B+ DTS (Device Tree Source), for UEFI firmware.
- *
- * This source is the mostly identical to the decompiled version of the
- * official DTB (Device Tree Binary), as found at:
- *   https://github.com/raspberrypi/firmware/tree/master/boot
- *
- * Only the following changes were applied:
- * - Two fixes for USB keyboard support under the usb@7e980000 section:
- *   compatible = "brcm,bcm2708-usb"; -> compatible = "brcm,bcm2835-usb";
- *   interrupts = <0x2 0x0 0x1 0x9>;  -> interrupts = <0x1 0x9>;
- * - A 'psci' section was added, as it is provided by the ATF
- * - The 'enable-method' for CPUs was swicthed to "psci" instead of "spin-table"
- */
-
-/memreserve/  0x0000000000000000 0x0000000000001000;
-/ {
-  compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
-  model = "Raspberry Pi 3 Model B+";
-  interrupt-parent = <0x1>;
-  #address-cells = <0x1>;
-  #size-cells = <0x1>;
-
-  aliases {
-    serial0 = "/soc/serial@7e215040";
-    serial1 = "/soc/serial@7e201000";
-    audio = "/soc/audio";
-    aux = "/soc/aux@0x7e215000";
-    sound = "/soc/sound";
-    soc = "/soc";
-    dma = "/soc/dma@7e007000";
-    intc = "/soc/interrupt-controller@7e00b200";
-    watchdog = "/soc/watchdog@7e100000";
-    random = "/soc/rng@7e104000";
-    mailbox = "/soc/mailbox@7e00b880";
-    gpio = "/soc/gpio@7e200000";
-    uart0 = "/soc/serial@7e201000";
-    sdhost = "/soc/mmc@7e202000";
-    mmc0 = "/soc/mmc@7e202000";
-    i2s = "/soc/i2s@7e203000";
-    spi0 = "/soc/spi@7e204000";
-    i2c0 = "/soc/i2c@7e205000";
-    uart1 = "/soc/serial@7e215040";
-    spi1 = "/soc/spi@7e215080";
-    spi2 = "/soc/spi@7e2150c0";
-    mmc = "/soc/mmc@7e300000";
-    mmc1 = "/soc/mmc@7e300000";
-    i2c1 = "/soc/i2c@7e804000";
-    i2c2 = "/soc/i2c@7e805000";
-    usb = "/soc/usb@7e980000";
-    leds = "/leds";
-    fb = "/soc/fb";
-    vchiq = "/soc/vchiq";
-    thermal = "/soc/thermal@7e212000";
-    axiperf = "/soc/axiperf";
-    ethernet0 = "/soc/usb@7e980000/usb1@1/usb1_1@1/usbether@1";
-  };
-
-  chosen {
-    bootargs = "8250.nr_uarts=1";
-  };
-
-  thermal-zones {
-
-    cpu-thermal {
-      polling-delay-passive = <0x0>;
-      polling-delay = <0x3e8>;
-      thermal-sensors = <0x2>;
-      coefficients = <0xfffffde6 0x64960>;
-      phandle = <0x31>;
-
-      cooling-maps {
-      };
-    };
-  };
-
-  soc {
-    compatible = "simple-bus";
-    #address-cells = <0x1>;
-    #size-cells = <0x1>;
-    ranges = <0x7e000000 0x3f000000 0x1000000 0x40000000 0x40000000 0x1000>;
-    dma-ranges = <0xc0000000 0x0 0x3f000000>;
-    phandle = <0x32>;
-
-    dma@7e007000 {
-      compatible = "brcm,bcm2835-dma";
-      reg = <0x7e007000 0xf00>;
-      interrupts = <0x1 0x10 0x1 0x11 0x1 0x12 0x1 0x13 0x1 0x14 0x1 0x15 0x1 0x16 0x1 0x17 0x1 0x18 0x1 0x19 0x1 0x1a 0x1 0x1b 0x1 0x1b 0x1 0x1b 0x1 0x1b 0x1 0x1c>;
-      interrupt-names = "dma0", "dma1", "dma2", "dma3", "dma4", "dma5", "dma6", "dma7", "dma8", "dma9", "dma10", "dma11", "dma12", "dma13", "dma14", "dma-shared-all";
-      #dma-cells = <0x1>;
-      brcm,dma-channel-mask = <0x7f34>;
-      phandle = <0xb>;
-    };
-
-    interrupt-controller@7e00b200 {
-      compatible = "brcm,bcm2836-armctrl-ic";
-      reg = <0x7e00b200 0x200>;
-      interrupt-controller;
-      #interrupt-cells = <0x2>;
-      interrupt-parent = <0x3>;
-      interrupts = <0x8>;
-      phandle = <0x1>;
-    };
-
-    watchdog@7e100000 {
-      compatible = "brcm,bcm2835-pm-wdt";
-      reg = <0x7e100000 0x28>;
-      phandle = <0x24>;
-    };
-
-    cprman@7e101000 {
-      compatible = "brcm,bcm2835-cprman";
-      #clock-cells = <0x1>;
-      reg = <0x7e101000 0x2000>;
-      clocks = <0x4 0x5 0x0 0x5 0x1 0x5 0x2 0x6 0x0 0x6 0x1 0x6 0x2>;
-      firmware = <0x7>;
-      phandle = <0x8>;
-    };
-
-    rng@7e104000 {
-      compatible = "brcm,bcm2835-rng";
-      reg = <0x7e104000 0x10>;
-      interrupts = <0x2 0x1d>;
-      phandle = <0x25>;
-    };
-
-    mailbox@7e00b880 {
-      compatible = "brcm,bcm2835-mbox";
-      reg = <0x7e00b880 0x40>;
-      interrupts = <0x0 0x1>;
-      #mbox-cells = <0x0>;
-      phandle = <0x1a>;
-    };
-
-    gpio@7e200000 {
-      compatible = "brcm,bcm2835-gpio";
-      reg = <0x7e200000 0xb4>;
-      interrupts = <0x2 0x11 0x2 0x12>;
-      gpio-controller;
-      #gpio-cells = <0x2>;
-      interrupt-controller;
-      #interrupt-cells = <0x2>;
-      phandle = <0x10>;
-
-      dpi_gpio0 {
-        brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b>;
-        brcm,function = <0x6>;
-        phandle = <0x33>;
-      };
-
-      emmc_gpio22 {
-        brcm,pins = <0x16 0x17 0x18 0x19 0x1a 0x1b>;
-        brcm,function = <0x7>;
-        phandle = <0x34>;
-      };
-
-      emmc_gpio34 {
-        brcm,pins = <0x22 0x23 0x24 0x25 0x26 0x27>;
-        brcm,function = <0x7>;
-        brcm,pull = <0x0 0x2 0x2 0x2 0x2 0x2>;
-        phandle = <0x35>;
-      };
-
-      emmc_gpio48 {
-        brcm,pins = <0x30 0x31 0x32 0x33 0x34 0x35>;
-        brcm,function = <0x7>;
-        phandle = <0x36>;
-      };
-
-      gpclk0_gpio4 {
-        brcm,pins = <0x4>;
-        brcm,function = <0x4>;
-        phandle = <0x37>;
-      };
-
-      gpclk1_gpio5 {
-        brcm,pins = <0x5>;
-        brcm,function = <0x4>;
-        phandle = <0x38>;
-      };
-
-      gpclk1_gpio42 {
-        brcm,pins = <0x2a>;
-        brcm,function = <0x4>;
-        phandle = <0x39>;
-      };
-
-      gpclk1_gpio44 {
-        brcm,pins = <0x2c>;
-        brcm,function = <0x4>;
-        phandle = <0x3a>;
-      };
-
-      gpclk2_gpio6 {
-        brcm,pins = <0x6>;
-        brcm,function = <0x4>;
-        phandle = <0x3b>;
-      };
-
-      gpclk2_gpio43 {
-        brcm,pins = <0x2b>;
-        brcm,function = <0x4>;
-        phandle = <0x3c>;
-      };
-
-      i2c0_gpio0 {
-        brcm,pins = <0x0 0x1>;
-        brcm,function = <0x4>;
-        phandle = <0x3d>;
-      };
-
-      i2c0_gpio28 {
-        brcm,pins = <0x1c 0x1d>;
-        brcm,function = <0x4>;
-        phandle = <0x3e>;
-      };
-
-      i2c0_gpio44 {
-        brcm,pins = <0x2c 0x2d>;
-        brcm,function = <0x5>;
-        phandle = <0x3f>;
-      };
-
-      i2c1_gpio2 {
-        brcm,pins = <0x2 0x3>;
-        brcm,function = <0x4>;
-        phandle = <0x40>;
-      };
-
-      i2c1_gpio44 {
-        brcm,pins = <0x2c 0x2d>;
-        brcm,function = <0x6>;
-        phandle = <0x41>;
-      };
-
-      i2c_slave_gpio18 {
-        brcm,pins = <0x12 0x13 0x14 0x15>;
-        brcm,function = <0x7>;
-        phandle = <0x42>;
-      };
-
-      jtag_gpio4 {
-        brcm,pins = <0x4 0x5 0x6 0xc 0xd>;
-        brcm,function = <0x2>;
-        phandle = <0x43>;
-      };
-
-      jtag_gpio22 {
-        brcm,pins = <0x16 0x17 0x18 0x19 0x1a 0x1b>;
-        brcm,function = <0x3>;
-        phandle = <0x44>;
-      };
-
-      pcm_gpio18 {
-        brcm,pins = <0x12 0x13 0x14 0x15>;
-        brcm,function = <0x4>;
-        phandle = <0x45>;
-      };
-
-      pcm_gpio28 {
-        brcm,pins = <0x1c 0x1d 0x1e 0x1f>;
-        brcm,function = <0x6>;
-        phandle = <0x46>;
-      };
-
-      pwm0_gpio12 {
-        brcm,pins = <0xc>;
-        brcm,function = <0x4>;
-        phandle = <0x47>;
-      };
-
-      pwm0_gpio18 {
-        brcm,pins = <0x12>;
-        brcm,function = <0x2>;
-        phandle = <0x48>;
-      };
-
-      pwm0_gpio40 {
-        brcm,pins = <0x28>;
-        brcm,function = <0x4>;
-        phandle = <0x49>;
-      };
-
-      pwm1_gpio13 {
-        brcm,pins = <0xd>;
-        brcm,function = <0x4>;
-        phandle = <0x4a>;
-      };
-
-      pwm1_gpio19 {
-        brcm,pins = <0x13>;
-        brcm,function = <0x2>;
-        phandle = <0x4b>;
-      };
-
-      pwm1_gpio41 {
-        brcm,pins = <0x29>;
-        brcm,function = <0x4>;
-        phandle = <0x4c>;
-      };
-
-      pwm1_gpio45 {
-        brcm,pins = <0x2d>;
-        brcm,function = <0x4>;
-        phandle = <0x4d>;
-      };
-
-      sdhost_gpio48 {
-        brcm,pins = <0x30 0x31 0x32 0x33 0x34 0x35>;
-        brcm,function = <0x4>;
-        phandle = <0xc>;
-      };
-
-      spi0_gpio7 {
-        brcm,pins = <0x7 0x8 0x9 0xa 0xb>;
-        brcm,function = <0x4>;
-        phandle = <0x4e>;
-      };
-
-      spi0_gpio35 {
-        brcm,pins = <0x23 0x24 0x25 0x26 0x27>;
-        brcm,function = <0x4>;
-        phandle = <0x4f>;
-      };
-
-      spi1_gpio16 {
-        brcm,pins = <0x10 0x11 0x12 0x13 0x14 0x15>;
-        brcm,function = <0x3>;
-        phandle = <0x50>;
-      };
-
-      spi2_gpio40 {
-        brcm,pins = <0x28 0x29 0x2a 0x2b 0x2c 0x2d>;
-        brcm,function = <0x3>;
-        phandle = <0x51>;
-      };
-
-      uart0_gpio14 {
-        brcm,pins = <0xe 0xf>;
-        brcm,function = <0x4>;
-        phandle = <0x52>;
-      };
-
-      uart0_ctsrts_gpio16 {
-        brcm,pins = <0x10 0x11>;
-        brcm,function = <0x7>;
-        phandle = <0x53>;
-      };
-
-      uart0_ctsrts_gpio30 {
-        brcm,pins = <0x1e 0x1f>;
-        brcm,function = <0x7>;
-        phandle = <0x54>;
-      };
-
-      uart0_gpio32 {
-        brcm,pins = <0x20 0x21>;
-        brcm,function = <0x7>;
-        phandle = <0x55>;
-      };
-
-      uart0_gpio36 {
-        brcm,pins = <0x24 0x25>;
-        brcm,function = <0x6>;
-        phandle = <0x56>;
-      };
-
-      uart0_ctsrts_gpio38 {
-        brcm,pins = <0x26 0x27>;
-        brcm,function = <0x6>;
-        phandle = <0x57>;
-      };
-
-      uart1_gpio14 {
-        brcm,pins = <0xe 0xf>;
-        brcm,function = <0x2>;
-        phandle = <0x58>;
-      };
-
-      uart1_ctsrts_gpio16 {
-        brcm,pins = <0x10 0x11>;
-        brcm,function = <0x2>;
-        phandle = <0x59>;
-      };
-
-      uart1_gpio32 {
-        brcm,pins = <0x20 0x21>;
-        brcm,function = <0x2>;
-        phandle = <0x5a>;
-      };
-
-      uart1_ctsrts_gpio30 {
-        brcm,pins = <0x1e 0x1f>;
-        brcm,function = <0x2>;
-        phandle = <0x5b>;
-      };
-
-      uart1_gpio40 {
-        brcm,pins = <0x28 0x29>;
-        brcm,function = <0x2>;
-        phandle = <0x5c>;
-      };
-
-      uart1_ctsrts_gpio42 {
-        brcm,pins = <0x2a 0x2b>;
-        brcm,function = <0x2>;
-        phandle = <0x5d>;
-      };
-
-      dpi_18bit_gpio0 {
-        brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15>;
-        brcm,function = <0x6>;
-        phandle = <0x5e>;
-      };
-
-      spi0_pins {
-        brcm,pins = <0x9 0xa 0xb>;
-        brcm,function = <0x4>;
-        phandle = <0xe>;
-      };
-
-      spi0_cs_pins {
-        brcm,pins = <0x8 0x7>;
-        brcm,function = <0x1>;
-        phandle = <0xf>;
-      };
-
-      i2c0 {
-        brcm,pins = <0x0 0x1>;
-        brcm,function = <0x4>;
-        phandle = <0x11>;
-      };
-
-      i2c1 {
-        brcm,pins = <0x2 0x3>;
-        brcm,function = <0x4>;
-        phandle = <0x15>;
-      };
-
-      i2s {
-        brcm,pins = <0x12 0x13 0x14 0x15>;
-        brcm,function = <0x4>;
-        phandle = <0xd>;
-      };
-
-      sdio_pins {
-        brcm,pins = <0x22 0x23 0x24 0x25 0x26 0x27>;
-        brcm,function = <0x7>;
-        brcm,pull = <0x0 0x2 0x2 0x2 0x2 0x2>;
-        phandle = <0x19>;
-      };
-
-      bt_pins {
-        brcm,pins = <0x2b>;
-        brcm,function = <0x4>;
-        brcm,pull = <0x0>;
-        phandle = <0xa>;
-      };
-
-      uart0_pins {
-        brcm,pins = <0x20 0x21>;
-        brcm,function = <0x7>;
-        brcm,pull = <0x0 0x2>;
-        phandle = <0x9>;
-      };
-
-      uart1_pins {
-        brcm,pins;
-        brcm,function;
-        brcm,pull;
-        phandle = <0x13>;
-      };
-
-      audio_pins {
-        brcm,pins = <0x28 0x29>;
-        brcm,function = <0x4>;
-        phandle = <0x1b>;
-      };
-    };
-
-    serial@7e201000 {
-      compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
-      reg = <0x7e201000 0x1000>;
-      interrupts = <0x2 0x19>;
-      clocks = <0x8 0x13 0x8 0x14>;
-      clock-names = "uartclk", "apb_pclk";
-      arm,primecell-periphid = <0x241011>;
-      cts-event-workaround;
-      pinctrl-names = "default";
-      pinctrl-0 = <0x9 0xa>;
-      status = "okay";
-      phandle = <0x1d>;
-    };
-
-    mmc@7e202000 {
-      compatible = "brcm,bcm2835-sdhost";
-      reg = <0x7e202000 0x100>;
-      interrupts = <0x2 0x18>;
-      clocks = <0x8 0x14>;
-      dmas = <0xb 0xd>;
-      dma-names = "rx-tx";
-      status = "okay";
-      pinctrl-names = "default";
-      pinctrl-0 = <0xc>;
-      bus-width = <0x4>;
-      brcm,overclock-50 = <0x0>;
-      brcm,pio-limit = <0x1>;
-      phandle = <0x26>;
-    };
-
-    i2s@7e203000 {
-      compatible = "brcm,bcm2835-i2s";
-      reg = <0x7e203000 0x24>;
-      clocks = <0x8 0x1f>;
-      dmas = <0xb 0x2 0xb 0x3>;
-      dma-names = "tx", "rx";
-      status = "disabled";
-      #sound-dai-cells = <0x0>;
-      pinctrl-names = "default";
-      pinctrl-0 = <0xd>;
-      phandle = <0x1f>;
-    };
-
-    spi@7e204000 {
-      compatible = "brcm,bcm2835-spi";
-      reg = <0x7e204000 0x1000>;
-      interrupts = <0x2 0x16>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      dmas = <0xb 0x6 0xb 0x7>;
-      dma-names = "tx", "rx";
-      pinctrl-names = "default";
-      pinctrl-0 = <0xe 0xf>;
-      cs-gpios = <0x10 0x8 0x1 0x10 0x7 0x1>;
-      phandle = <0x20>;
-
-      spidev@0 {
-        compatible = "spidev";
-        reg = <0x0>;
-        #address-cells = <0x1>;
-        #size-cells = <0x0>;
-        spi-max-frequency = <0x7735940>;
-        phandle = <0x5f>;
-      };
-
-      spidev@1 {
-        compatible = "spidev";
-        reg = <0x1>;
-        #address-cells = <0x1>;
-        #size-cells = <0x0>;
-        spi-max-frequency = <0x7735940>;
-        phandle = <0x60>;
-      };
-    };
-
-    i2c@7e205000 {
-      compatible = "brcm,bcm2835-i2c";
-      reg = <0x7e205000 0x1000>;
-      interrupts = <0x2 0x15>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x11>;
-      clock-frequency = <0x186a0>;
-      phandle = <0x21>;
-    };
-
-    pixelvalve@7e206000 {
-      compatible = "brcm,bcm2835-pixelvalve0";
-      reg = <0x7e206000 0x100>;
-      interrupts = <0x2 0xd>;
-      status = "disabled";
-      phandle = <0x61>;
-    };
-
-    pixelvalve@7e207000 {
-      compatible = "brcm,bcm2835-pixelvalve1";
-      reg = <0x7e207000 0x100>;
-      interrupts = <0x2 0xe>;
-      status = "disabled";
-      phandle = <0x62>;
-    };
-
-    dpi@7e208000 {
-      compatible = "brcm,bcm2835-dpi";
-      reg = <0x7e208000 0x8c>;
-      clocks = <0x8 0x14 0x8 0x2c>;
-      clock-names = "core", "pixel";
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      phandle = <0x63>;
-    };
-
-    dsi@7e209000 {
-      compatible = "brcm,bcm2835-dsi0";
-      reg = <0x7e209000 0x78>;
-      interrupts = <0x2 0x4>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      clocks = <0x8 0x20 0x8 0x2f 0x8 0x31>;
-      clock-names = "phy", "escape", "pixel";
-      clock-output-names = "dsi0_byte", "dsi0_ddr2", "dsi0_ddr";
-      phandle = <0x5>;
-    };
-
-    thermal@7e212000 {
-      compatible = "brcm,bcm2837-thermal";
-      reg = <0x7e212000 0x8>;
-      clocks = <0x8 0x1b>;
-      #thermal-sensor-cells = <0x0>;
-      status = "okay";
-      phandle = <0x2>;
-    };
-
-    aux@0x7e215000 {
-      compatible = "brcm,bcm2835-aux";
-      #clock-cells = <0x1>;
-      reg = <0x7e215000 0x8>;
-      clocks = <0x8 0x14>;
-      interrupts = <0x1 0x1d>;
-      interrupt-controller;
-      #interrupt-cells = <0x1>;
-      phandle = <0x12>;
-    };
-
-    serial@7e215040 {
-      compatible = "brcm,bcm2835-aux-uart";
-      reg = <0x7e215040 0x40>;
-      interrupts = <0x0>;
-      clocks = <0x12 0x0>;
-      status = "okay";
-      interrupt-parent = <0x12>;
-      pinctrl-names = "default";
-      pinctrl-0 = <0x13>;
-      phandle = <0x1e>;
-    };
-
-    spi@7e215080 {
-      compatible = "brcm,bcm2835-aux-spi";
-      reg = <0x7e215080 0x40>;
-      interrupts = <0x1>;
-      clocks = <0x12 0x1>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      interrupt-parent = <0x12>;
-      phandle = <0x64>;
-    };
-
-    spi@7e2150c0 {
-      compatible = "brcm,bcm2835-aux-spi";
-      reg = <0x7e2150c0 0x40>;
-      interrupts = <0x2>;
-      clocks = <0x12 0x2>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      interrupt-parent = <0x12>;
-      phandle = <0x65>;
-    };
-
-    pwm@7e20c000 {
-      compatible = "brcm,bcm2835-pwm";
-      reg = <0x7e20c000 0x28>;
-      clocks = <0x8 0x1e>;
-      assigned-clocks = <0x8 0x1e>;
-      assigned-clock-rates = <0x989680>;
-      #pwm-cells = <0x2>;
-      status = "disabled";
-      phandle = <0x66>;
-    };
-
-    hvs@7e400000 {
-      compatible = "brcm,bcm2835-hvs";
-      reg = <0x7e400000 0x6000>;
-      interrupts = <0x2 0x1>;
-      status = "disabled";
-      phandle = <0x67>;
-    };
-
-    dsi@7e700000 {
-      compatible = "brcm,bcm2835-dsi1";
-      reg = <0x7e700000 0x8c>;
-      interrupts = <0x2 0xc>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      clocks = <0x8 0x23 0x8 0x30 0x8 0x32>;
-      clock-names = "phy", "escape", "pixel";
-      clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
-      status = "disabled";
-      phandle = <0x6>;
-    };
-
-    csi0@7e800000 {
-      compatible = "brcm,bcm2835-unicam";
-      reg = <0x7e800000 0x800 0x7e802000 0x4>;
-      interrupts = <0x2 0x6>;
-      clocks = <0x8 0x2d>;
-      clock-names = "lp";
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      status = "disabled";
-      power-domains = <0x14 0xc>;
-      phandle = <0x68>;
-    };
-
-    csi1@7e801000 {
-      compatible = "brcm,bcm2835-unicam";
-      reg = <0x7e801000 0x800 0x7e802004 0x4>;
-      interrupts = <0x2 0x7>;
-      clocks = <0x8 0x2e>;
-      clock-names = "lp";
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      status = "disabled";
-      power-domains = <0x14 0xd>;
-      phandle = <0x69>;
-
-      port {
-
-        endpoint {
-          data-lanes = <0x1 0x2>;
-        };
-      };
-    };
-
-    i2c@7e804000 {
-      compatible = "brcm,bcm2835-i2c";
-      reg = <0x7e804000 0x1000>;
-      interrupts = <0x2 0x15>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x15>;
-      clock-frequency = <0x186a0>;
-      phandle = <0x22>;
-    };
-
-    i2c@7e805000 {
-      compatible = "brcm,bcm2835-i2c";
-      reg = <0x7e805000 0x1000>;
-      interrupts = <0x2 0x15>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      clock-frequency = <0x186a0>;
-      phandle = <0x16>;
-    };
-
-    vec@7e806000 {
-      compatible = "brcm,bcm2835-vec";
-      reg = <0x7e806000 0x1000>;
-      clocks = <0x8 0x18>;
-      interrupts = <0x2 0x1b>;
-      status = "disabled";
-      phandle = <0x6a>;
-    };
-
-    pixelvalve@7e807000 {
-      compatible = "brcm,bcm2835-pixelvalve2";
-      reg = <0x7e807000 0x100>;
-      interrupts = <0x2 0xa>;
-      status = "disabled";
-      phandle = <0x6b>;
-    };
-
-    hdmi@7e902000 {
-      compatible = "brcm,bcm2835-hdmi";
-      reg = <0x7e902000 0x600 0x7e808000 0x100>;
-      interrupts = <0x2 0x8 0x2 0x9>;
-      ddc = <0x16>;
-      clocks = <0x8 0x10 0x8 0x19>;
-      clock-names = "pixel", "hdmi";
-      dmas = <0xb 0x11>;
-      dma-names = "audio-rx";
-      status = "disabled";
-      power-domains = <0x14 0x5>;
-      hpd-gpios = <0x10 0x1c 0x1>;
-      phandle = <0x6c>;
-    };
-
-    usb@7e980000 {
-      compatible = "brcm,bcm2835-usb";
-      reg = <0x7e980000 0x10000 0x7e006000 0x1000>;
-      interrupts = <0x1 0x9>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      clocks = <0x17>;
-      clock-names = "otg";
-      phys = <0x18>;
-      phy-names = "usb2-phy";
-      power-domains = <0x14 0x6>;
-      phandle = <0x6d>;
-
-      usb1@1 {
-        compatible = "usb424,2514";
-        reg = <0x1>;
-        #address-cells = <0x1>;
-        #size-cells = <0x0>;
-
-        usb1_1@1 {
-          compatible = "usb424,2514";
-          reg = <0x1>;
-          #address-cells = <0x1>;
-          #size-cells = <0x0>;
-
-          usbether@1 {
-            compatible = "usb424,7800";
-            reg = <0x1>;
-            microchip,eee-enabled;
-            microchip,tx-lpi-timer = <0x258>;
-            microchip,led-modes = <0x1 0x6>;
-            phandle = <0x2d>;
-          };
-        };
-      };
-    };
-
-    v3d@7ec00000 {
-      compatible = "brcm,vc4-v3d";
-      reg = <0x7ec00000 0x1000>;
-      interrupts = <0x1 0xa>;
-      power-domains = <0x14 0xa>;
-      status = "disabled";
-      phandle = <0x6e>;
-    };
-
-    gpu {
-      compatible = "brcm,bcm2835-vc4";
-      status = "disabled";
-      phandle = <0x6f>;
-    };
-
-    local_intc@40000000 {
-      compatible = "brcm,bcm2836-l1-intc";
-      reg = <0x40000000 0x100>;
-      interrupt-controller;
-      #interrupt-cells = <0x1>;
-      interrupt-parent = <0x3>;
-      phandle = <0x3>;
-    };
-
-    mmc@7e300000 {
-      compatible = "brcm,bcm2835-mmc", "brcm,bcm2835-sdhci";
-      reg = <0x7e300000 0x100>;
-      interrupts = <0x2 0x1e>;
-      clocks = <0x8 0x1c>;
-      dmas = <0xb 0xb>;
-      dma-names = "rx-tx";
-      brcm,overclock-50 = <0x0>;
-      status = "okay";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x19>;
-      non-removable;
-      bus-width = <0x4>;
-      phandle = <0x27>;
-    };
-
-    firmwarekms@7e600000 {
-      compatible = "raspberrypi,rpi-firmware-kms";
-      reg = <0x7e600000 0x100>;
-      interrupts = <0x2 0x10>;
-      brcm,firmware = <0x7>;
-      status = "disabled";
-      phandle = <0x70>;
-    };
-
-    smi@7e600000 {
-      compatible = "brcm,bcm2835-smi";
-      reg = <0x7e600000 0x100>;
-      interrupts = <0x2 0x10>;
-      clocks = <0x8 0x2a>;
-      assigned-clocks = <0x8 0x2a>;
-      assigned-clock-rates = <0x7735940>;
-      dmas = <0xb 0x4>;
-      dma-names = "rx-tx";
-      status = "disabled";
-      phandle = <0x71>;
-    };
-
-    axiperf {
-      compatible = "brcm,bcm2835-axiperf";
-      reg = <0x7e009800 0x100 0x7ee08000 0x100>;
-      firmware = <0x7>;
-      status = "disabled";
-      phandle = <0x28>;
-    };
-
-    gpiomem {
-      compatible = "brcm,bcm2835-gpiomem";
-      reg = <0x7e200000 0x1000>;
-    };
-
-    firmware {
-      compatible = "raspberrypi,bcm2835-firmware";
-      mboxes = <0x1a>;
-      phandle = <0x7>;
-    };
-
-    power {
-      compatible = "raspberrypi,bcm2835-power";
-      firmware = <0x7>;
-      #power-domain-cells = <0x1>;
-      phandle = <0x14>;
-    };
-
-    fb {
-      compatible = "brcm,bcm2708-fb";
-      firmware = <0x7>;
-      status = "okay";
-      phandle = <0x72>;
-    };
-
-    vchiq {
-      compatible = "brcm,bcm2835-vchiq";
-      reg = <0x7e00b840 0xf>;
-      interrupts = <0x0 0x2>;
-      cache-line-size = <0x20>;
-      firmware = <0x7>;
-      phandle = <0x1c>;
-    };
-
-    vcsm {
-      compatible = "raspberrypi,bcm2835-vcsm";
-      firmware = <0x7>;
-      status = "okay";
-      phandle = <0x73>;
-    };
-
-    audio {
-      compatible = "brcm,bcm2835-audio";
-      brcm,pwm-channels = <0x8>;
-      status = "disabled";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x1b>;
-      phandle = <0x23>;
-    };
-
-    sound {
-      status = "disabled";
-      phandle = <0x74>;
-    };
-
-    arm-pmu {
-      compatible = "arm,cortex-a7-pmu";
-      interrupt-parent = <0x3>;
-      interrupts = <0x9>;
-    };
-
-    expgpio {
-      compatible = "brcm,bcm2835-expgpio";
-      gpio-controller;
-      #gpio-cells = <0x2>;
-      firmware = <0x7>;
-      status = "okay";
-      phandle = <0x30>;
-    };
-  };
-
-  clocks {
-    compatible = "simple-bus";
-    #address-cells = <0x1>;
-    #size-cells = <0x0>;
-
-    clock@3 {
-      compatible = "fixed-clock";
-      reg = <0x3>;
-      #clock-cells = <0x0>;
-      clock-output-names = "osc";
-      clock-frequency = <0x124f800>;
-      phandle = <0x4>;
-    };
-
-    clock@4 {
-      compatible = "fixed-clock";
-      reg = <0x4>;
-      #clock-cells = <0x0>;
-      clock-output-names = "otg";
-      clock-frequency = <0x1c9c3800>;
-      phandle = <0x17>;
-    };
-  };
-
-  phy {
-    compatible = "usb-nop-xceiv";
-    #phy-cells = <0x0>;
-    phandle = <0x18>;
-  };
-
-  timer {
-    compatible = "arm,armv7-timer";
-    interrupt-parent = <0x3>;
-    interrupts = <0x0 0x1 0x3 0x2>;
-    always-on;
-  };
-
-  psci {
-    compatible = "arm,psci-1.0";
-    method = "smc";
-  };
-
-  cpus {
-    #address-cells = <0x1>;
-    #size-cells = <0x0>;
-    enable-method = "brcm,bcm2836-smp";
-    phandle = <0x75>;
-
-    cpu@0 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x0>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xd8>;
-      phandle = <0x29>;
-    };
-
-    cpu@1 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x1>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xe0>;
-      phandle = <0x2a>;
-    };
-
-    cpu@2 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x2>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xe8>;
-      phandle = <0x2b>;
-    };
-
-    cpu@3 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x3>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xf0>;
-      phandle = <0x2c>;
-    };
-  };
-
-  fixedregulator_5v0 {
-    compatible = "regulator-fixed";
-    regulator-name = "5v0";
-    regulator-min-microvolt = <0x4c4b40>;
-    regulator-max-microvolt = <0x4c4b40>;
-    regulator-always-on;
-    phandle = <0x76>;
-  };
-
-  fixedregulator_3v3 {
-    compatible = "regulator-fixed";
-    regulator-name = "3v3";
-    regulator-min-microvolt = <0x325aa0>;
-    regulator-max-microvolt = <0x325aa0>;
-    regulator-always-on;
-    phandle = <0x77>;
-  };
-
-  __overrides__ {
-    cam0-pwdn-ctrl;
-    cam0-pwdn;
-    cam0-led-ctrl;
-    cam0-led;
-    cache_line_size = [00 00 00 1c 63 61 63 68 65 2d 6c 69 6e 65 2d 73 69 7a 65 3a 30 00];
-    uart0 = [00 00 00 1d 73 74 61 74 75 73 00];
-    uart1 = [00 00 00 1e 73 74 61 74 75 73 00];
-    i2s = [00 00 00 1f 73 74 61 74 75 73 00];
-    spi = "", "", "", " status";
-    i2c0 = "", "", "", "!status";
-    i2c1 = "", "", "", "\"status";
-    i2c2_iknowwhatimdoing = [00 00 00 16 73 74 61 74 75 73 00];
-    i2c0_baudrate = "", "", "", "!clock-frequency:0";
-    i2c1_baudrate = "", "", "", "\"clock-frequency:0";
-    i2c2_baudrate = [00 00 00 16 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
-    audio = "", "", "", "#status";
-    watchdog = "", "", "", "$status";
-    random = "", "", "", "%status";
-    sd_overclock = "", "", "", "&brcm,overclock-50:0";
-    sd_force_pio = "", "", "", "&brcm,force-pio?";
-    sd_pio_limit = "", "", "", "&brcm,pio-limit:0";
-    sd_debug = "", "", "", "&brcm,debug";
-    sdio_overclock = "", "", "", "'brcm,overclock-50:0";
-    axiperf = "", "", "", "(status";
-    arm_freq = "", "", "", ")clock-frequency:0", "", "", "", "*clock-frequency:0", "", "", "", "+clock-frequency:0", "", "", "", ",clock-frequency:0";
-    eee = "", "", "", "-microchip,eee-enabled?";
-    tx_lpi_timer = "", "", "", "-microchip,tx-lpi-timer:0";
-    eth_led0 = "", "", "", "-microchip,led-modes:0";
-    eth_led1 = "", "", "", "-microchip,led-modes:4";
-    act_led_gpio = "", "", "", ".gpios:4";
-    act_led_activelow = "", "", "", ".gpios:8";
-    act_led_trigger = "", "", "", ".linux,default-trigger";
-    pwr_led_gpio = "", "", "", "/gpios:4";
-    pwr_led_activelow = "", "", "", "/gpios:8";
-    pwr_led_trigger = "", "", "", "/linux,default-trigger";
-  };
-
-  memory {
-    device_type = "memory";
-    reg = <0x0 0x0>;
-  };
-
-  leds {
-    compatible = "gpio-leds";
-    phandle = <0x78>;
-
-    act {
-      label = "led0";
-      linux,default-trigger = "mmc0";
-      gpios = <0x10 0x1d 0x0>;
-      phandle = <0x2e>;
-    };
-
-    pwr {
-      label = "led1";
-      linux,default-trigger = "default-on";
-      gpios = <0x30 0x2 0x1>;
-      phandle = <0x2f>;
-    };
-  };
-
-  __symbols__ {
-    cpu_thermal = "/thermal-zones/cpu-thermal";
-    soc = "/soc";
-    dma = "/soc/dma@7e007000";
-    intc = "/soc/interrupt-controller@7e00b200";
-    watchdog = "/soc/watchdog@7e100000";
-    clocks = "/soc/cprman@7e101000";
-    random = "/soc/rng@7e104000";
-    mailbox = "/soc/mailbox@7e00b880";
-    gpio = "/soc/gpio@7e200000";
-    dpi_gpio0 = "/soc/gpio@7e200000/dpi_gpio0";
-    emmc_gpio22 = "/soc/gpio@7e200000/emmc_gpio22";
-    emmc_gpio34 = "/soc/gpio@7e200000/emmc_gpio34";
-    emmc_gpio48 = "/soc/gpio@7e200000/emmc_gpio48";
-    gpclk0_gpio4 = "/soc/gpio@7e200000/gpclk0_gpio4";
-    gpclk1_gpio5 = "/soc/gpio@7e200000/gpclk1_gpio5";
-    gpclk1_gpio42 = "/soc/gpio@7e200000/gpclk1_gpio42";
-    gpclk1_gpio44 = "/soc/gpio@7e200000/gpclk1_gpio44";
-    gpclk2_gpio6 = "/soc/gpio@7e200000/gpclk2_gpio6";
-    gpclk2_gpio43 = "/soc/gpio@7e200000/gpclk2_gpio43";
-    i2c0_gpio0 = "/soc/gpio@7e200000/i2c0_gpio0";
-    i2c0_gpio28 = "/soc/gpio@7e200000/i2c0_gpio28";
-    i2c0_gpio44 = "/soc/gpio@7e200000/i2c0_gpio44";
-    i2c1_gpio2 = "/soc/gpio@7e200000/i2c1_gpio2";
-    i2c1_gpio44 = "/soc/gpio@7e200000/i2c1_gpio44";
-    i2c_slave_gpio18 = "/soc/gpio@7e200000/i2c_slave_gpio18";
-    jtag_gpio4 = "/soc/gpio@7e200000/jtag_gpio4";
-    jtag_gpio22 = "/soc/gpio@7e200000/jtag_gpio22";
-    pcm_gpio18 = "/soc/gpio@7e200000/pcm_gpio18";
-    pcm_gpio28 = "/soc/gpio@7e200000/pcm_gpio28";
-    pwm0_gpio12 = "/soc/gpio@7e200000/pwm0_gpio12";
-    pwm0_gpio18 = "/soc/gpio@7e200000/pwm0_gpio18";
-    pwm0_gpio40 = "/soc/gpio@7e200000/pwm0_gpio40";
-    pwm1_gpio13 = "/soc/gpio@7e200000/pwm1_gpio13";
-    pwm1_gpio19 = "/soc/gpio@7e200000/pwm1_gpio19";
-    pwm1_gpio41 = "/soc/gpio@7e200000/pwm1_gpio41";
-    pwm1_gpio45 = "/soc/gpio@7e200000/pwm1_gpio45";
-    sdhost_pins = "/soc/gpio@7e200000/sdhost_gpio48";
-    sdhost_gpio48 = "/soc/gpio@7e200000/sdhost_gpio48";
-    spi0_gpio7 = "/soc/gpio@7e200000/spi0_gpio7";
-    spi0_gpio35 = "/soc/gpio@7e200000/spi0_gpio35";
-    spi1_gpio16 = "/soc/gpio@7e200000/spi1_gpio16";
-    spi2_gpio40 = "/soc/gpio@7e200000/spi2_gpio40";
-    uart0_gpio14 = "/soc/gpio@7e200000/uart0_gpio14";
-    uart0_ctsrts_gpio16 = "/soc/gpio@7e200000/uart0_ctsrts_gpio16";
-    uart0_ctsrts_gpio30 = "/soc/gpio@7e200000/uart0_ctsrts_gpio30";
-    uart0_gpio32 = "/soc/gpio@7e200000/uart0_gpio32";
-    uart0_gpio36 = "/soc/gpio@7e200000/uart0_gpio36";
-    uart0_ctsrts_gpio38 = "/soc/gpio@7e200000/uart0_ctsrts_gpio38";
-    uart1_gpio14 = "/soc/gpio@7e200000/uart1_gpio14";
-    uart1_ctsrts_gpio16 = "/soc/gpio@7e200000/uart1_ctsrts_gpio16";
-    uart1_gpio32 = "/soc/gpio@7e200000/uart1_gpio32";
-    uart1_ctsrts_gpio30 = "/soc/gpio@7e200000/uart1_ctsrts_gpio30";
-    uart1_gpio40 = "/soc/gpio@7e200000/uart1_gpio40";
-    uart1_ctsrts_gpio42 = "/soc/gpio@7e200000/uart1_ctsrts_gpio42";
-    dpi_18bit_gpio0 = "/soc/gpio@7e200000/dpi_18bit_gpio0";
-    spi0_pins = "/soc/gpio@7e200000/spi0_pins";
-    spi0_cs_pins = "/soc/gpio@7e200000/spi0_cs_pins";
-    i2c0_pins = "/soc/gpio@7e200000/i2c0";
-    i2c1_pins = "/soc/gpio@7e200000/i2c1";
-    i2s_pins = "/soc/gpio@7e200000/i2s";
-    sdio_pins = "/soc/gpio@7e200000/sdio_pins";
-    bt_pins = "/soc/gpio@7e200000/bt_pins";
-    uart0_pins = "/soc/gpio@7e200000/uart0_pins";
-    uart1_pins = "/soc/gpio@7e200000/uart1_pins";
-    audio_pins = "/soc/gpio@7e200000/audio_pins";
-    uart0 = "/soc/serial@7e201000";
-    sdhost = "/soc/mmc@7e202000";
-    i2s = "/soc/i2s@7e203000";
-    spi0 = "/soc/spi@7e204000";
-    spi = "/soc/spi@7e204000";
-    spidev0 = "/soc/spi@7e204000/spidev@0";
-    spidev1 = "/soc/spi@7e204000/spidev@1";
-    i2c0 = "/soc/i2c@7e205000";
-    pixelvalve0 = "/soc/pixelvalve@7e206000";
-    pixelvalve1 = "/soc/pixelvalve@7e207000";
-    dpi = "/soc/dpi@7e208000";
-    dsi0 = "/soc/dsi@7e209000";
-    thermal = "/soc/thermal@7e212000";
-    aux = "/soc/aux@0x7e215000";
-    uart1 = "/soc/serial@7e215040";
-    spi1 = "/soc/spi@7e215080";
-    spi2 = "/soc/spi@7e2150c0";
-    pwm = "/soc/pwm@7e20c000";
-    hvs = "/soc/hvs@7e400000";
-    dsi1 = "/soc/dsi@7e700000";
-    csi0 = "/soc/csi0@7e800000";
-    csi1 = "/soc/csi1@7e801000";
-    i2c1 = "/soc/i2c@7e804000";
-    i2c2 = "/soc/i2c@7e805000";
-    vec = "/soc/vec@7e806000";
-    pixelvalve2 = "/soc/pixelvalve@7e807000";
-    hdmi = "/soc/hdmi@7e902000";
-    usb = "/soc/usb@7e980000";
-    ethernet = "/soc/usb@7e980000/usb1@1/usb1_1@1/usbether@1";
-    v3d = "/soc/v3d@7ec00000";
-    vc4 = "/soc/gpu";
-    local_intc = "/soc/local_intc@40000000";
-    mmc = "/soc/mmc@7e300000";
-    firmwarekms = "/soc/firmwarekms@7e600000";
-    smi = "/soc/smi@7e600000";
-    axiperf = "/soc/axiperf";
-    firmware = "/soc/firmware";
-    power = "/soc/power";
-    fb = "/soc/fb";
-    vchiq = "/soc/vchiq";
-    vcsm = "/soc/vcsm";
-    audio = "/soc/audio";
-    sound = "/soc/sound";
-    expgpio = "/soc/expgpio";
-    clk_osc = "/clocks/clock@3";
-    clk_usb = "/clocks/clock@4";
-    usbphy = "/phy";
-    cpus = "/cpus";
-    cpu0 = "/cpus/cpu@0";
-    cpu1 = "/cpus/cpu@1";
-    cpu2 = "/cpus/cpu@2";
-    cpu3 = "/cpus/cpu@3";
-    vdd_5v0_reg = "/fixedregulator_5v0";
-    vdd_3v3_reg = "/fixedregulator_3v3";
-    leds = "/leds";
-    act_led = "/leds/act";
-    pwr_led = "/leds/pwr";
-  };
-};
diff --git a/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dtb b/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dtb
index 14c78a9eead443adefd229f81ad0ace70c8e0ec7..fb80a70a1847116d9ac7ac6a5cdb1716df19bb93 100644
GIT binary patch
literal 26463
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
AzW@LL

literal 25354
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

diff --git a/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts b/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts
deleted file mode 100644
index 887eb09692b6..000000000000
--- a/Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts
+++ /dev/null
@@ -1,1259 +0,0 @@
-/dts-v1/;
-
-/*
- * Raspberry Pi 3 Model B DTS (Device Tree Source), for UEFI firmware.
- *
- * This source is the mostly identical to the decompiled version of the
- * official DTB (Device Tree Binary), as found at:
- *   https://github.com/raspberrypi/firmware/tree/master/boot
- *
- * Only the following changes were applied:
- * - Two fixes for USB keyboard support under the usb@7e980000 section:
- *   compatible = "brcm,bcm2708-usb"; -> compatible = "brcm,bcm2835-usb";
- *   interrupts = <0x2 0x0 0x1 0x9>;  -> interrupts = <0x1 0x9>;
- * - A 'psci' section was added, as it is provided by the ATF
- * - The 'enable-method' for CPUs was swicthed to "psci" instead of "spin-table"
- */
-
-/memreserve/  0x0000000000000000 0x0000000000001000;
-/ {
-  compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
-  model = "Raspberry Pi 3 Model B";
-  interrupt-parent = <0x1>;
-  #address-cells = <0x1>;
-  #size-cells = <0x1>;
-
-  aliases {
-    serial0 = "/soc/serial@7e215040";
-    serial1 = "/soc/serial@7e201000";
-    audio = "/soc/audio";
-    aux = "/soc/aux@0x7e215000";
-    sound = "/soc/sound";
-    soc = "/soc";
-    dma = "/soc/dma@7e007000";
-    intc = "/soc/interrupt-controller@7e00b200";
-    watchdog = "/soc/watchdog@7e100000";
-    random = "/soc/rng@7e104000";
-    mailbox = "/soc/mailbox@7e00b880";
-    gpio = "/soc/gpio@7e200000";
-    uart0 = "/soc/serial@7e201000";
-    sdhost = "/soc/mmc@7e202000";
-    mmc0 = "/soc/mmc@7e202000";
-    i2s = "/soc/i2s@7e203000";
-    spi0 = "/soc/spi@7e204000";
-    i2c0 = "/soc/i2c@7e205000";
-    uart1 = "/soc/serial@7e215040";
-    spi1 = "/soc/spi@7e215080";
-    spi2 = "/soc/spi@7e2150c0";
-    mmc = "/soc/mmc@7e300000";
-    mmc1 = "/soc/mmc@7e300000";
-    i2c1 = "/soc/i2c@7e804000";
-    i2c2 = "/soc/i2c@7e805000";
-    usb = "/soc/usb@7e980000";
-    leds = "/leds";
-    fb = "/soc/fb";
-    vchiq = "/soc/vchiq";
-    thermal = "/soc/thermal@7e212000";
-    axiperf = "/soc/axiperf";
-    ethernet0 = "/soc/usb@7e980000/usb1@1/usbether@1";
-  };
-
-  chosen {
-    bootargs = "8250.nr_uarts=1";
-  };
-
-  thermal-zones {
-
-    cpu-thermal {
-      polling-delay-passive = <0x0>;
-      polling-delay = <0x3e8>;
-      thermal-sensors = <0x2>;
-      coefficients = <0xfffffde6 0x64960>;
-      phandle = <0x31>;
-
-      cooling-maps {
-      };
-    };
-  };
-
-  soc {
-    compatible = "simple-bus";
-    #address-cells = <0x1>;
-    #size-cells = <0x1>;
-    ranges = <0x7e000000 0x3f000000 0x1000000 0x40000000 0x40000000 0x1000>;
-    dma-ranges = <0xc0000000 0x0 0x3f000000>;
-    phandle = <0x32>;
-
-    dma@7e007000 {
-      compatible = "brcm,bcm2835-dma";
-      reg = <0x7e007000 0xf00>;
-      interrupts = <0x1 0x10 0x1 0x11 0x1 0x12 0x1 0x13 0x1 0x14 0x1 0x15 0x1 0x16 0x1 0x17 0x1 0x18 0x1 0x19 0x1 0x1a 0x1 0x1b 0x1 0x1b 0x1 0x1b 0x1 0x1b 0x1 0x1c>;
-      interrupt-names = "dma0", "dma1", "dma2", "dma3", "dma4", "dma5", "dma6", "dma7", "dma8", "dma9", "dma10", "dma11", "dma12", "dma13", "dma14", "dma-shared-all";
-      #dma-cells = <0x1>;
-      brcm,dma-channel-mask = <0x7f34>;
-      phandle = <0xb>;
-    };
-
-    interrupt-controller@7e00b200 {
-      compatible = "brcm,bcm2836-armctrl-ic";
-      reg = <0x7e00b200 0x200>;
-      interrupt-controller;
-      #interrupt-cells = <0x2>;
-      interrupt-parent = <0x3>;
-      interrupts = <0x8>;
-      phandle = <0x1>;
-    };
-
-    watchdog@7e100000 {
-      compatible = "brcm,bcm2835-pm-wdt";
-      reg = <0x7e100000 0x28>;
-      phandle = <0x25>;
-    };
-
-    cprman@7e101000 {
-      compatible = "brcm,bcm2835-cprman";
-      #clock-cells = <0x1>;
-      reg = <0x7e101000 0x2000>;
-      clocks = <0x4 0x5 0x0 0x5 0x1 0x5 0x2 0x6 0x0 0x6 0x1 0x6 0x2>;
-      firmware = <0x7>;
-      phandle = <0x8>;
-    };
-
-    rng@7e104000 {
-      compatible = "brcm,bcm2835-rng";
-      reg = <0x7e104000 0x10>;
-      interrupts = <0x2 0x1d>;
-      phandle = <0x26>;
-    };
-
-    mailbox@7e00b880 {
-      compatible = "brcm,bcm2835-mbox";
-      reg = <0x7e00b880 0x40>;
-      interrupts = <0x0 0x1>;
-      #mbox-cells = <0x0>;
-      phandle = <0x1b>;
-    };
-
-    gpio@7e200000 {
-      compatible = "brcm,bcm2835-gpio";
-      reg = <0x7e200000 0xb4>;
-      interrupts = <0x2 0x11 0x2 0x12>;
-      gpio-controller;
-      #gpio-cells = <0x2>;
-      interrupt-controller;
-      #interrupt-cells = <0x2>;
-      phandle = <0x10>;
-
-      dpi_gpio0 {
-        brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b>;
-        brcm,function = <0x6>;
-        phandle = <0x33>;
-      };
-
-      emmc_gpio22 {
-        brcm,pins = <0x16 0x17 0x18 0x19 0x1a 0x1b>;
-        brcm,function = <0x7>;
-        phandle = <0x34>;
-      };
-
-      emmc_gpio34 {
-        brcm,pins = <0x22 0x23 0x24 0x25 0x26 0x27>;
-        brcm,function = <0x7>;
-        brcm,pull = <0x0 0x2 0x2 0x2 0x2 0x2>;
-        phandle = <0x35>;
-      };
-
-      emmc_gpio48 {
-        brcm,pins = <0x30 0x31 0x32 0x33 0x34 0x35>;
-        brcm,function = <0x7>;
-        phandle = <0x36>;
-      };
-
-      gpclk0_gpio4 {
-        brcm,pins = <0x4>;
-        brcm,function = <0x4>;
-        phandle = <0x37>;
-      };
-
-      gpclk1_gpio5 {
-        brcm,pins = <0x5>;
-        brcm,function = <0x4>;
-        phandle = <0x38>;
-      };
-
-      gpclk1_gpio42 {
-        brcm,pins = <0x2a>;
-        brcm,function = <0x4>;
-        phandle = <0x39>;
-      };
-
-      gpclk1_gpio44 {
-        brcm,pins = <0x2c>;
-        brcm,function = <0x4>;
-        phandle = <0x3a>;
-      };
-
-      gpclk2_gpio6 {
-        brcm,pins = <0x6>;
-        brcm,function = <0x4>;
-        phandle = <0x3b>;
-      };
-
-      gpclk2_gpio43 {
-        brcm,pins = <0x2b>;
-        brcm,function = <0x4>;
-        phandle = <0x3c>;
-      };
-
-      i2c0_gpio0 {
-        brcm,pins = <0x0 0x1>;
-        brcm,function = <0x4>;
-        phandle = <0x3d>;
-      };
-
-      i2c0_gpio28 {
-        brcm,pins = <0x1c 0x1d>;
-        brcm,function = <0x4>;
-        phandle = <0x3e>;
-      };
-
-      i2c0_gpio44 {
-        brcm,pins = <0x2c 0x2d>;
-        brcm,function = <0x5>;
-        phandle = <0x3f>;
-      };
-
-      i2c1_gpio2 {
-        brcm,pins = <0x2 0x3>;
-        brcm,function = <0x4>;
-        phandle = <0x40>;
-      };
-
-      i2c1_gpio44 {
-        brcm,pins = <0x2c 0x2d>;
-        brcm,function = <0x6>;
-        phandle = <0x41>;
-      };
-
-      i2c_slave_gpio18 {
-        brcm,pins = <0x12 0x13 0x14 0x15>;
-        brcm,function = <0x7>;
-        phandle = <0x42>;
-      };
-
-      jtag_gpio4 {
-        brcm,pins = <0x4 0x5 0x6 0xc 0xd>;
-        brcm,function = <0x2>;
-        phandle = <0x43>;
-      };
-
-      jtag_gpio22 {
-        brcm,pins = <0x16 0x17 0x18 0x19 0x1a 0x1b>;
-        brcm,function = <0x3>;
-        phandle = <0x44>;
-      };
-
-      pcm_gpio18 {
-        brcm,pins = <0x12 0x13 0x14 0x15>;
-        brcm,function = <0x4>;
-        phandle = <0x45>;
-      };
-
-      pcm_gpio28 {
-        brcm,pins = <0x1c 0x1d 0x1e 0x1f>;
-        brcm,function = <0x6>;
-        phandle = <0x46>;
-      };
-
-      pwm0_gpio12 {
-        brcm,pins = <0xc>;
-        brcm,function = <0x4>;
-        phandle = <0x47>;
-      };
-
-      pwm0_gpio18 {
-        brcm,pins = <0x12>;
-        brcm,function = <0x2>;
-        phandle = <0x48>;
-      };
-
-      pwm0_gpio40 {
-        brcm,pins = <0x28>;
-        brcm,function = <0x4>;
-        phandle = <0x49>;
-      };
-
-      pwm1_gpio13 {
-        brcm,pins = <0xd>;
-        brcm,function = <0x4>;
-        phandle = <0x4a>;
-      };
-
-      pwm1_gpio19 {
-        brcm,pins = <0x13>;
-        brcm,function = <0x2>;
-        phandle = <0x4b>;
-      };
-
-      pwm1_gpio41 {
-        brcm,pins = <0x29>;
-        brcm,function = <0x4>;
-        phandle = <0x4c>;
-      };
-
-      pwm1_gpio45 {
-        brcm,pins = <0x2d>;
-        brcm,function = <0x4>;
-        phandle = <0x4d>;
-      };
-
-      sdhost_gpio48 {
-        brcm,pins = <0x30 0x31 0x32 0x33 0x34 0x35>;
-        brcm,function = <0x4>;
-        phandle = <0xc>;
-      };
-
-      spi0_gpio7 {
-        brcm,pins = <0x7 0x8 0x9 0xa 0xb>;
-        brcm,function = <0x4>;
-        phandle = <0x4e>;
-      };
-
-      spi0_gpio35 {
-        brcm,pins = <0x23 0x24 0x25 0x26 0x27>;
-        brcm,function = <0x4>;
-        phandle = <0x4f>;
-      };
-
-      spi1_gpio16 {
-        brcm,pins = <0x10 0x11 0x12 0x13 0x14 0x15>;
-        brcm,function = <0x3>;
-        phandle = <0x50>;
-      };
-
-      spi2_gpio40 {
-        brcm,pins = <0x28 0x29 0x2a 0x2b 0x2c 0x2d>;
-        brcm,function = <0x3>;
-        phandle = <0x51>;
-      };
-
-      uart0_gpio14 {
-        brcm,pins = <0xe 0xf>;
-        brcm,function = <0x4>;
-        phandle = <0x52>;
-      };
-
-      uart0_ctsrts_gpio16 {
-        brcm,pins = <0x10 0x11>;
-        brcm,function = <0x7>;
-        phandle = <0x53>;
-      };
-
-      uart0_ctsrts_gpio30 {
-        brcm,pins = <0x1e 0x1f>;
-        brcm,function = <0x7>;
-        phandle = <0x54>;
-      };
-
-      uart0_gpio32 {
-        brcm,pins = <0x20 0x21>;
-        brcm,function = <0x7>;
-        phandle = <0x55>;
-      };
-
-      uart0_gpio36 {
-        brcm,pins = <0x24 0x25>;
-        brcm,function = <0x6>;
-        phandle = <0x56>;
-      };
-
-      uart0_ctsrts_gpio38 {
-        brcm,pins = <0x26 0x27>;
-        brcm,function = <0x6>;
-        phandle = <0x57>;
-      };
-
-      uart1_gpio14 {
-        brcm,pins = <0xe 0xf>;
-        brcm,function = <0x2>;
-        phandle = <0x58>;
-      };
-
-      uart1_ctsrts_gpio16 {
-        brcm,pins = <0x10 0x11>;
-        brcm,function = <0x2>;
-        phandle = <0x59>;
-      };
-
-      uart1_gpio32 {
-        brcm,pins = <0x20 0x21>;
-        brcm,function = <0x2>;
-        phandle = <0x5a>;
-      };
-
-      uart1_ctsrts_gpio30 {
-        brcm,pins = <0x1e 0x1f>;
-        brcm,function = <0x2>;
-        phandle = <0x5b>;
-      };
-
-      uart1_gpio40 {
-        brcm,pins = <0x28 0x29>;
-        brcm,function = <0x2>;
-        phandle = <0x5c>;
-      };
-
-      uart1_ctsrts_gpio42 {
-        brcm,pins = <0x2a 0x2b>;
-        brcm,function = <0x2>;
-        phandle = <0x5d>;
-      };
-
-      dpi_18bit_gpio0 {
-        brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15>;
-        brcm,function = <0x6>;
-        phandle = <0x5e>;
-      };
-
-      spi0_pins {
-        brcm,pins = <0x9 0xa 0xb>;
-        brcm,function = <0x4>;
-        phandle = <0xe>;
-      };
-
-      spi0_cs_pins {
-        brcm,pins = <0x8 0x7>;
-        brcm,function = <0x1>;
-        phandle = <0xf>;
-      };
-
-      i2c0 {
-        brcm,pins = <0x0 0x1>;
-        brcm,function = <0x4>;
-        phandle = <0x11>;
-      };
-
-      i2c1 {
-        brcm,pins = <0x2 0x3>;
-        brcm,function = <0x4>;
-        phandle = <0x15>;
-      };
-
-      i2s {
-        brcm,pins = <0x12 0x13 0x14 0x15>;
-        brcm,function = <0x4>;
-        phandle = <0xd>;
-      };
-
-      sdio_pins {
-        brcm,pins = <0x22 0x23 0x24 0x25 0x26 0x27>;
-        brcm,function = <0x7>;
-        brcm,pull = <0x0 0x2 0x2 0x2 0x2 0x2>;
-        phandle = <0x1a>;
-      };
-
-      bt_pins {
-        brcm,pins = <0x2b>;
-        brcm,function = <0x4>;
-        brcm,pull = <0x0>;
-        phandle = <0xa>;
-      };
-
-      uart0_pins {
-        brcm,pins = <0x20 0x21>;
-        brcm,function = <0x7>;
-        brcm,pull = <0x0 0x2>;
-        phandle = <0x9>;
-      };
-
-      uart1_pins {
-        brcm,pins;
-        brcm,function;
-        brcm,pull;
-        phandle = <0x13>;
-      };
-
-      audio_pins {
-        brcm,pins = <0x28 0x29>;
-        brcm,function = <0x4>;
-        phandle = <0x1c>;
-      };
-    };
-
-    serial@7e201000 {
-      compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
-      reg = <0x7e201000 0x1000>;
-      interrupts = <0x2 0x19>;
-      clocks = <0x8 0x13 0x8 0x14>;
-      clock-names = "uartclk", "apb_pclk";
-      arm,primecell-periphid = <0x241011>;
-      cts-event-workaround;
-      pinctrl-names = "default";
-      pinctrl-0 = <0x9 0xa>;
-      status = "okay";
-      phandle = <0x1e>;
-    };
-
-    mmc@7e202000 {
-      compatible = "brcm,bcm2835-sdhost";
-      reg = <0x7e202000 0x100>;
-      interrupts = <0x2 0x18>;
-      clocks = <0x8 0x14>;
-      dmas = <0xb 0xd>;
-      dma-names = "rx-tx";
-      status = "okay";
-      pinctrl-names = "default";
-      pinctrl-0 = <0xc>;
-      bus-width = <0x4>;
-      brcm,overclock-50 = <0x0>;
-      brcm,pio-limit = <0x1>;
-      phandle = <0x27>;
-    };
-
-    i2s@7e203000 {
-      compatible = "brcm,bcm2835-i2s";
-      reg = <0x7e203000 0x24>;
-      clocks = <0x8 0x1f>;
-      dmas = <0xb 0x2 0xb 0x3>;
-      dma-names = "tx", "rx";
-      status = "disabled";
-      #sound-dai-cells = <0x0>;
-      pinctrl-names = "default";
-      pinctrl-0 = <0xd>;
-      phandle = <0x20>;
-    };
-
-    spi@7e204000 {
-      compatible = "brcm,bcm2835-spi";
-      reg = <0x7e204000 0x1000>;
-      interrupts = <0x2 0x16>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      dmas = <0xb 0x6 0xb 0x7>;
-      dma-names = "tx", "rx";
-      pinctrl-names = "default";
-      pinctrl-0 = <0xe 0xf>;
-      cs-gpios = <0x10 0x8 0x1 0x10 0x7 0x1>;
-      phandle = <0x21>;
-
-      spidev@0 {
-        compatible = "spidev";
-        reg = <0x0>;
-        #address-cells = <0x1>;
-        #size-cells = <0x0>;
-        spi-max-frequency = <0x7735940>;
-        phandle = <0x5f>;
-      };
-
-      spidev@1 {
-        compatible = "spidev";
-        reg = <0x1>;
-        #address-cells = <0x1>;
-        #size-cells = <0x0>;
-        spi-max-frequency = <0x7735940>;
-        phandle = <0x60>;
-      };
-    };
-
-    i2c@7e205000 {
-      compatible = "brcm,bcm2835-i2c";
-      reg = <0x7e205000 0x1000>;
-      interrupts = <0x2 0x15>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x11>;
-      clock-frequency = <0x186a0>;
-      phandle = <0x22>;
-    };
-
-    pixelvalve@7e206000 {
-      compatible = "brcm,bcm2835-pixelvalve0";
-      reg = <0x7e206000 0x100>;
-      interrupts = <0x2 0xd>;
-      status = "disabled";
-      phandle = <0x61>;
-    };
-
-    pixelvalve@7e207000 {
-      compatible = "brcm,bcm2835-pixelvalve1";
-      reg = <0x7e207000 0x100>;
-      interrupts = <0x2 0xe>;
-      status = "disabled";
-      phandle = <0x62>;
-    };
-
-    dpi@7e208000 {
-      compatible = "brcm,bcm2835-dpi";
-      reg = <0x7e208000 0x8c>;
-      clocks = <0x8 0x14 0x8 0x2c>;
-      clock-names = "core", "pixel";
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      phandle = <0x63>;
-    };
-
-    dsi@7e209000 {
-      compatible = "brcm,bcm2835-dsi0";
-      reg = <0x7e209000 0x78>;
-      interrupts = <0x2 0x4>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      clocks = <0x8 0x20 0x8 0x2f 0x8 0x31>;
-      clock-names = "phy", "escape", "pixel";
-      clock-output-names = "dsi0_byte", "dsi0_ddr2", "dsi0_ddr";
-      phandle = <0x5>;
-    };
-
-    thermal@7e212000 {
-      compatible = "brcm,bcm2837-thermal";
-      reg = <0x7e212000 0x8>;
-      clocks = <0x8 0x1b>;
-      #thermal-sensor-cells = <0x0>;
-      status = "okay";
-      phandle = <0x2>;
-    };
-
-    aux@0x7e215000 {
-      compatible = "brcm,bcm2835-aux";
-      #clock-cells = <0x1>;
-      reg = <0x7e215000 0x8>;
-      clocks = <0x8 0x14>;
-      interrupts = <0x1 0x1d>;
-      interrupt-controller;
-      #interrupt-cells = <0x1>;
-      phandle = <0x12>;
-    };
-
-    serial@7e215040 {
-      compatible = "brcm,bcm2835-aux-uart";
-      reg = <0x7e215040 0x40>;
-      interrupts = <0x0>;
-      clocks = <0x12 0x0>;
-      status = "okay";
-      interrupt-parent = <0x12>;
-      pinctrl-names = "default";
-      pinctrl-0 = <0x13>;
-      phandle = <0x1f>;
-    };
-
-    spi@7e215080 {
-      compatible = "brcm,bcm2835-aux-spi";
-      reg = <0x7e215080 0x40>;
-      interrupts = <0x1>;
-      clocks = <0x12 0x1>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      interrupt-parent = <0x12>;
-      phandle = <0x64>;
-    };
-
-    spi@7e2150c0 {
-      compatible = "brcm,bcm2835-aux-spi";
-      reg = <0x7e2150c0 0x40>;
-      interrupts = <0x2>;
-      clocks = <0x12 0x2>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      interrupt-parent = <0x12>;
-      phandle = <0x65>;
-    };
-
-    pwm@7e20c000 {
-      compatible = "brcm,bcm2835-pwm";
-      reg = <0x7e20c000 0x28>;
-      clocks = <0x8 0x1e>;
-      assigned-clocks = <0x8 0x1e>;
-      assigned-clock-rates = <0x989680>;
-      #pwm-cells = <0x2>;
-      status = "disabled";
-      phandle = <0x66>;
-    };
-
-    hvs@7e400000 {
-      compatible = "brcm,bcm2835-hvs";
-      reg = <0x7e400000 0x6000>;
-      interrupts = <0x2 0x1>;
-      status = "disabled";
-      phandle = <0x67>;
-    };
-
-    dsi@7e700000 {
-      compatible = "brcm,bcm2835-dsi1";
-      reg = <0x7e700000 0x8c>;
-      interrupts = <0x2 0xc>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      clocks = <0x8 0x23 0x8 0x30 0x8 0x32>;
-      clock-names = "phy", "escape", "pixel";
-      clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
-      status = "disabled";
-      phandle = <0x6>;
-    };
-
-    csi0@7e800000 {
-      compatible = "brcm,bcm2835-unicam";
-      reg = <0x7e800000 0x800 0x7e802000 0x4>;
-      interrupts = <0x2 0x6>;
-      clocks = <0x8 0x2d>;
-      clock-names = "lp";
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      status = "disabled";
-      power-domains = <0x14 0xc>;
-      phandle = <0x68>;
-    };
-
-    csi1@7e801000 {
-      compatible = "brcm,bcm2835-unicam";
-      reg = <0x7e801000 0x800 0x7e802004 0x4>;
-      interrupts = <0x2 0x7>;
-      clocks = <0x8 0x2e>;
-      clock-names = "lp";
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      #clock-cells = <0x1>;
-      status = "disabled";
-      power-domains = <0x14 0xd>;
-      phandle = <0x69>;
-
-      port {
-
-        endpoint {
-          data-lanes = <0x1 0x2>;
-        };
-      };
-    };
-
-    i2c@7e804000 {
-      compatible = "brcm,bcm2835-i2c";
-      reg = <0x7e804000 0x1000>;
-      interrupts = <0x2 0x15>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x15>;
-      clock-frequency = <0x186a0>;
-      phandle = <0x23>;
-    };
-
-    i2c@7e805000 {
-      compatible = "brcm,bcm2835-i2c";
-      reg = <0x7e805000 0x1000>;
-      interrupts = <0x2 0x15>;
-      clocks = <0x8 0x14>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      status = "disabled";
-      clock-frequency = <0x186a0>;
-      phandle = <0x16>;
-    };
-
-    vec@7e806000 {
-      compatible = "brcm,bcm2835-vec";
-      reg = <0x7e806000 0x1000>;
-      clocks = <0x8 0x18>;
-      interrupts = <0x2 0x1b>;
-      status = "disabled";
-      phandle = <0x6a>;
-    };
-
-    pixelvalve@7e807000 {
-      compatible = "brcm,bcm2835-pixelvalve2";
-      reg = <0x7e807000 0x100>;
-      interrupts = <0x2 0xa>;
-      status = "disabled";
-      phandle = <0x6b>;
-    };
-
-    hdmi@7e902000 {
-      compatible = "brcm,bcm2835-hdmi";
-      reg = <0x7e902000 0x600 0x7e808000 0x100>;
-      interrupts = <0x2 0x8 0x2 0x9>;
-      ddc = <0x16>;
-      clocks = <0x8 0x10 0x8 0x19>;
-      clock-names = "pixel", "hdmi";
-      dmas = <0xb 0x11>;
-      dma-names = "audio-rx";
-      status = "disabled";
-      power-domains = <0x14 0x5>;
-      hpd-gpios = <0x17 0x4 0x1>;
-      phandle = <0x6c>;
-    };
-
-    usb@7e980000 {
-      compatible = "brcm,bcm2835-usb";
-      reg = <0x7e980000 0x10000 0x7e006000 0x1000>;
-      interrupts = <0x1 0x9>;
-      #address-cells = <0x1>;
-      #size-cells = <0x0>;
-      clocks = <0x18>;
-      clock-names = "otg";
-      phys = <0x19>;
-      phy-names = "usb2-phy";
-      power-domains = <0x14 0x6>;
-      phandle = <0x6d>;
-
-      usb1@1 {
-        compatible = "usb424,9514";
-        reg = <0x1>;
-        #address-cells = <0x1>;
-        #size-cells = <0x0>;
-
-        usbether@1 {
-          compatible = "usb424,ec00";
-          reg = <0x1>;
-          phandle = <0x6e>;
-        };
-      };
-    };
-
-    v3d@7ec00000 {
-      compatible = "brcm,vc4-v3d";
-      reg = <0x7ec00000 0x1000>;
-      interrupts = <0x1 0xa>;
-      power-domains = <0x14 0xa>;
-      status = "disabled";
-      phandle = <0x6f>;
-    };
-
-    gpu {
-      compatible = "brcm,bcm2835-vc4";
-      status = "disabled";
-      phandle = <0x70>;
-    };
-
-    local_intc@40000000 {
-      compatible = "brcm,bcm2836-l1-intc";
-      reg = <0x40000000 0x100>;
-      interrupt-controller;
-      #interrupt-cells = <0x1>;
-      interrupt-parent = <0x3>;
-      phandle = <0x3>;
-    };
-
-    mmc@7e300000 {
-      compatible = "brcm,bcm2835-mmc", "brcm,bcm2835-sdhci";
-      reg = <0x7e300000 0x100>;
-      interrupts = <0x2 0x1e>;
-      clocks = <0x8 0x1c>;
-      dmas = <0xb 0xb>;
-      dma-names = "rx-tx";
-      brcm,overclock-50 = <0x0>;
-      status = "okay";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x1a>;
-      non-removable;
-      bus-width = <0x4>;
-      phandle = <0x28>;
-    };
-
-    firmwarekms@7e600000 {
-      compatible = "raspberrypi,rpi-firmware-kms";
-      reg = <0x7e600000 0x100>;
-      interrupts = <0x2 0x10>;
-      brcm,firmware = <0x7>;
-      status = "disabled";
-      phandle = <0x71>;
-    };
-
-    smi@7e600000 {
-      compatible = "brcm,bcm2835-smi";
-      reg = <0x7e600000 0x100>;
-      interrupts = <0x2 0x10>;
-      clocks = <0x8 0x2a>;
-      assigned-clocks = <0x8 0x2a>;
-      assigned-clock-rates = <0x7735940>;
-      dmas = <0xb 0x4>;
-      dma-names = "rx-tx";
-      status = "disabled";
-      phandle = <0x72>;
-    };
-
-    axiperf {
-      compatible = "brcm,bcm2835-axiperf";
-      reg = <0x7e009800 0x100 0x7ee08000 0x100>;
-      firmware = <0x7>;
-      status = "disabled";
-      phandle = <0x29>;
-    };
-
-    gpiomem {
-      compatible = "brcm,bcm2835-gpiomem";
-      reg = <0x7e200000 0x1000>;
-    };
-
-    firmware {
-      compatible = "raspberrypi,bcm2835-firmware";
-      mboxes = <0x1b>;
-      phandle = <0x7>;
-    };
-
-    power {
-      compatible = "raspberrypi,bcm2835-power";
-      firmware = <0x7>;
-      #power-domain-cells = <0x1>;
-      phandle = <0x14>;
-    };
-
-    fb {
-      compatible = "brcm,bcm2708-fb";
-      firmware = <0x7>;
-      status = "okay";
-      phandle = <0x73>;
-    };
-
-    vchiq {
-      compatible = "brcm,bcm2835-vchiq";
-      reg = <0x7e00b840 0xf>;
-      interrupts = <0x0 0x2>;
-      cache-line-size = <0x20>;
-      firmware = <0x7>;
-      phandle = <0x1d>;
-    };
-
-    vcsm {
-      compatible = "raspberrypi,bcm2835-vcsm";
-      firmware = <0x7>;
-      status = "okay";
-      phandle = <0x74>;
-    };
-
-    audio {
-      compatible = "brcm,bcm2835-audio";
-      brcm,pwm-channels = <0x8>;
-      status = "disabled";
-      pinctrl-names = "default";
-      pinctrl-0 = <0x1c>;
-      phandle = <0x24>;
-    };
-
-    sound {
-      status = "disabled";
-      phandle = <0x75>;
-    };
-
-    arm-pmu {
-      compatible = "arm,cortex-a7-pmu";
-      interrupt-parent = <0x3>;
-      interrupts = <0x9>;
-    };
-
-    virtgpio {
-      compatible = "brcm,bcm2835-virtgpio";
-      gpio-controller;
-      #gpio-cells = <0x2>;
-      firmware = <0x7>;
-      status = "okay";
-      phandle = <0x30>;
-    };
-
-    expgpio {
-      compatible = "brcm,bcm2835-expgpio";
-      gpio-controller;
-      #gpio-cells = <0x2>;
-      firmware = <0x7>;
-      status = "okay";
-      phandle = <0x17>;
-    };
-  };
-
-  clocks {
-    compatible = "simple-bus";
-    #address-cells = <0x1>;
-    #size-cells = <0x0>;
-
-    clock@3 {
-      compatible = "fixed-clock";
-      reg = <0x3>;
-      #clock-cells = <0x0>;
-      clock-output-names = "osc";
-      clock-frequency = <0x124f800>;
-      phandle = <0x4>;
-    };
-
-    clock@4 {
-      compatible = "fixed-clock";
-      reg = <0x4>;
-      #clock-cells = <0x0>;
-      clock-output-names = "otg";
-      clock-frequency = <0x1c9c3800>;
-      phandle = <0x18>;
-    };
-  };
-
-  phy {
-    compatible = "usb-nop-xceiv";
-    #phy-cells = <0x0>;
-    phandle = <0x19>;
-  };
-
-  timer {
-    compatible = "arm,armv7-timer";
-    interrupt-parent = <0x3>;
-    interrupts = <0x0 0x1 0x3 0x2>;
-    always-on;
-  };
-
-  psci {
-    compatible = "arm,psci-1.0";
-    method = "smc";
-  };
-
-  cpus {
-    #address-cells = <0x1>;
-    #size-cells = <0x0>;
-    enable-method = "brcm,bcm2836-smp";
-    phandle = <0x76>;
-
-    cpu@0 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x0>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xd8>;
-      phandle = <0x2a>;
-    };
-
-    cpu@1 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x1>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xe0>;
-      phandle = <0x2b>;
-    };
-
-    cpu@2 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x2>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xe8>;
-      phandle = <0x2c>;
-    };
-
-    cpu@3 {
-      device_type = "cpu";
-      compatible = "arm,cortex-a53";
-      reg = <0x3>;
-      enable-method = "psci";
-      cpu-release-addr = <0x0 0xf0>;
-      phandle = <0x2d>;
-    };
-  };
-
-  fixedregulator_5v0 {
-    compatible = "regulator-fixed";
-    regulator-name = "5v0";
-    regulator-min-microvolt = <0x4c4b40>;
-    regulator-max-microvolt = <0x4c4b40>;
-    regulator-always-on;
-    phandle = <0x77>;
-  };
-
-  fixedregulator_3v3 {
-    compatible = "regulator-fixed";
-    regulator-name = "3v3";
-    regulator-min-microvolt = <0x325aa0>;
-    regulator-max-microvolt = <0x325aa0>;
-    regulator-always-on;
-    phandle = <0x78>;
-  };
-
-  __overrides__ {
-    cam0-pwdn-ctrl;
-    cam0-pwdn;
-    cam0-led-ctrl;
-    cam0-led;
-    cache_line_size = [00 00 00 1d 63 61 63 68 65 2d 6c 69 6e 65 2d 73 69 7a 65 3a 30 00];
-    uart0 = [00 00 00 1e 73 74 61 74 75 73 00];
-    uart1 = [00 00 00 1f 73 74 61 74 75 73 00];
-    i2s = "", "", "", " status";
-    spi = "", "", "", "!status";
-    i2c0 = "", "", "", "\"status";
-    i2c1 = "", "", "", "#status";
-    i2c2_iknowwhatimdoing = [00 00 00 16 73 74 61 74 75 73 00];
-    i2c0_baudrate = "", "", "", "\"clock-frequency:0";
-    i2c1_baudrate = "", "", "", "#clock-frequency:0";
-    i2c2_baudrate = [00 00 00 16 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00];
-    audio = "", "", "", "$status";
-    watchdog = "", "", "", "%status";
-    random = "", "", "", "&status";
-    sd_overclock = "", "", "", "'brcm,overclock-50:0";
-    sd_force_pio = "", "", "", "'brcm,force-pio?";
-    sd_pio_limit = "", "", "", "'brcm,pio-limit:0";
-    sd_debug = "", "", "", "'brcm,debug";
-    sdio_overclock = "", "", "", "(brcm,overclock-50:0";
-    axiperf = "", "", "", ")status";
-    arm_freq = "", "", "", "*clock-frequency:0", "", "", "", "+clock-frequency:0", "", "", "", ",clock-frequency:0", "", "", "", "-clock-frequency:0";
-    act_led_gpio = "", "", "", ".gpios:4";
-    act_led_activelow = "", "", "", ".gpios:8";
-    act_led_trigger = "", "", "", ".linux,default-trigger";
-    pwr_led_gpio = "", "", "", "/gpios:4";
-    pwr_led_activelow = "", "", "", "/gpios:8";
-    pwr_led_trigger = "", "", "", "/linux,default-trigger";
-  };
-
-  memory {
-    device_type = "memory";
-    reg = <0x0 0x0>;
-  };
-
-  leds {
-    compatible = "gpio-leds";
-    phandle = <0x79>;
-
-    act {
-      label = "led0";
-      linux,default-trigger = "mmc0";
-      gpios = <0x30 0x0 0x0>;
-      phandle = <0x2e>;
-    };
-
-    pwr {
-      label = "led1";
-      linux,default-trigger = "input";
-      gpios = <0x17 0x7 0x0>;
-      phandle = <0x2f>;
-    };
-  };
-
-  __symbols__ {
-    cpu_thermal = "/thermal-zones/cpu-thermal";
-    soc = "/soc";
-    dma = "/soc/dma@7e007000";
-    intc = "/soc/interrupt-controller@7e00b200";
-    watchdog = "/soc/watchdog@7e100000";
-    clocks = "/soc/cprman@7e101000";
-    random = "/soc/rng@7e104000";
-    mailbox = "/soc/mailbox@7e00b880";
-    gpio = "/soc/gpio@7e200000";
-    dpi_gpio0 = "/soc/gpio@7e200000/dpi_gpio0";
-    emmc_gpio22 = "/soc/gpio@7e200000/emmc_gpio22";
-    emmc_gpio34 = "/soc/gpio@7e200000/emmc_gpio34";
-    emmc_gpio48 = "/soc/gpio@7e200000/emmc_gpio48";
-    gpclk0_gpio4 = "/soc/gpio@7e200000/gpclk0_gpio4";
-    gpclk1_gpio5 = "/soc/gpio@7e200000/gpclk1_gpio5";
-    gpclk1_gpio42 = "/soc/gpio@7e200000/gpclk1_gpio42";
-    gpclk1_gpio44 = "/soc/gpio@7e200000/gpclk1_gpio44";
-    gpclk2_gpio6 = "/soc/gpio@7e200000/gpclk2_gpio6";
-    gpclk2_gpio43 = "/soc/gpio@7e200000/gpclk2_gpio43";
-    i2c0_gpio0 = "/soc/gpio@7e200000/i2c0_gpio0";
-    i2c0_gpio28 = "/soc/gpio@7e200000/i2c0_gpio28";
-    i2c0_gpio44 = "/soc/gpio@7e200000/i2c0_gpio44";
-    i2c1_gpio2 = "/soc/gpio@7e200000/i2c1_gpio2";
-    i2c1_gpio44 = "/soc/gpio@7e200000/i2c1_gpio44";
-    i2c_slave_gpio18 = "/soc/gpio@7e200000/i2c_slave_gpio18";
-    jtag_gpio4 = "/soc/gpio@7e200000/jtag_gpio4";
-    jtag_gpio22 = "/soc/gpio@7e200000/jtag_gpio22";
-    pcm_gpio18 = "/soc/gpio@7e200000/pcm_gpio18";
-    pcm_gpio28 = "/soc/gpio@7e200000/pcm_gpio28";
-    pwm0_gpio12 = "/soc/gpio@7e200000/pwm0_gpio12";
-    pwm0_gpio18 = "/soc/gpio@7e200000/pwm0_gpio18";
-    pwm0_gpio40 = "/soc/gpio@7e200000/pwm0_gpio40";
-    pwm1_gpio13 = "/soc/gpio@7e200000/pwm1_gpio13";
-    pwm1_gpio19 = "/soc/gpio@7e200000/pwm1_gpio19";
-    pwm1_gpio41 = "/soc/gpio@7e200000/pwm1_gpio41";
-    pwm1_gpio45 = "/soc/gpio@7e200000/pwm1_gpio45";
-    sdhost_pins = "/soc/gpio@7e200000/sdhost_gpio48";
-    sdhost_gpio48 = "/soc/gpio@7e200000/sdhost_gpio48";
-    spi0_gpio7 = "/soc/gpio@7e200000/spi0_gpio7";
-    spi0_gpio35 = "/soc/gpio@7e200000/spi0_gpio35";
-    spi1_gpio16 = "/soc/gpio@7e200000/spi1_gpio16";
-    spi2_gpio40 = "/soc/gpio@7e200000/spi2_gpio40";
-    uart0_gpio14 = "/soc/gpio@7e200000/uart0_gpio14";
-    uart0_ctsrts_gpio16 = "/soc/gpio@7e200000/uart0_ctsrts_gpio16";
-    uart0_ctsrts_gpio30 = "/soc/gpio@7e200000/uart0_ctsrts_gpio30";
-    uart0_gpio32 = "/soc/gpio@7e200000/uart0_gpio32";
-    uart0_gpio36 = "/soc/gpio@7e200000/uart0_gpio36";
-    uart0_ctsrts_gpio38 = "/soc/gpio@7e200000/uart0_ctsrts_gpio38";
-    uart1_gpio14 = "/soc/gpio@7e200000/uart1_gpio14";
-    uart1_ctsrts_gpio16 = "/soc/gpio@7e200000/uart1_ctsrts_gpio16";
-    uart1_gpio32 = "/soc/gpio@7e200000/uart1_gpio32";
-    uart1_ctsrts_gpio30 = "/soc/gpio@7e200000/uart1_ctsrts_gpio30";
-    uart1_gpio40 = "/soc/gpio@7e200000/uart1_gpio40";
-    uart1_ctsrts_gpio42 = "/soc/gpio@7e200000/uart1_ctsrts_gpio42";
-    dpi_18bit_gpio0 = "/soc/gpio@7e200000/dpi_18bit_gpio0";
-    spi0_pins = "/soc/gpio@7e200000/spi0_pins";
-    spi0_cs_pins = "/soc/gpio@7e200000/spi0_cs_pins";
-    i2c0_pins = "/soc/gpio@7e200000/i2c0";
-    i2c1_pins = "/soc/gpio@7e200000/i2c1";
-    i2s_pins = "/soc/gpio@7e200000/i2s";
-    sdio_pins = "/soc/gpio@7e200000/sdio_pins";
-    bt_pins = "/soc/gpio@7e200000/bt_pins";
-    uart0_pins = "/soc/gpio@7e200000/uart0_pins";
-    uart1_pins = "/soc/gpio@7e200000/uart1_pins";
-    audio_pins = "/soc/gpio@7e200000/audio_pins";
-    uart0 = "/soc/serial@7e201000";
-    sdhost = "/soc/mmc@7e202000";
-    i2s = "/soc/i2s@7e203000";
-    spi0 = "/soc/spi@7e204000";
-    spi = "/soc/spi@7e204000";
-    spidev0 = "/soc/spi@7e204000/spidev@0";
-    spidev1 = "/soc/spi@7e204000/spidev@1";
-    i2c0 = "/soc/i2c@7e205000";
-    pixelvalve0 = "/soc/pixelvalve@7e206000";
-    pixelvalve1 = "/soc/pixelvalve@7e207000";
-    dpi = "/soc/dpi@7e208000";
-    dsi0 = "/soc/dsi@7e209000";
-    thermal = "/soc/thermal@7e212000";
-    aux = "/soc/aux@0x7e215000";
-    uart1 = "/soc/serial@7e215040";
-    spi1 = "/soc/spi@7e215080";
-    spi2 = "/soc/spi@7e2150c0";
-    pwm = "/soc/pwm@7e20c000";
-    hvs = "/soc/hvs@7e400000";
-    dsi1 = "/soc/dsi@7e700000";
-    csi0 = "/soc/csi0@7e800000";
-    csi1 = "/soc/csi1@7e801000";
-    i2c1 = "/soc/i2c@7e804000";
-    i2c2 = "/soc/i2c@7e805000";
-    vec = "/soc/vec@7e806000";
-    pixelvalve2 = "/soc/pixelvalve@7e807000";
-    hdmi = "/soc/hdmi@7e902000";
-    usb = "/soc/usb@7e980000";
-    ethernet = "/soc/usb@7e980000/usb1@1/usbether@1";
-    v3d = "/soc/v3d@7ec00000";
-    vc4 = "/soc/gpu";
-    local_intc = "/soc/local_intc@40000000";
-    mmc = "/soc/mmc@7e300000";
-    firmwarekms = "/soc/firmwarekms@7e600000";
-    smi = "/soc/smi@7e600000";
-    axiperf = "/soc/axiperf";
-    firmware = "/soc/firmware";
-    power = "/soc/power";
-    fb = "/soc/fb";
-    vchiq = "/soc/vchiq";
-    vcsm = "/soc/vcsm";
-    audio = "/soc/audio";
-    sound = "/soc/sound";
-    virtgpio = "/soc/virtgpio";
-    expgpio = "/soc/expgpio";
-    clk_osc = "/clocks/clock@3";
-    clk_usb = "/clocks/clock@4";
-    usbphy = "/phy";
-    cpus = "/cpus";
-    cpu0 = "/cpus/cpu@0";
-    cpu1 = "/cpus/cpu@1";
-    cpu2 = "/cpus/cpu@2";
-    cpu3 = "/cpus/cpu@3";
-    vdd_5v0_reg = "/fixedregulator_5v0";
-    vdd_3v3_reg = "/fixedregulator_3v3";
-    leds = "/leds";
-    act_led = "/leds/act";
-    pwr_led = "/leds/pwr";
-  };
-};
-- 
2.21.0.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [edk2-non-osi PATCHv2 1/1] Platform/RaspberryPi/RPi3: Use official Device Tree binaries
  2019-09-15 21:49 ` [edk2-non-osi PATCHv2 1/1] " Pete Batard
@ 2019-09-16 17:47   ` Leif Lindholm
  0 siblings, 0 replies; 3+ messages in thread
From: Leif Lindholm @ 2019-09-16 17:47 UTC (permalink / raw)
  To: Pete Batard; +Cc: devel, ard.biesheuvel

On Sun, Sep 15, 2019 at 10:49:52PM +0100, Pete Batard wrote:
> With commit 5f003136c2bf86620c0caaef0ad146b5e7fd2f6b having been applied to
> edk2-platforms, we can use the official Raspberry Pi 3 Device Trees from
> https://github.com/raspberrypi/firmware/tree/master/boot, as the FdtDxe
> driver for that platform can insert missing elements, if required.
> 
> This patch replaces the existing dtbs with the most recent official ones
> and also removes the custom dts' from which previous dtbs were produced.
> 
> Signed-off-by: Pete Batard <pete@akeo.ie>

Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Pushed as 2120cca51851.

Thanks!

> ---
>  Platform/RaspberryPi/RPi3/DeviceTree/Readme.md                |   14 +
>  Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb |  Bin 25617 -> 27082 bytes
>  Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b-plus.dts | 1263 --------------------
>  Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dtb      |  Bin 25354 -> 26463 bytes
>  Platform/RaspberryPi/RPi3/DeviceTree/bcm2710-rpi-3-b.dts      | 1259 -------------------
>  5 files changed, 14 insertions(+), 2522 deletions(-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-16 17:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-15 21:49 [edk2-non-osi PATCHv2 0/1] Platform/RaspberryPi/RPi3: Use official Device Tree binaries Pete Batard
2019-09-15 21:49 ` [edk2-non-osi PATCHv2 1/1] " Pete Batard
2019-09-16 17:47   ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox