diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-11-30 17:22:10 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2016-11-30 17:22:10 -0500 |
commit | 09a566514c49b730ac5099549c014180f00be250 (patch) | |
tree | 87b4016d276dd3b8a27bf8a0d82d0c8236e5d7b4 | |
parent | ec5260f26b986e4dd29494adab912cb9e7c32156 (diff) | |
parent | c681ca42bfb74f74ac3187ca5289df25cb67b67f (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.txt | 8 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/Makefile | 4 | ||||
-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.dtsi | 3 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxl-nexbox-a95x.dts | 205 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 3 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts | 3 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 169 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts | 77 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts | 58 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | 114 |
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 | ||
28 | Boards 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 | |||
28 | Board compatible values: | 32 | Board 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 | |||
8 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb | 8 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb |
9 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb | 9 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb |
10 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb | 10 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb |
11 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-nexbox-a95x.dtb | ||
12 | dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q200.dtb | ||
13 | dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q201.dtb | ||
14 | dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb | ||
11 | 15 | ||
12 | always := $(dtb-y) | 16 | always := $(dtb-y) |
13 | subdir-y := $(dts-dirs) | 17 | subdir-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 | ðmac { | ||
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 | ðmac { | ||
147 | status = "okay"; | ||
148 | |||
149 | pinctrl-0 = <ð_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 | ðmac { | ||
56 | pinctrl-0 = <ð_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 | ðmac { | ||
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 | }; | ||