aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2017-11-07 10:08:58 -0500
committerArnd Bergmann <arnd@arndb.de>2017-11-07 10:08:58 -0500
commit2d2cf5283f01c854ed403dec76d098f1b1a74767 (patch)
tree5f3acb7c864fbd7dcaeacd52b51f02ba141c12eb
parent3ab6dd0416a9ca5b3d32d0dca1b2e85bfbb9f9a0 (diff)
parenta9ce6f854581aa7c39fd94f965658aa4e7ff7892 (diff)
Merge tag 'realtek-arm64-dt-for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-realtek into next/dt
Pull "Realtek ARM64 based SoC DT for v4.15" from Andreas Färber: This refactors the RTD1295 DT, preparing for (but not yet adding) RTD1293 and RTD1296. Superfluous reg property entries are dropped. DTs for PROBOX2 AVA and MeLE V9 TV boxes are added. * tag 'realtek-arm64-dt-for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-realtek: arm64: dts: realtek: Add MeLE V9 dt-bindings: arm: realtek: Document MeLE V9 dt-bindings: Add vendor prefix for MeLE arm64: dts: realtek: Factor out common RTD129x parts arm64: dts: realtek: Add ProBox2 Ava dt-bindings: arm: realtek: Add ProBox2 AVA dt-bindings: Add vendor prefix for ProBox2 arm64: dts: realtek: Clean up RTD1295 UART reg property
-rw-r--r--Documentation/devicetree/bindings/arm/realtek.txt2
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt2
-rw-r--r--arch/arm64/boot/dts/realtek/Makefile2
-rw-r--r--arch/arm64/boot/dts/realtek/rtd1295-mele-v9.dts31
-rw-r--r--arch/arm64/boot/dts/realtek/rtd1295-probox2-ava.dts31
-rw-r--r--arch/arm64/boot/dts/realtek/rtd1295-zidoo-x9s.dts6
-rw-r--r--arch/arm64/boot/dts/realtek/rtd1295.dtsi62
-rw-r--r--arch/arm64/boot/dts/realtek/rtd129x.dtsi72
8 files changed, 144 insertions, 64 deletions
diff --git a/Documentation/devicetree/bindings/arm/realtek.txt b/Documentation/devicetree/bindings/arm/realtek.txt
index 13d755787b4f..95839e19ae92 100644
--- a/Documentation/devicetree/bindings/arm/realtek.txt
+++ b/Documentation/devicetree/bindings/arm/realtek.txt
@@ -12,6 +12,8 @@ Required root node properties:
12 12
13Root node property compatible must contain, depending on board: 13Root node property compatible must contain, depending on board:
14 14
15 - MeLE V9: "mele,v9"
16 - ProBox2 AVA: "probox2,ava"
15 - Zidoo X9S: "zidoo,x9s" 17 - Zidoo X9S: "zidoo,x9s"
16 18
17 19
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index edc3b26a445c..3d674d4ac46e 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -199,6 +199,7 @@ mcube mCube
199meas Measurement Specialties 199meas Measurement Specialties
200mediatek MediaTek Inc. 200mediatek MediaTek Inc.
201megachips MegaChips 201megachips MegaChips
202mele Shenzhen MeLE Digital Technology Ltd.
202melexis Melexis N.V. 203melexis Melexis N.V.
203melfas MELFAS Inc. 204melfas MELFAS Inc.
204mellanox Mellanox Technologies 205mellanox Mellanox Technologies
@@ -265,6 +266,7 @@ plathome Plat'Home Co., Ltd.
265plda PLDA 266plda PLDA
266poslab Poslab Technology Co., Ltd. 267poslab Poslab Technology Co., Ltd.
267powervr PowerVR (deprecated, use img) 268powervr PowerVR (deprecated, use img)
269probox2 PROBOX2 (by W2COMP Co., Ltd.)
268pulsedlight PulsedLight, Inc 270pulsedlight PulsedLight, Inc
269qca Qualcomm Atheros, Inc. 271qca Qualcomm Atheros, Inc.
270qcom Qualcomm Technologies, Inc 272qcom Qualcomm Technologies, Inc
diff --git a/arch/arm64/boot/dts/realtek/Makefile b/arch/arm64/boot/dts/realtek/Makefile
index 8521e921e59a..ee9bcf332c77 100644
--- a/arch/arm64/boot/dts/realtek/Makefile
+++ b/arch/arm64/boot/dts/realtek/Makefile
@@ -1,3 +1,5 @@
1dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-mele-v9.dtb
2dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-probox2-ava.dtb
1dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-zidoo-x9s.dtb 3dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-zidoo-x9s.dtb
2 4
3always := $(dtb-y) 5always := $(dtb-y)
diff --git a/arch/arm64/boot/dts/realtek/rtd1295-mele-v9.dts b/arch/arm64/boot/dts/realtek/rtd1295-mele-v9.dts
new file mode 100644
index 000000000000..bd584e99fff9
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1295-mele-v9.dts
@@ -0,0 +1,31 @@
1/*
2 * Copyright (c) 2017 Andreas Färber
3 *
4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 */
6
7/dts-v1/;
8
9#include "rtd1295.dtsi"
10
11/ {
12 compatible = "mele,v9", "realtek,rtd1295";
13 model = "MeLE V9";
14
15 memory@0 {
16 device_type = "memory";
17 reg = <0x0 0x80000000>;
18 };
19
20 aliases {
21 serial0 = &uart0;
22 };
23
24 chosen {
25 stdout-path = "serial0:115200n8";
26 };
27};
28
29&uart0 {
30 status = "okay";
31};
diff --git a/arch/arm64/boot/dts/realtek/rtd1295-probox2-ava.dts b/arch/arm64/boot/dts/realtek/rtd1295-probox2-ava.dts
new file mode 100644
index 000000000000..8e2b0e75298a
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd1295-probox2-ava.dts
@@ -0,0 +1,31 @@
1/*
2 * Copyright (c) 2017 Andreas Färber
3 *
4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 */
6
7/dts-v1/;
8
9#include "rtd1295.dtsi"
10
11/ {
12 compatible = "probox2,ava", "realtek,rtd1295";
13 model = "PROBOX2 AVA";
14
15 memory@0 {
16 device_type = "memory";
17 reg = <0x0 0x80000000>;
18 };
19
20 aliases {
21 serial0 = &uart0;
22 };
23
24 chosen {
25 stdout-path = "serial0:115200n8";
26 };
27};
28
29&uart0 {
30 status = "okay";
31};
diff --git a/arch/arm64/boot/dts/realtek/rtd1295-zidoo-x9s.dts b/arch/arm64/boot/dts/realtek/rtd1295-zidoo-x9s.dts
index 6efa8091bb30..da19faab29d5 100644
--- a/arch/arm64/boot/dts/realtek/rtd1295-zidoo-x9s.dts
+++ b/arch/arm64/boot/dts/realtek/rtd1295-zidoo-x9s.dts
@@ -6,12 +6,6 @@
6 6
7/dts-v1/; 7/dts-v1/;
8 8
9/memreserve/ 0x0000000000000000 0x0000000000030000;
10/memreserve/ 0x000000000001f000 0x0000000000001000;
11/memreserve/ 0x0000000000030000 0x00000000000d0000;
12/memreserve/ 0x0000000001b00000 0x00000000004be000;
13/memreserve/ 0x0000000001ffe000 0x0000000000004000;
14
15#include "rtd1295.dtsi" 9#include "rtd1295.dtsi"
16 10
17/ { 11/ {
diff --git a/arch/arm64/boot/dts/realtek/rtd1295.dtsi b/arch/arm64/boot/dts/realtek/rtd1295.dtsi
index d8f84666c8ce..8d9ac05d17dc 100644
--- a/arch/arm64/boot/dts/realtek/rtd1295.dtsi
+++ b/arch/arm64/boot/dts/realtek/rtd1295.dtsi
@@ -6,13 +6,10 @@
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */ 7 */
8 8
9#include <dt-bindings/interrupt-controller/arm-gic.h> 9#include "rtd129x.dtsi"
10 10
11/ { 11/ {
12 compatible = "realtek,rtd1295"; 12 compatible = "realtek,rtd1295";
13 interrupt-parent = <&gic>;
14 #address-cells = <1>;
15 #size-cells = <1>;
16 13
17 cpus { 14 cpus {
18 #address-cells = <2>; 15 #address-cells = <2>;
@@ -62,12 +59,6 @@
62 }; 59 };
63 }; 60 };
64 61
65 arm-pmu {
66 compatible = "arm,cortex-a53-pmu";
67 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
68 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
69 };
70
71 timer { 62 timer {
72 compatible = "arm,armv8-timer"; 63 compatible = "arm,armv8-timer";
73 interrupts = <GIC_PPI 13 64 interrupts = <GIC_PPI 13
@@ -79,53 +70,8 @@
79 <GIC_PPI 10 70 <GIC_PPI 10
80 (GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>; 71 (GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>;
81 }; 72 };
73};
82 74
83 soc { 75&arm_pmu {
84 compatible = "simple-bus"; 76 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
85 #address-cells = <1>;
86 #size-cells = <1>;
87 /* Exclude up to 2 GiB of RAM */
88 ranges = <0x80000000 0x80000000 0x80000000>;
89
90 uart0: serial@98007800 {
91 compatible = "snps,dw-apb-uart";
92 reg = <0x98007800 0x400>,
93 <0x98007000 0x100>;
94 reg-shift = <2>;
95 reg-io-width = <4>;
96 clock-frequency = <27000000>;
97 status = "disabled";
98 };
99
100 uart1: serial@9801b200 {
101 compatible = "snps,dw-apb-uart";
102 reg = <0x9801b200 0x100>,
103 <0x9801b00c 0x100>;
104 reg-shift = <2>;
105 reg-io-width = <4>;
106 clock-frequency = <432000000>;
107 status = "disabled";
108 };
109
110 uart2: serial@9801b400 {
111 compatible = "snps,dw-apb-uart";
112 reg = <0x9801b400 0x100>,
113 <0x9801b00c 0x100>;
114 reg-shift = <2>;
115 reg-io-width = <4>;
116 clock-frequency = <432000000>;
117 status = "disabled";
118 };
119
120 gic: interrupt-controller@ff011000 {
121 compatible = "arm,gic-400";
122 reg = <0xff011000 0x1000>,
123 <0xff012000 0x2000>,
124 <0xff014000 0x2000>,
125 <0xff016000 0x2000>;
126 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
127 interrupt-controller;
128 #interrupt-cells = <3>;
129 };
130 };
131}; 77};
diff --git a/arch/arm64/boot/dts/realtek/rtd129x.dtsi b/arch/arm64/boot/dts/realtek/rtd129x.dtsi
new file mode 100644
index 000000000000..b9cb92466fc7
--- /dev/null
+++ b/arch/arm64/boot/dts/realtek/rtd129x.dtsi
@@ -0,0 +1,72 @@
1/*
2 * Realtek RTD1293/RTD1295/RTD1296 SoC
3 *
4 * Copyright (c) 2016-2017 Andreas Färber
5 *
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */
8
9/memreserve/ 0x0000000000000000 0x0000000000030000;
10/memreserve/ 0x000000000001f000 0x0000000000001000;
11/memreserve/ 0x0000000000030000 0x00000000000d0000;
12/memreserve/ 0x0000000001b00000 0x00000000004be000;
13/memreserve/ 0x0000000001ffe000 0x0000000000004000;
14
15#include <dt-bindings/interrupt-controller/arm-gic.h>
16
17/ {
18 interrupt-parent = <&gic>;
19 #address-cells = <1>;
20 #size-cells = <1>;
21
22 arm_pmu: arm-pmu {
23 compatible = "arm,cortex-a53-pmu";
24 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
25 };
26
27 soc {
28 compatible = "simple-bus";
29 #address-cells = <1>;
30 #size-cells = <1>;
31 /* Exclude up to 2 GiB of RAM */
32 ranges = <0x80000000 0x80000000 0x80000000>;
33
34 uart0: serial@98007800 {
35 compatible = "snps,dw-apb-uart";
36 reg = <0x98007800 0x400>;
37 reg-shift = <2>;
38 reg-io-width = <4>;
39 clock-frequency = <27000000>;
40 status = "disabled";
41 };
42
43 uart1: serial@9801b200 {
44 compatible = "snps,dw-apb-uart";
45 reg = <0x9801b200 0x100>;
46 reg-shift = <2>;
47 reg-io-width = <4>;
48 clock-frequency = <432000000>;
49 status = "disabled";
50 };
51
52 uart2: serial@9801b400 {
53 compatible = "snps,dw-apb-uart";
54 reg = <0x9801b400 0x100>;
55 reg-shift = <2>;
56 reg-io-width = <4>;
57 clock-frequency = <432000000>;
58 status = "disabled";
59 };
60
61 gic: interrupt-controller@ff011000 {
62 compatible = "arm,gic-400";
63 reg = <0xff011000 0x1000>,
64 <0xff012000 0x2000>,
65 <0xff014000 0x2000>,
66 <0xff016000 0x2000>;
67 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
68 interrupt-controller;
69 #interrupt-cells = <3>;
70 };
71 };
72};