aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-11-30 17:22:10 -0500
committerArnd Bergmann <arnd@arndb.de>2016-11-30 17:22:10 -0500
commit09a566514c49b730ac5099549c014180f00be250 (patch)
tree87b4016d276dd3b8a27bf8a0d82d0c8236e5d7b4
parentec5260f26b986e4dd29494adab912cb9e7c32156 (diff)
parentc681ca42bfb74f74ac3187ca5289df25cb67b67f (diff)
Merge tag 'amlogic-dt64-2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt64
Pull "Amlogic 64-bit DT updates for v4.10, round 2" from Kevin Hilman: - new SoC support: S912/GXM series (8x A53) - new boards: Nexbox A1 (S912), Nexbox A95X (S905X) - resets for 2nd USB PHY - update SCPI compatible for pre-v1.0 devices * tag 'amlogic-dt64-2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: ARM64: dts: meson-gxbb: add SCPI pre-1.0 compatible ARM64: dts: meson-gxl: Add support for Nexbox A95X ARM64: dts: meson-gxm: Add support for the Nexbox A1 ARM64: dts: Add support for Meson GXM ARM64: dts: meson-gxbb: add the USB reset also to the second USB PHY
-rw-r--r--Documentation/devicetree/bindings/arm/amlogic.txt8
-rw-r--r--arch/arm64/boot/dts/amlogic/Makefile4
-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-gxbb.dtsi3
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-nexbox-a95x.dts205
-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-nexbox-a1.dts169
-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
11 files changed, 644 insertions, 4 deletions
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt
index fffc17992510..9b2b41ab6817 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,7 @@ 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)
48 - "nexbox,a95x" (Meson gxbb or Meson gxl s905x)
49 - "nexbox,a1" (Meson gxm s912)
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 5a640504a127..0d7bfbf7d922 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -8,6 +8,10 @@ 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-gxl-nexbox-a95x.dtb
12dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q200.dtb
13dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q201.dtb
14dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb
11 15
12always := $(dtb-y) 16always := $(dtb-y)
13subdir-y := $(dts-dirs) 17subdir-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-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 160664fd8d63..51edd5b5c460 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -51,7 +51,7 @@
51 compatible = "amlogic,meson-gxbb"; 51 compatible = "amlogic,meson-gxbb";
52 52
53 scpi { 53 scpi {
54 compatible = "amlogic,meson-gxbb-scpi"; 54 compatible = "amlogic,meson-gxbb-scpi", "arm,scpi-pre-1.0";
55 mboxes = <&mailbox 1 &mailbox 2>; 55 mboxes = <&mailbox 1 &mailbox 2>;
56 shmem = <&cpu_scp_lpri &cpu_scp_hpri>; 56 shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
57 57
@@ -87,6 +87,7 @@
87 compatible = "amlogic,meson-gxbb-usb2-phy"; 87 compatible = "amlogic,meson-gxbb-usb2-phy";
88 #phy-cells = <0>; 88 #phy-cells = <0>;
89 reg = <0x0 0xc0000020 0x0 0x20>; 89 reg = <0x0 0xc0000020 0x0 0x20>;
90 resets = <&reset RESET_USB_OTG>;
90 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>; 91 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>;
91 clock-names = "usb_general", "usb"; 92 clock-names = "usb_general", "usb";
92 status = "disabled"; 93 status = "disabled";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-nexbox-a95x.dts
new file mode 100644
index 000000000000..e99101ae9664
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-nexbox-a95x.dts
@@ -0,0 +1,205 @@
1/*
2 * Copyright (c) 2016 Andreas Färber
3 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Neil Armstrong <narmstrong@kernel.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */
44
45/dts-v1/;
46
47#include "meson-gxl-s905x.dtsi"
48
49/ {
50 compatible = "nexbox,a95x", "amlogic,s905x", "amlogic,meson-gxl";
51 model = "NEXBOX A95X (S905X)";
52
53 aliases {
54 serial0 = &uart_AO;
55 };
56
57 chosen {
58 stdout-path = "serial0:115200n8";
59 };
60
61 memory@0 {
62 device_type = "memory";
63 reg = <0x0 0x0 0x0 0x80000000>;
64 };
65
66 vddio_card: gpio-regulator {
67 compatible = "regulator-gpio";
68
69 regulator-name = "VDDIO_CARD";
70 regulator-min-microvolt = <1800000>;
71 regulator-max-microvolt = <3300000>;
72
73 gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
74 gpios-states = <1>;
75
76 /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
77 states = <1800000 0
78 3300000 1>;
79 };
80
81 vddio_boot: regulator-vddio_boot {
82 compatible = "regulator-fixed";
83 regulator-name = "VDDIO_BOOT";
84 regulator-min-microvolt = <1800000>;
85 regulator-max-microvolt = <1800000>;
86 };
87
88 vddao_3v3: regulator-vddao_3v3 {
89 compatible = "regulator-fixed";
90 regulator-name = "VDDAO_3V3";
91 regulator-min-microvolt = <3300000>;
92 regulator-max-microvolt = <3300000>;
93 };
94
95 vcc_3v3: regulator-vcc_3v3 {
96 compatible = "regulator-fixed";
97 regulator-name = "VCC_3V3";
98 regulator-min-microvolt = <3300000>;
99 regulator-max-microvolt = <3300000>;
100 };
101
102 emmc_pwrseq: emmc-pwrseq {
103 compatible = "mmc-pwrseq-emmc";
104 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
105 };
106
107 wifi32k: wifi32k {
108 compatible = "pwm-clock";
109 #clock-cells = <0>;
110 clock-frequency = <32768>;
111 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
112 };
113
114 sdio_pwrseq: sdio-pwrseq {
115 compatible = "mmc-pwrseq-simple";
116 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
117 clocks = <&wifi32k>;
118 clock-names = "ext_clock";
119 };
120};
121
122&uart_AO {
123 status = "okay";
124 pinctrl-0 = <&uart_ao_a_pins>;
125 pinctrl-names = "default";
126};
127
128&ethmac {
129 status = "okay";
130 phy-mode = "rmii";
131 phy-handle = <&internal_phy>;
132};
133
134&ir {
135 status = "okay";
136 pinctrl-0 = <&remote_input_ao_pins>;
137 pinctrl-names = "default";
138};
139
140/* Wireless SDIO Module */
141&sd_emmc_a {
142 status = "okay";
143 pinctrl-0 = <&sdio_pins>;
144 pinctrl-names = "default";
145 #address-cells = <1>;
146 #size-cells = <0>;
147
148 bus-width = <4>;
149 cap-sd-highspeed;
150 max-frequency = <100000000>;
151
152 non-removable;
153 disable-wp;
154
155 mmc-pwrseq = <&sdio_pwrseq>;
156
157 vmmc-supply = <&vddao_3v3>;
158 vqmmc-supply = <&vddio_boot>;
159};
160
161/* SD card */
162&sd_emmc_b {
163 status = "okay";
164 pinctrl-0 = <&sdcard_pins>;
165 pinctrl-names = "default";
166
167 bus-width = <4>;
168 cap-sd-highspeed;
169 max-frequency = <100000000>;
170 disable-wp;
171
172 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
173 cd-inverted;
174
175 vmmc-supply = <&vddao_3v3>;
176 vqmmc-supply = <&vddio_card>;
177};
178
179/* eMMC */
180&sd_emmc_c {
181 status = "okay";
182 pinctrl-0 = <&emmc_pins>;
183 pinctrl-names = "default";
184
185 bus-width = <8>;
186 cap-sd-highspeed;
187 cap-mmc-highspeed;
188 max-frequency = <200000000>;
189 non-removable;
190 disable-wp;
191 mmc-ddr-1_8v;
192 mmc-hs200-1_8v;
193
194 mmc-pwrseq = <&emmc_pwrseq>;
195 vmmc-supply = <&vcc_3v3>;
196 vqmmc-supply = <&vddio_boot>;
197};
198
199&pwm_ef {
200 status = "okay";
201 pinctrl-0 = <&pwm_e_pins>;
202 pinctrl-names = "default";
203 clocks = <&clkc CLKID_FCLK_DIV4>;
204 clock-names = "clkin0";
205};
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-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
new file mode 100644
index 000000000000..f859d75db8bd
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
@@ -0,0 +1,169 @@
1/*
2 * Copyright (c) 2016 BayLibre, SAS.
3 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 *
5 * Copyright (c) 2016 Endless Computers, Inc.
6 * Author: Carlo Caione <carlo@endlessm.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This library is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This library is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */
46
47/dts-v1/;
48
49#include "meson-gxm.dtsi"
50
51/ {
52 compatible = "nexbox,a1", "amlogic,s912", "amlogic,meson-gxm";
53 model = "NEXBOX A1";
54
55 aliases {
56 serial0 = &uart_AO;
57 };
58
59 chosen {
60 stdout-path = "serial0:115200n8";
61 };
62
63 memory@0 {
64 device_type = "memory";
65 reg = <0x0 0x0 0x0 0x80000000>;
66 };
67
68 vddio_boot: regulator-vddio-boot {
69 compatible = "regulator-fixed";
70 regulator-name = "VDDIO_BOOT";
71 regulator-min-microvolt = <1800000>;
72 regulator-max-microvolt = <1800000>;
73 };
74
75 vddao_3v3: regulator-vddao-3v3 {
76 compatible = "regulator-fixed";
77 regulator-name = "VDDAO_3V3";
78 regulator-min-microvolt = <3300000>;
79 regulator-max-microvolt = <3300000>;
80 };
81
82 vcc_3v3: regulator-vcc-3v3 {
83 compatible = "regulator-fixed";
84 regulator-name = "VCC_3V3";
85 regulator-min-microvolt = <3300000>;
86 regulator-max-microvolt = <3300000>;
87 };
88
89 emmc_pwrseq: emmc-pwrseq {
90 compatible = "mmc-pwrseq-emmc";
91 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
92 };
93};
94
95/* This UART is brought out to the DB9 connector */
96&uart_AO {
97 status = "okay";
98 pinctrl-0 = <&uart_ao_a_pins>;
99 pinctrl-names = "default";
100};
101
102&ir {
103 status = "okay";
104 pinctrl-0 = <&remote_input_ao_pins>;
105 pinctrl-names = "default";
106};
107
108/* SD card */
109&sd_emmc_b {
110 status = "okay";
111 pinctrl-0 = <&sdcard_pins>;
112 pinctrl-names = "default";
113
114 bus-width = <4>;
115 cap-sd-highspeed;
116 max-frequency = <100000000>;
117 disable-wp;
118
119 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
120 cd-inverted;
121
122 vmmc-supply = <&vddao_3v3>;
123 vqmmc-supply = <&vddio_boot>;
124};
125
126/* eMMC */
127&sd_emmc_c {
128 status = "okay";
129 pinctrl-0 = <&emmc_pins>;
130 pinctrl-names = "default";
131
132 bus-width = <8>;
133 cap-sd-highspeed;
134 cap-mmc-highspeed;
135 max-frequency = <200000000>;
136 non-removable;
137 disable-wp;
138 mmc-ddr-1_8v;
139 mmc-hs200-1_8v;
140
141 mmc-pwrseq = <&emmc_pwrseq>;
142 vmmc-supply = <&vcc_3v3>;
143 vqmmc-supply = <&vddio_boot>;
144};
145
146&ethmac {
147 status = "okay";
148
149 pinctrl-0 = <&eth_pins>;
150 pinctrl-names = "default";
151
152 /* Select external PHY by default */
153 phy-handle = <&external_phy>;
154
155 snps,reset-gpio = <&gpio GPIOZ_14 0>;
156 snps,reset-delays-us = <0 10000 1000000>;
157 snps,reset-active-low;
158
159 /* External PHY is in RGMII */
160 phy-mode = "rgmii";
161};
162
163&external_mdio {
164 external_phy: ethernet-phy@0 {
165 compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22";
166 reg = <0>;
167 max-speed = <1000>;
168 };
169};
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};