diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2016-07-05 23:47:49 -0400 |
---|---|---|
committer | Florian Fainelli <f.fainelli@gmail.com> | 2016-07-05 23:47:49 -0400 |
commit | b2aa1bb2be9c9cf4727ddb81ae1d0ad5a0c683a8 (patch) | |
tree | 5f20de89ddc647c29ac1d7bc3266135cdd61cbd2 | |
parent | 5dcc9c7618dff61de243ca9bbac7de18ef92f49b (diff) | |
parent | 02d08603649816a941246c18252e5c41fd07625a (diff) |
Merge tag 'bcm2835-dt-64-next-2016-07-03' into devicetree-arm64/next
This pull request brings in the Raspberry Pi 3 DT for its arm64
support. Note that it also merges in the ethernet DT changes so that
the Pi3's ethernet can also get the MAC address.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-rw-r--r-- | Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-b.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi | 19 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi | 19 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm283x.dtsi | 2 | ||||
-rw-r--r-- | arch/arm64/boot/dts/broadcom/Makefile | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 30 | ||||
-rw-r--r-- | arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 76 |
11 files changed, 155 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt index 11d3056dc2bd..6ffe08778465 100644 --- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt +++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | |||
@@ -30,6 +30,10 @@ Raspberry Pi 2 Model B | |||
30 | Required root node properties: | 30 | Required root node properties: |
31 | compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; | 31 | compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; |
32 | 32 | ||
33 | Raspberry Pi 3 Model B | ||
34 | Required root node properties: | ||
35 | compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; | ||
36 | |||
33 | Raspberry Pi Compute Module | 37 | Raspberry Pi Compute Module |
34 | Required root node properties: | 38 | Required root node properties: |
35 | compatible = "raspberrypi,compute-module", "brcm,bcm2835"; | 39 | compatible = "raspberrypi,compute-module", "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 57d313b6afaf..d5fdb8e761a3 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-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-smsc9514.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; | 7 | 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 cf2774ec0834..bfc4bd9b7733 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.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-smsc9512.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835"; | 7 | 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 8b15f9c35643..0371bb7374b8 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.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-smsc9512.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | compatible = "raspberrypi,model-b", "brcm,bcm2835"; | 7 | compatible = "raspberrypi,model-b", "brcm,bcm2835"; |
diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts index c4743f42237b..29e1cfe8eb14 100644 --- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
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 | 5 | ||
5 | / { | 6 | / { |
6 | compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; | 7 | compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; |
diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi new file mode 100644 index 000000000000..12c981e51134 --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi | |||
@@ -0,0 +1,19 @@ | |||
1 | / { | ||
2 | aliases { | ||
3 | ethernet = ðernet; | ||
4 | }; | ||
5 | }; | ||
6 | |||
7 | &usb { | ||
8 | usb1@1 { | ||
9 | compatible = "usb424,9512"; | ||
10 | reg = <1>; | ||
11 | #address-cells = <1>; | ||
12 | #size-cells = <0>; | ||
13 | |||
14 | ethernet: usbether@1 { | ||
15 | compatible = "usb424,ec00"; | ||
16 | reg = <1>; | ||
17 | }; | ||
18 | }; | ||
19 | }; | ||
diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi new file mode 100644 index 000000000000..3f0a56ebcf1f --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi | |||
@@ -0,0 +1,19 @@ | |||
1 | / { | ||
2 | aliases { | ||
3 | ethernet = ðernet; | ||
4 | }; | ||
5 | }; | ||
6 | |||
7 | &usb { | ||
8 | usb1@1 { | ||
9 | compatible = "usb424,9514"; | ||
10 | reg = <1>; | ||
11 | #address-cells = <1>; | ||
12 | #size-cells = <0>; | ||
13 | |||
14 | ethernet: usbether@1 { | ||
15 | compatible = "usb424,ec00"; | ||
16 | reg = <1>; | ||
17 | }; | ||
18 | }; | ||
19 | }; | ||
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index 10b27b912bac..b98252232d20 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi | |||
@@ -287,6 +287,8 @@ | |||
287 | compatible = "brcm,bcm2835-usb"; | 287 | compatible = "brcm,bcm2835-usb"; |
288 | reg = <0x7e980000 0x10000>; | 288 | reg = <0x7e980000 0x10000>; |
289 | interrupts = <1 9>; | 289 | interrupts = <1 9>; |
290 | #address-cells = <1>; | ||
291 | #size-cells = <0>; | ||
290 | }; | 292 | }; |
291 | 293 | ||
292 | v3d: v3d@7ec00000 { | 294 | v3d: v3d@7ec00000 { |
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile index bec1f8b36f60..05faf2a8a35c 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb | ||
1 | dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb | 2 | dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb |
2 | dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb | 3 | dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb |
3 | 4 | ||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts new file mode 100644 index 000000000000..6f47dd2bb1db --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /dts-v1/; | ||
2 | #include "bcm2837.dtsi" | ||
3 | #include "../../../../arm/boot/dts/bcm2835-rpi.dtsi" | ||
4 | #include "../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi" | ||
5 | |||
6 | / { | ||
7 | compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; | ||
8 | model = "Raspberry Pi 3 Model B"; | ||
9 | |||
10 | memory { | ||
11 | reg = <0 0x40000000>; | ||
12 | }; | ||
13 | |||
14 | leds { | ||
15 | act { | ||
16 | gpios = <&gpio 47 0>; | ||
17 | }; | ||
18 | |||
19 | pwr { | ||
20 | label = "PWR"; | ||
21 | gpios = <&gpio 35 0>; | ||
22 | default-state = "keep"; | ||
23 | linux,default-trigger = "default-on"; | ||
24 | }; | ||
25 | }; | ||
26 | }; | ||
27 | |||
28 | &uart1 { | ||
29 | status = "okay"; | ||
30 | }; | ||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi new file mode 100644 index 000000000000..f2a31d06845d --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi | |||
@@ -0,0 +1,76 @@ | |||
1 | #include "../../../../arm/boot/dts/bcm283x.dtsi" | ||
2 | |||
3 | / { | ||
4 | compatible = "brcm,bcm2836"; | ||
5 | |||
6 | soc { | ||
7 | ranges = <0x7e000000 0x3f000000 0x1000000>, | ||
8 | <0x40000000 0x40000000 0x00001000>; | ||
9 | dma-ranges = <0xc0000000 0x00000000 0x3f000000>; | ||
10 | |||
11 | local_intc: local_intc { | ||
12 | compatible = "brcm,bcm2836-l1-intc"; | ||
13 | reg = <0x40000000 0x100>; | ||
14 | interrupt-controller; | ||
15 | #interrupt-cells = <1>; | ||
16 | interrupt-parent = <&local_intc>; | ||
17 | }; | ||
18 | }; | ||
19 | |||
20 | timer { | ||
21 | compatible = "arm,armv7-timer"; | ||
22 | interrupt-parent = <&local_intc>; | ||
23 | interrupts = <0>, // PHYS_SECURE_PPI | ||
24 | <1>, // PHYS_NONSECURE_PPI | ||
25 | <3>, // VIRT_PPI | ||
26 | <2>; // HYP_PPI | ||
27 | always-on; | ||
28 | }; | ||
29 | |||
30 | cpus: cpus { | ||
31 | #address-cells = <1>; | ||
32 | #size-cells = <0>; | ||
33 | |||
34 | cpu0: cpu@0 { | ||
35 | device_type = "cpu"; | ||
36 | compatible = "arm,cortex-a53"; | ||
37 | reg = <0>; | ||
38 | enable-method = "spin-table"; | ||
39 | cpu-release-addr = <0x0 0x000000d8>; | ||
40 | }; | ||
41 | |||
42 | cpu1: cpu@1 { | ||
43 | device_type = "cpu"; | ||
44 | compatible = "arm,cortex-a53"; | ||
45 | reg = <1>; | ||
46 | enable-method = "spin-table"; | ||
47 | cpu-release-addr = <0x0 0x000000e0>; | ||
48 | }; | ||
49 | |||
50 | cpu2: cpu@2 { | ||
51 | device_type = "cpu"; | ||
52 | compatible = "arm,cortex-a53"; | ||
53 | reg = <2>; | ||
54 | enable-method = "spin-table"; | ||
55 | cpu-release-addr = <0x0 0x000000e8>; | ||
56 | }; | ||
57 | |||
58 | cpu3: cpu@3 { | ||
59 | device_type = "cpu"; | ||
60 | compatible = "arm,cortex-a53"; | ||
61 | reg = <3>; | ||
62 | enable-method = "spin-table"; | ||
63 | cpu-release-addr = <0x0 0x000000f0>; | ||
64 | }; | ||
65 | }; | ||
66 | }; | ||
67 | |||
68 | /* Make the BCM2835-style global interrupt controller be a child of the | ||
69 | * CPU-local interrupt controller. | ||
70 | */ | ||
71 | &intc { | ||
72 | compatible = "brcm,bcm2836-armctrl-ic"; | ||
73 | reg = <0x7e00b200 0x200>; | ||
74 | interrupt-parent = <&local_intc>; | ||
75 | interrupts = <8>; | ||
76 | }; | ||