aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-09-28 06:48:09 -0400
committerArnd Bergmann <arnd@arndb.de>2018-09-28 06:48:34 -0400
commit4bef2317b47aaccb6cb3334e11a759a707fa3ce4 (patch)
tree37e54209dab23243798d4c63379817d25c9d37ea
parent49919eabc85f10cecbb7360e3f526fcb01e0d511 (diff)
parent9c8c52f7cb4f3b604bb9836947dadfbb255f465f (diff)
Merge tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt
Amlogic ARM64 DT updates for v4.20, round 2 - new SoC support: basic support for G12A family - new board: Amlogic U200 board, using G12A SoC - fix SPI bus warnings from new dtc updates * tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: arm64: dts: meson-g12a: add initial g12a s905d2 SoC DT support dt-bindings: arm: amlogic: Add Meson G12A binding arm64: dts: meson: Fix erroneous SPI bus warnings Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--Documentation/devicetree/bindings/arm/amlogic.txt6
-rw-r--r--arch/arm64/boot/dts/amlogic/Makefile1
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts29
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-g12a.dtsi172
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl.dtsi2
6 files changed, 210 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt
index 2c2eee206736..4498292b833d 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.txt
+++ b/Documentation/devicetree/bindings/arm/amlogic.txt
@@ -57,6 +57,10 @@ Boards with the Amlogic Meson AXG A113D SoC shall have the following properties:
57 Required root node property: 57 Required root node property:
58 compatible: "amlogic,a113d", "amlogic,meson-axg"; 58 compatible: "amlogic,a113d", "amlogic,meson-axg";
59 59
60Boards with the Amlogic Meson G12A S905D2 SoC shall have the following properties:
61 Required root node property:
62 compatible: "amlogic,g12a";
63
60Board compatible values (alphabetically, grouped by SoC): 64Board compatible values (alphabetically, grouped by SoC):
61 65
62 - "geniatech,atv1200" (Meson6) 66 - "geniatech,atv1200" (Meson6)
@@ -102,6 +106,8 @@ Board compatible values (alphabetically, grouped by SoC):
102 106
103 - "amlogic,s400" (Meson axg a113d) 107 - "amlogic,s400" (Meson axg a113d)
104 108
109 - "amlogic,u200" (Meson g12a s905d2)
110
105Amlogic Meson Firmware registers Interface 111Amlogic Meson Firmware registers Interface
106------------------------------------------ 112------------------------------------------
107 113
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index a97c0e2d7bc6..c31f29d660de 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -1,5 +1,6 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb 2dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
3dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
3dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb 4dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
4dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb 5dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
5dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb 6dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
new file mode 100644
index 000000000000..c44dbdddf2cf
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
@@ -0,0 +1,29 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include "meson-g12a.dtsi"
9
10/ {
11 compatible = "amlogic,u200", "amlogic,g12a";
12 model = "Amlogic Meson G12A U200 Development Board";
13
14 aliases {
15 serial0 = &uart_AO;
16 };
17 chosen {
18 stdout-path = "serial0:115200n8";
19 };
20 memory@0 {
21 device_type = "memory";
22 reg = <0x0 0x0 0x0 0x40000000>;
23 };
24};
25
26&uart_AO {
27 status = "okay";
28};
29
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
new file mode 100644
index 000000000000..3b82a975c663
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
@@ -0,0 +1,172 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
4 */
5
6#include <dt-bindings/gpio/gpio.h>
7#include <dt-bindings/interrupt-controller/irq.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9
10/ {
11 compatible = "amlogic,g12a";
12
13 interrupt-parent = <&gic>;
14 #address-cells = <2>;
15 #size-cells = <2>;
16
17 cpus {
18 #address-cells = <0x2>;
19 #size-cells = <0x0>;
20
21 cpu0: cpu@0 {
22 device_type = "cpu";
23 compatible = "arm,cortex-a53", "arm,armv8";
24 reg = <0x0 0x0>;
25 enable-method = "psci";
26 next-level-cache = <&l2>;
27 };
28
29 cpu1: cpu@1 {
30 device_type = "cpu";
31 compatible = "arm,cortex-a53", "arm,armv8";
32 reg = <0x0 0x1>;
33 enable-method = "psci";
34 next-level-cache = <&l2>;
35 };
36
37 cpu2: cpu@2 {
38 device_type = "cpu";
39 compatible = "arm,cortex-a53", "arm,armv8";
40 reg = <0x0 0x2>;
41 enable-method = "psci";
42 next-level-cache = <&l2>;
43 };
44
45 cpu3: cpu@3 {
46 device_type = "cpu";
47 compatible = "arm,cortex-a53", "arm,armv8";
48 reg = <0x0 0x3>;
49 enable-method = "psci";
50 next-level-cache = <&l2>;
51 };
52
53 l2: l2-cache0 {
54 compatible = "cache";
55 };
56 };
57
58 psci {
59 compatible = "arm,psci-1.0";
60 method = "smc";
61 };
62
63 reserved-memory {
64 #address-cells = <2>;
65 #size-cells = <2>;
66 ranges;
67
68 /* 3 MiB reserved for ARM Trusted Firmware (BL31) */
69 secmon_reserved: secmon@5000000 {
70 reg = <0x0 0x05000000 0x0 0x300000>;
71 no-map;
72 };
73 };
74
75 soc {
76 compatible = "simple-bus";
77 #address-cells = <2>;
78 #size-cells = <2>;
79 ranges;
80
81 periphs: periphs@ff634000 {
82 compatible = "simple-bus";
83 reg = <0x0 0xff634000 0x0 0x2000>;
84 #address-cells = <2>;
85 #size-cells = <2>;
86 ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;
87 };
88
89 hiubus: bus@ff63c000 {
90 compatible = "simple-bus";
91 reg = <0x0 0xff63c000 0x0 0x1c00>;
92 #address-cells = <2>;
93 #size-cells = <2>;
94 ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
95 };
96
97 aobus: bus@ff800000 {
98 compatible = "simple-bus";
99 reg = <0x0 0xff800000 0x0 0x100000>;
100 #address-cells = <2>;
101 #size-cells = <2>;
102 ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
103
104 uart_AO: serial@3000 {
105 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
106 reg = <0x0 0x3000 0x0 0x18>;
107 interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
108 clocks = <&xtal>, <&xtal>, <&xtal>;
109 clock-names = "xtal", "pclk", "baud";
110 status = "disabled";
111 };
112
113 uart_AO_B: serial@4000 {
114 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
115 reg = <0x0 0x4000 0x0 0x18>;
116 interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
117 clocks = <&xtal>, <&xtal>, <&xtal>;
118 clock-names = "xtal", "pclk", "baud";
119 status = "disabled";
120 };
121 };
122
123 gic: interrupt-controller@ffc01000 {
124 compatible = "arm,gic-400";
125 reg = <0x0 0xffc01000 0 0x1000>,
126 <0x0 0xffc02000 0 0x2000>,
127 <0x0 0xffc04000 0 0x2000>,
128 <0x0 0xffc06000 0 0x2000>;
129 interrupt-controller;
130 interrupts = <GIC_PPI 9
131 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
132 #interrupt-cells = <3>;
133 #address-cells = <0>;
134 };
135
136 cbus: bus@ffd00000 {
137 compatible = "simple-bus";
138 reg = <0x0 0xffd00000 0x0 0x25000>;
139 #address-cells = <2>;
140 #size-cells = <2>;
141 ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>;
142 };
143
144 apb: apb@ffe00000 {
145 compatible = "simple-bus";
146 reg = <0x0 0xffe00000 0x0 0x200000>;
147 #address-cells = <2>;
148 #size-cells = <2>;
149 ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x200000>;
150 };
151 };
152
153 timer {
154 compatible = "arm,armv8-timer";
155 interrupts = <GIC_PPI 13
156 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
157 <GIC_PPI 14
158 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
159 <GIC_PPI 11
160 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
161 <GIC_PPI 10
162 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
163 };
164
165 xtal: xtal-clk {
166 compatible = "fixed-clock";
167 clock-frequency = <24000000>;
168 clock-output-names = "xtal";
169 #clock-cells = <0>;
170 };
171
172};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 98cbba6809ca..1ade7e486828 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -390,7 +390,7 @@
390 }; 390 };
391 }; 391 };
392 392
393 spi_pins: spi { 393 spi_pins: spi-pins {
394 mux { 394 mux {
395 groups = "spi_miso", 395 groups = "spi_miso",
396 "spi_mosi", 396 "spi_mosi",
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index c87a80e9bcc6..8f0bb3c44bd6 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -337,7 +337,7 @@
337 }; 337 };
338 }; 338 };
339 339
340 spi_pins: spi { 340 spi_pins: spi-pins {
341 mux { 341 mux {
342 groups = "spi_miso", 342 groups = "spi_miso",
343 "spi_mosi", 343 "spi_mosi",