166 lines
4.1 KiB
Diff
166 lines
4.1 KiB
Diff
|
From b76b1cdf2e569cceab41dcf3b3f6a90965d0a02c Mon Sep 17 00:00:00 2001
|
||
|
From: Eric Anholt <eric@anholt.net>
|
||
|
Date: Fri, 4 Mar 2016 10:39:29 -0800
|
||
|
Subject: [PATCH 28/36] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
|
||
|
|
||
|
For now this doesn't support the new hardware present on the Pi 3 (BT,
|
||
|
wifi, GPIO expander). Since the GPIO expander isn't supported, we
|
||
|
also don't have the LEDs like the other board files do.
|
||
|
|
||
|
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||
|
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
|
||
|
---
|
||
|
arch/arm/boot/dts/Makefile | 3 +-
|
||
|
arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
|
||
|
arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
|
||
|
3 files changed, 92 insertions(+), 1 deletion(-)
|
||
|
create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
|
||
|
create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
|
||
|
|
||
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||
|
index d000814..a8a0767 100644
|
||
|
--- a/arch/arm/boot/dts/Makefile
|
||
|
+++ b/arch/arm/boot/dts/Makefile
|
||
|
@@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
|
||
|
bcm2835-rpi-b-rev2.dtb \
|
||
|
bcm2835-rpi-b-plus.dtb \
|
||
|
bcm2835-rpi-a-plus.dtb \
|
||
|
- bcm2836-rpi-2-b.dtb
|
||
|
+ bcm2836-rpi-2-b.dtb \
|
||
|
+ bcm2837-rpi-3-b.dtb
|
||
|
dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
||
|
bcm4708-asus-rt-ac56u.dtb \
|
||
|
bcm4708-asus-rt-ac68u.dtb \
|
||
|
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
|
||
|
new file mode 100644
|
||
|
index 0000000..5e8eafd
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
|
||
|
@@ -0,0 +1,22 @@
|
||
|
+/dts-v1/;
|
||
|
+#include "bcm2837.dtsi"
|
||
|
+#include "bcm2835-rpi.dtsi"
|
||
|
+
|
||
|
+/ {
|
||
|
+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
|
||
|
+ model = "Raspberry Pi 3 Model B";
|
||
|
+
|
||
|
+ memory {
|
||
|
+ reg = <0 0x40000000>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&gpio {
|
||
|
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||
|
+
|
||
|
+ /* I2S interface */
|
||
|
+ i2s_alt0: i2s_alt0 {
|
||
|
+ brcm,pins = <28 29 30 31>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||
|
+ };
|
||
|
+};
|
||
|
diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
|
||
|
new file mode 100644
|
||
|
index 0000000..2f36722
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/bcm2837.dtsi
|
||
|
@@ -0,0 +1,68 @@
|
||
|
+#include "bcm283x.dtsi"
|
||
|
+
|
||
|
+/ {
|
||
|
+ compatible = "brcm,bcm2836";
|
||
|
+
|
||
|
+ soc {
|
||
|
+ ranges = <0x7e000000 0x3f000000 0x1000000>,
|
||
|
+ <0x40000000 0x40000000 0x00001000>;
|
||
|
+ dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
|
||
|
+
|
||
|
+ local_intc: local_intc {
|
||
|
+ compatible = "brcm,bcm2836-l1-intc";
|
||
|
+ reg = <0x40000000 0x100>;
|
||
|
+ interrupt-controller;
|
||
|
+ #interrupt-cells = <1>;
|
||
|
+ interrupt-parent = <&local_intc>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ timer {
|
||
|
+ compatible = "arm,armv7-timer";
|
||
|
+ interrupt-parent = <&local_intc>;
|
||
|
+ interrupts = <0>, // PHYS_SECURE_PPI
|
||
|
+ <1>, // PHYS_NONSECURE_PPI
|
||
|
+ <3>, // VIRT_PPI
|
||
|
+ <2>; // HYP_PPI
|
||
|
+ always-on;
|
||
|
+ };
|
||
|
+
|
||
|
+ cpus: cpus {
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+
|
||
|
+ cpu0: cpu@0 {
|
||
|
+ device_type = "cpu";
|
||
|
+ compatible = "arm,cortex-a53";
|
||
|
+ reg = <0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ cpu1: cpu@1 {
|
||
|
+ device_type = "cpu";
|
||
|
+ compatible = "arm,cortex-a53";
|
||
|
+ reg = <1>;
|
||
|
+ };
|
||
|
+
|
||
|
+ cpu2: cpu@2 {
|
||
|
+ device_type = "cpu";
|
||
|
+ compatible = "arm,cortex-a53";
|
||
|
+ reg = <2>;
|
||
|
+ };
|
||
|
+
|
||
|
+ cpu3: cpu@3 {
|
||
|
+ device_type = "cpu";
|
||
|
+ compatible = "arm,cortex-a53";
|
||
|
+ reg = <3>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+/* Make the BCM2835-style global interrupt controller be a child of the
|
||
|
+ * CPU-local interrupt controller.
|
||
|
+ */
|
||
|
+&intc {
|
||
|
+ compatible = "brcm,bcm2836-armctrl-ic";
|
||
|
+ reg = <0x7e00b200 0x200>;
|
||
|
+ interrupt-parent = <&local_intc>;
|
||
|
+ interrupts = <8>;
|
||
|
+};
|
||
|
--
|
||
|
2.7.3
|
||
|
|
||
|
From 528285e99c25249456023d28f521689bf9e9eb8b Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||
|
Date: Wed, 30 Mar 2016 09:35:13 +0100
|
||
|
Subject: [PATCH 32/36] drop usb power domain support for the moment, kills usb
|
||
|
|
||
|
---
|
||
|
arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 ----
|
||
|
1 file changed, 4 deletions(-)
|
||
|
|
||
|
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||
|
index caf2707..b1e8145 100644
|
||
|
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||
|
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||
|
@@ -71,10 +71,6 @@
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
-&usb {
|
||
|
- power-domains = <&power RPI_POWER_DOMAIN_USB>;
|
||
|
-};
|
||
|
-
|
||
|
&v3d {
|
||
|
power-domains = <&power RPI_POWER_DOMAIN_V3D>;
|
||
|
};
|
||
|
--
|
||
|
2.7.3
|
||
|
|