blob: 9b65ae818e2f29335a551529c15fdc46be18dce7 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in>
4 * Copyright (c) 2022 JetHome
5 * Author: Vyacheslav Bocharov <adeep@lexina.in>
6 * Author: Aleksandr Kazantsev <ak@tvip.ru>
7 * Author: Alexey Shevelkin <ash@tvip.ru>
8 */
9
10/dts-v1/;
11
12#include "meson-axg.dtsi"
13#include <dt-bindings/input/input.h>
14#include <dt-bindings/thermal/thermal.h>
15
16/ {
17 aliases {
18 serial0 = &uart_AO; /* Console */
19 serial2 = &uart_AO_B; /* External UART (Wireless Module) */
20 ethernet0 = &ethmac;
21 };
22
23 chosen {
24 stdout-path = "serial0:115200n8";
25 };
26
27 reserved-memory {
28 linux,cma {
29 size = <0x0 0x400000>;
30 };
31 };
32
33 emmc_pwrseq: emmc-pwrseq {
34 compatible = "mmc-pwrseq-emmc";
35 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
36 };
37
Tom Rini6bb92fc2024-05-20 09:54:58 -060038 vcc_3v3: regulator-vcc-3v3 {
Tom Rini53633a82024-02-29 12:33:36 -050039 compatible = "regulator-fixed";
40 regulator-name = "VCC_3V3";
41 regulator-min-microvolt = <3300000>;
42 regulator-max-microvolt = <3300000>;
43 vin-supply = <&vddao_3v3>;
44 regulator-always-on;
45 };
46
Tom Rini6bb92fc2024-05-20 09:54:58 -060047 vcc_5v: regulator-vcc-5v {
Tom Rini53633a82024-02-29 12:33:36 -050048 compatible = "regulator-fixed";
49 regulator-name = "VCC5V";
50 regulator-min-microvolt = <5000000>;
51 regulator-max-microvolt = <5000000>;
52 regulator-always-on;
53 };
54
Tom Rini6bb92fc2024-05-20 09:54:58 -060055 vddao_3v3: regulator-vddao-3v3 {
Tom Rini53633a82024-02-29 12:33:36 -050056 compatible = "regulator-fixed";
57 regulator-name = "VDDAO_3V3";
58 regulator-min-microvolt = <3300000>;
59 regulator-max-microvolt = <3300000>;
60 vin-supply = <&vcc_5v>;
61 regulator-always-on;
62 };
63
Tom Rini6bb92fc2024-05-20 09:54:58 -060064 vddio_ao18: regulator-vddio-ao18 {
Tom Rini53633a82024-02-29 12:33:36 -050065 compatible = "regulator-fixed";
66 regulator-name = "VDDIO_AO18";
67 regulator-min-microvolt = <1800000>;
68 regulator-max-microvolt = <1800000>;
69 vin-supply = <&vddao_3v3>;
70 regulator-always-on;
71 };
72
Tom Rini6bb92fc2024-05-20 09:54:58 -060073 vddio_boot: regulator-vddio-boot {
Tom Rini53633a82024-02-29 12:33:36 -050074 compatible = "regulator-fixed";
75 regulator-name = "VDDIO_BOOT";
76 regulator-min-microvolt = <3300000>;
77 regulator-max-microvolt = <3300000>;
78 vin-supply = <&vddao_3v3>;
79 regulator-always-on;
80 };
81
Tom Rini6bb92fc2024-05-20 09:54:58 -060082 vccq_1v8: regulator-vccq-1v8 {
Tom Rini53633a82024-02-29 12:33:36 -050083 compatible = "regulator-fixed";
84 regulator-name = "VCCQ_1V8";
85 regulator-min-microvolt = <1800000>;
86 regulator-max-microvolt = <1800000>;
87 vin-supply = <&vddao_3v3>;
88 regulator-always-on;
89 };
90
Tom Rini6bb92fc2024-05-20 09:54:58 -060091 usb_pwr: regulator-usb-pwr {
Tom Rini53633a82024-02-29 12:33:36 -050092 compatible = "regulator-fixed";
93 regulator-name = "USB_PWR";
94 regulator-min-microvolt = <5000000>;
95 regulator-max-microvolt = <5000000>;
96 vin-supply = <&vcc_5v>;
97 regulator-always-on;
98 };
99
100 sdio_pwrseq: sdio-pwrseq {
101 compatible = "mmc-pwrseq-simple";
102 reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
103 clocks = <&wifi32k>;
104 clock-names = "ext_clock";
105 };
106
107 wifi32k: wifi32k {
108 compatible = "pwm-clock";
109 #clock-cells = <0>;
110 clock-frequency = <32768>;
111 pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
112 };
113
114 thermal-zones {
115 cpu_thermal: cpu-thermal {
116 polling-delay-passive = <250>;
117 polling-delay = <1000>;
118 thermal-sensors = <&scpi_sensors 0>;
119 trips {
120 cpu_passive: cpu-passive {
121 temperature = <70000>; /* millicelsius */
122 hysteresis = <2000>; /* millicelsius */
123 type = "passive";
124 };
125
126 cpu_hot: cpu-hot {
127 temperature = <80000>; /* millicelsius */
128 hysteresis = <2000>; /* millicelsius */
129 type = "hot";
130 };
131
132 cpu_critical: cpu-critical {
133 temperature = <100000>; /* millicelsius */
134 hysteresis = <2000>; /* millicelsius */
135 type = "critical";
136 };
137 };
138
139 cpu_cooling_maps: cooling-maps {
140 map0 {
141 trip = <&cpu_passive>;
142 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
143 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
144 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
145 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
146 };
147
148 map1 {
149 trip = <&cpu_hot>;
150 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
151 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
152 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
153 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
154 };
155 };
156 };
157 };
158
159 onewire {
160 compatible = "w1-gpio";
161 gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>;
162 };
163};
164
165&efuse {
166 sn: sn@32 {
167 reg = <0x32 0x20>;
168 };
169
170 eth_mac: eth-mac@0 {
171 reg = <0x0 0x6>;
172 };
173
174 bt_mac: bt-mac@6 {
175 reg = <0x6 0x6>;
176 };
177
178 wifi_mac: wifi-mac@c {
179 reg = <0xc 0x6>;
180 };
181
182 bid: bid@12 {
183 reg = <0x12 0x20>;
184 };
185};
186
187&ethmac {
188 status = "okay";
189 pinctrl-0 = <&eth_rmii_x_pins>;
190 pinctrl-names = "default";
191 phy-handle = <&eth_phy0>;
192 phy-mode = "rmii";
193
194 mdio {
195 compatible = "snps,dwmac-mdio";
196 #address-cells = <1>;
197 #size-cells = <0>;
198
199 /* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
200 eth_phy0: ethernet-phy@0 {
201 /* compatible = "ethernet-phy-id0243.0c54";*/
202 max-speed = <100>;
203 reg = <0>;
204
205 reset-assert-us = <10000>;
206 reset-deassert-us = <10000>;
207 reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
208 };
209 };
210};
211
212/* Internal I2C bus (on CPU module) */
213&i2c1 {
214 status = "okay";
215 pinctrl-0 = <&i2c1_z_pins>;
216 pinctrl-names = "default";
217
218 /* RTC */
219 pcf8563: rtc@51 {
220 compatible = "nxp,pcf8563";
221 reg = <0x51>;
222 status = "okay";
223 };
224};
225
226/* Peripheral I2C bus (on motherboard) */
227&i2c_AO {
228 status = "okay";
229 pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
230 pinctrl-names = "default";
231};
232
233&pwm_ab {
234 status = "okay";
235 pinctrl-0 = <&pwm_a_x20_pins>;
236 pinctrl-names = "default";
237};
238
239/* wifi module */
240&sd_emmc_b {
241 status = "okay";
242 #address-cells = <1>;
243 #size-cells = <0>;
244
245 pinctrl-0 = <&sdio_pins>;
246 pinctrl-1 = <&sdio_clk_gate_pins>;
247 pinctrl-names = "default", "clk-gate";
248
249 bus-width = <4>;
250 cap-sd-highspeed;
251 max-frequency = <50000000>;
252 disable-wp;
253
254 mmc-pwrseq = <&sdio_pwrseq>;
255
256 vmmc-supply = <&vddao_3v3>;
257 vqmmc-supply = <&vddio_boot>;
258};
259
260/* emmc storage */
261&sd_emmc_c {
262 status = "okay";
263 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
264 pinctrl-1 = <&emmc_clk_gate_pins>;
265 pinctrl-names = "default", "clk-gate";
266
267 bus-width = <8>;
268 cap-mmc-highspeed;
269 max-frequency = <200000000>;
270 non-removable;
271 disable-wp;
272 mmc-ddr-1_8v;
273 mmc-hs200-1_8v;
274
275 mmc-pwrseq = <&emmc_pwrseq>;
276
277 vmmc-supply = <&vcc_3v3>;
278 vqmmc-supply = <&vccq_1v8>;
279};
280
281/* UART Bluetooth */
282&uart_B {
283 status = "okay";
284 pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
285 pinctrl-names = "default";
286 uart-has-rtscts;
287};
288
289/* UART Console */
290&uart_AO {
291 status = "okay";
292 pinctrl-0 = <&uart_ao_a_pins>;
293 pinctrl-names = "default";
294};
295
296/* UART Wireless module */
297&uart_AO_B {
298 status = "okay";
299 pinctrl-0 = <&uart_ao_b_pins>;
300 pinctrl-names = "default";
301};
302
303&usb {
304 status = "okay";
305 vbus-supply = <&usb_pwr>;
306};
307
308&spicc1 {
309 status = "okay";
310 pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
311 pinctrl-names = "default";
312};
313
314&gpio {
315 gpio-line-names =
316 "", "", "", "", "", // 0 - 4
317 "", "", "", "", "", // 5 - 9
318 "UserButton", "", "", "", "", // 10 - 14
319 "", "", "", "", "", // 15 - 19
320 "", "", "", "", "", // 20 - 24
321 "", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
322 "Output1", "", "", "", "", // 30 - 34
323 "", "ZigBeeBOOT", "", "", "", // 35 - 39
324 "1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
325 "Input2", "Input1", "", "", "", // 45 - 49
326 "", "", "", "", "", // 50 - 54
327 "", "", "", "", "", // 55 - 59
328 "", "", "", "", "", // 60 - 64
329 "", "", "", "", "", // 65 - 69
330 "", "", "", "", "", // 70 - 74
331 "", "", "", "", "", // 75 - 79
332 "", "", "", "", "", // 80 - 84
333 "", ""; // 85-86
334};