aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2016-08-30 23:02:04 -0400
committerFlorian Fainelli <f.fainelli@gmail.com>2016-08-30 23:02:04 -0400
commit7260ecd22baa3c62ef6efaf59e7de53f4c8df800 (patch)
tree994ea75bed2f96027a10c71c17e6eba94e416cb2
parent2f8bc002e069a10e777ab92b9ac53d3669b3d8d3 (diff)
parentc8336249c1eeca288919e3286f7dd03ae1d8ceae (diff)
Merge tag 'bcm2835-dt-next-2016-08-29' into devicetree/next
This pull request brings in support for Raspberry Pi Zero. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt4
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-a-plus.dts1
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-a.dts1
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-b-plus.dts1
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts1
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-b.dts1
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-zero.dts40
-rw-r--r--arch/arm/boot/dts/bcm2836-rpi-2-b.dts1
-rw-r--r--arch/arm/boot/dts/bcm283x-rpi-usb-host.dtsi3
-rw-r--r--arch/arm/boot/dts/bcm283x.dtsi9
11 files changed, 64 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
index 6ffe08778465..9c97de23919a 100644
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
@@ -38,6 +38,10 @@ Raspberry Pi Compute Module
38Required root node properties: 38Required root node properties:
39compatible = "raspberrypi,compute-module", "brcm,bcm2835"; 39compatible = "raspberrypi,compute-module", "brcm,bcm2835";
40 40
41Raspberry Pi Zero
42Required root node properties:
43compatible = "raspberrypi,model-zero", "brcm,bcm2835";
44
41Generic BCM2835 board 45Generic BCM2835 board
42Required root node properties: 46Required root node properties:
43compatible = "brcm,bcm2835"; 47compatible = "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 8e11aae1b95f..5d85dfde08db 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -69,7 +69,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
69 bcm2835-rpi-b-rev2.dtb \ 69 bcm2835-rpi-b-rev2.dtb \
70 bcm2835-rpi-b-plus.dtb \ 70 bcm2835-rpi-b-plus.dtb \
71 bcm2835-rpi-a-plus.dtb \ 71 bcm2835-rpi-a-plus.dtb \
72 bcm2836-rpi-2-b.dtb 72 bcm2836-rpi-2-b.dtb \
73 bcm2835-rpi-zero.dtb
73dtb-$(CONFIG_ARCH_BCM_5301X) += \ 74dtb-$(CONFIG_ARCH_BCM_5301X) += \
74 bcm4708-asus-rt-ac56u.dtb \ 75 bcm4708-asus-rt-ac56u.dtb \
75 bcm4708-asus-rt-ac68u.dtb \ 76 bcm4708-asus-rt-ac68u.dtb \
diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
index 35ff4e7a4aac..f7f9db355d98 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2#include "bcm2835.dtsi" 2#include "bcm2835.dtsi"
3#include "bcm2835-rpi.dtsi" 3#include "bcm2835-rpi.dtsi"
4#include "bcm283x-rpi-usb-host.dtsi"
4 5
5/ { 6/ {
6 compatible = "raspberrypi,model-a-plus", "brcm,bcm2835"; 7 compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts
index 306a84ee9898..8be102f5d826 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2#include "bcm2835.dtsi" 2#include "bcm2835.dtsi"
3#include "bcm2835-rpi.dtsi" 3#include "bcm2835-rpi.dtsi"
4#include "bcm283x-rpi-usb-host.dtsi"
4 5
5/ { 6/ {
6 compatible = "raspberrypi,model-a", "brcm,bcm2835"; 7 compatible = "raspberrypi,model-a", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
index d5fdb8e761a3..35cde65c975e 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
@@ -2,6 +2,7 @@
2#include "bcm2835.dtsi" 2#include "bcm2835.dtsi"
3#include "bcm2835-rpi.dtsi" 3#include "bcm2835-rpi.dtsi"
4#include "bcm283x-rpi-smsc9514.dtsi" 4#include "bcm283x-rpi-smsc9514.dtsi"
5#include "bcm283x-rpi-usb-host.dtsi"
5 6
6/ { 7/ {
7 compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; 8 compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
index bfc4bd9b7733..84df85ea6296 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
@@ -2,6 +2,7 @@
2#include "bcm2835.dtsi" 2#include "bcm2835.dtsi"
3#include "bcm2835-rpi.dtsi" 3#include "bcm2835-rpi.dtsi"
4#include "bcm283x-rpi-smsc9512.dtsi" 4#include "bcm283x-rpi-smsc9512.dtsi"
5#include "bcm283x-rpi-usb-host.dtsi"
5 6
6/ { 7/ {
7 compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835"; 8 compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
index 0371bb7374b8..8e626a80fe24 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -2,6 +2,7 @@
2#include "bcm2835.dtsi" 2#include "bcm2835.dtsi"
3#include "bcm2835-rpi.dtsi" 3#include "bcm2835-rpi.dtsi"
4#include "bcm283x-rpi-smsc9512.dtsi" 4#include "bcm283x-rpi-smsc9512.dtsi"
5#include "bcm283x-rpi-usb-host.dtsi"
5 6
6/ { 7/ {
7 compatible = "raspberrypi,model-b", "brcm,bcm2835"; 8 compatible = "raspberrypi,model-b", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
new file mode 100644
index 000000000000..60e359fafc5b
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
@@ -0,0 +1,40 @@
1/*
2 * Copyright (C) 2016 Stefan Wahren <stefan.wahren@i2se.com>
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
13#include "bcm2835.dtsi"
14#include "bcm2835-rpi.dtsi"
15#include "bcm283x-rpi-usb-host.dtsi"
16
17/ {
18 compatible = "raspberrypi,model-zero", "brcm,bcm2835";
19 model = "Raspberry Pi Zero";
20
21 leds {
22 act {
23 gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
24 };
25 };
26};
27
28&gpio {
29 pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
30
31 /* I2S interface */
32 i2s_alt0: i2s_alt0 {
33 brcm,pins = <18 19 20 21>;
34 brcm,function = <BCM2835_FSEL_ALT0>;
35 };
36};
37
38&hdmi {
39 hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
40};
diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
index 29e1cfe8eb14..39dccf62ac96 100644
--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
@@ -2,6 +2,7 @@
2#include "bcm2836.dtsi" 2#include "bcm2836.dtsi"
3#include "bcm2835-rpi.dtsi" 3#include "bcm2835-rpi.dtsi"
4#include "bcm283x-rpi-smsc9514.dtsi" 4#include "bcm283x-rpi-smsc9514.dtsi"
5#include "bcm283x-rpi-usb-host.dtsi"
5 6
6/ { 7/ {
7 compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; 8 compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
diff --git a/arch/arm/boot/dts/bcm283x-rpi-usb-host.dtsi b/arch/arm/boot/dts/bcm283x-rpi-usb-host.dtsi
new file mode 100644
index 000000000000..73f4ece8dcd0
--- /dev/null
+++ b/arch/arm/boot/dts/bcm283x-rpi-usb-host.dtsi
@@ -0,0 +1,3 @@
1&usb {
2 dr_mode = "host";
3};
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index b98252232d20..547280088299 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -289,6 +289,8 @@
289 interrupts = <1 9>; 289 interrupts = <1 9>;
290 #address-cells = <1>; 290 #address-cells = <1>;
291 #size-cells = <0>; 291 #size-cells = <0>;
292 clocks = <&clk_usb>;
293 clock-names = "otg";
292 }; 294 };
293 295
294 v3d: v3d@7ec00000 { 296 v3d: v3d@7ec00000 {
@@ -316,5 +318,12 @@
316 clock-frequency = <19200000>; 318 clock-frequency = <19200000>;
317 }; 319 };
318 320
321 clk_usb: clock@4 {
322 compatible = "fixed-clock";
323 reg = <4>;
324 #clock-cells = <0>;
325 clock-output-names = "otg";
326 clock-frequency = <480000000>;
327 };
319 }; 328 };
320}; 329};