aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Armstrong <narmstrong@baylibre.com>2016-11-22 05:00:45 -0500
committerKevin Hilman <khilman@baylibre.com>2016-11-23 10:57:17 -0500
commitbb51b5350d2fe38f30f8e416541f32dde195d7d8 (patch)
treec4573c93adc48402c2c321a52505c499e5e8c1b3
parenta5b1ef3c50aa90214bfd10ede5e3806a9720ccf4 (diff)
ARM64: dts: Add support for Meson GXM
Following the Amlogic Linux kernel, it seem the only differences between the GXL and GXM SoCs are the CPU Clusters. This commit renames the gxl-s905d-p23x DTSI in a common file for S905D p23x and S912 q20x boards. Then adds a meson-gxm dtsi and reproduce the P23x to Q20x boards dts files since the S905D and S912 SoCs shares the same pinout and the P23x and Q20x boards are identical. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
-rw-r--r--Documentation/devicetree/bindings/arm/amlogic.txt6
-rw-r--r--arch/arm64/boot/dts/amlogic/Makefile2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi (renamed from arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p23x.dtsi)4
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts3
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts3
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts77
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts58
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm.dtsi114
8 files changed, 264 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt
index fffc17992510..1144214c51bb 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.txt
+++ b/Documentation/devicetree/bindings/arm/amlogic.txt
@@ -25,6 +25,10 @@ Boards with the Amlogic Meson GXL S905D SoC shall have the following properties:
25 Required root node property: 25 Required root node property:
26 compatible: "amlogic,s905d", "amlogic,meson-gxl"; 26 compatible: "amlogic,s905d", "amlogic,meson-gxl";
27 27
28Boards with the Amlogic Meson GXM S912 SoC shall have the following properties:
29 Required root node property:
30 compatible: "amlogic,s912", "amlogic,meson-gxm";
31
28Board compatible values: 32Board compatible values:
29 - "geniatech,atv1200" (Meson6) 33 - "geniatech,atv1200" (Meson6)
30 - "minix,neo-x8" (Meson8) 34 - "minix,neo-x8" (Meson8)
@@ -39,3 +43,5 @@ Board compatible values:
39 - "amlogic,p212" (Meson gxl s905x) 43 - "amlogic,p212" (Meson gxl s905x)
40 - "amlogic,p230" (Meson gxl s905d) 44 - "amlogic,p230" (Meson gxl s905d)
41 - "amlogic,p231" (Meson gxl s905d) 45 - "amlogic,p231" (Meson gxl s905d)
46 - "amlogic,q200" (Meson gxm s912)
47 - "amlogic,q201" (Meson gxm s912)
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 5a640504a127..7752a1647661 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -8,6 +8,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-telos.dtb
8dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb 8dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
9dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb 9dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
10dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb 10dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
11dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q200.dtb
12dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q201.dtb
11 13
12always := $(dtb-y) 14always := $(dtb-y)
13subdir-y := $(dts-dirs) 15subdir-y := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p23x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
index 622ffbeba336..7a078bef04cd 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p23x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -41,7 +41,9 @@
41 * OTHER DEALINGS IN THE SOFTWARE. 41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 42 */
43 43
44#include "meson-gxl-s905d.dtsi" 44/* Common DTSI for same Amlogic Q200/Q201 and P230/P231 boards using either
45 * the pin-compatible S912 (GXM) or S905D (GXL) SoCs.
46 */
45 47
46/ { 48/ {
47 aliases { 49 aliases {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
index 4d082a7fdf51..f66939cacd37 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
@@ -43,7 +43,8 @@
43 43
44/dts-v1/; 44/dts-v1/;
45 45
46#include "meson-gxl-s905d-p23x.dtsi" 46#include "meson-gxl-s905d.dtsi"
47#include "meson-gx-p23x-q20x.dtsi"
47 48
48/ { 49/ {
49 compatible = "amlogic,p230", "amlogic,s905d", "amlogic,meson-gxl"; 50 compatible = "amlogic,p230", "amlogic,s905d", "amlogic,meson-gxl";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
index 1cc8d49d85e4..95992cf1fe61 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
@@ -43,7 +43,8 @@
43 43
44/dts-v1/; 44/dts-v1/;
45 45
46#include "meson-gxl-s905d-p23x.dtsi" 46#include "meson-gxl-s905d.dtsi"
47#include "meson-gx-p23x-q20x.dtsi"
47 48
48/ { 49/ {
49 compatible = "amlogic,p231", "amlogic,s905d", "amlogic,meson-gxl"; 50 compatible = "amlogic,p231", "amlogic,s905d", "amlogic,meson-gxl";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts
new file mode 100644
index 000000000000..5dbc66088355
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts
@@ -0,0 +1,77 @@
1/*
2 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */
43
44/dts-v1/;
45
46#include "meson-gxm.dtsi"
47#include "meson-gx-p23x-q20x.dtsi"
48
49/ {
50 compatible = "amlogic,q200", "amlogic,s912", "amlogic,meson-gxm";
51 model = "Amlogic Meson GXM (S912) Q200 Development Board";
52};
53
54/* Q200 has exclusive choice between internal or external PHY */
55&ethmac {
56 pinctrl-0 = <&eth_pins>;
57 pinctrl-names = "default";
58
59 /* Select external PHY by default */
60 phy-handle = <&external_phy>;
61
62 /* External PHY reset is shared with internal PHY Led signals */
63 snps,reset-gpio = <&gpio GPIOZ_14 0>;
64 snps,reset-delays-us = <0 10000 1000000>;
65 snps,reset-active-low;
66
67 /* External PHY is in RGMII */
68 phy-mode = "rgmii";
69};
70
71&external_mdio {
72 external_phy: ethernet-phy@0 {
73 compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22";
74 reg = <0>;
75 max-speed = <1000>;
76 };
77};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts
new file mode 100644
index 000000000000..95e11d7faab8
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts
@@ -0,0 +1,58 @@
1/*
2 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */
43
44/dts-v1/;
45
46#include "meson-gxm.dtsi"
47#include "meson-gx-p23x-q20x.dtsi"
48
49/ {
50 compatible = "amlogic,q201", "amlogic,s912", "amlogic,meson-gxm";
51 model = "Amlogic Meson GXM (S912) Q201 Development Board";
52};
53
54/* Q201 has only internal PHY port */
55&ethmac {
56 phy-mode = "rmii";
57 phy-handle = <&internal_phy>;
58};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
new file mode 100644
index 000000000000..c1974bbbddea
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
@@ -0,0 +1,114 @@
1/*
2 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */
43
44#include "meson-gxl.dtsi"
45
46/ {
47 compatible = "amlogic,meson-gxm";
48
49 cpus {
50 cpu-map {
51 cluster0 {
52 core0 {
53 cpu = <&cpu0>;
54 };
55 core1 {
56 cpu = <&cpu1>;
57 };
58 core2 {
59 cpu = <&cpu2>;
60 };
61 core3 {
62 cpu = <&cpu3>;
63 };
64 };
65
66 cluster1 {
67 core0 {
68 cpu = <&cpu4>;
69 };
70 core1 {
71 cpu = <&cpu5>;
72 };
73 core2 {
74 cpu = <&cpu6>;
75 };
76 core3 {
77 cpu = <&cpu7>;
78 };
79 };
80 };
81
82 cpu4: cpu@100 {
83 device_type = "cpu";
84 compatible = "arm,cortex-a53", "arm,armv8";
85 reg = <0x0 0x100>;
86 enable-method = "psci";
87 next-level-cache = <&l2>;
88 };
89
90 cpu5: cpu@101 {
91 device_type = "cpu";
92 compatible = "arm,cortex-a53", "arm,armv8";
93 reg = <0x0 0x101>;
94 enable-method = "psci";
95 next-level-cache = <&l2>;
96 };
97
98 cpu6: cpu@102 {
99 device_type = "cpu";
100 compatible = "arm,cortex-a53", "arm,armv8";
101 reg = <0x0 0x102>;
102 enable-method = "psci";
103 next-level-cache = <&l2>;
104 };
105
106 cpu7: cpu@103 {
107 device_type = "cpu";
108 compatible = "arm,cortex-a53", "arm,armv8";
109 reg = <0x0 0x103>;
110 enable-method = "psci";
111 next-level-cache = <&l2>;
112 };
113 };
114};