GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / amlogic / meson-axg-jethome-jethub-j1xx.dtsi
1 // 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
38         vcc_3v3: regulator-vcc_3v3 {
39                 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
47         vcc_5v: regulator-vcc_5v {
48                 compatible = "regulator-fixed";
49                 regulator-name = "VCC5V";
50                 regulator-min-microvolt = <5000000>;
51                 regulator-max-microvolt = <5000000>;
52                 regulator-always-on;
53         };
54
55         vddao_3v3: regulator-vddao_3v3 {
56                 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
64         vddio_ao18: regulator-vddio_ao18 {
65                 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
73         vddio_boot: regulator-vddio_boot {
74                 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
82         vccq_1v8: regulator-vccq_1v8 {
83                 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
91         usb_pwr: regulator-usb_pwr {
92                 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                 #gpio-cells = <1>;
163         };
164 };
165
166 &efuse {
167         sn: sn@32 {
168                 reg = <0x32 0x20>;
169         };
170
171         eth_mac: eth-mac@0 {
172                 reg = <0x0 0x6>;
173         };
174
175         bt_mac: bt-mac@6 {
176                 reg = <0x6 0x6>;
177         };
178
179         wifi_mac: wifi-mac@c {
180                 reg = <0xc 0x6>;
181         };
182
183         bid: bid@12 {
184                 reg = <0x12 0x20>;
185         };
186 };
187
188 &ethmac {
189         status = "okay";
190         pinctrl-0 = <&eth_rmii_x_pins>;
191         pinctrl-names = "default";
192         phy-handle = <&eth_phy0>;
193         phy-mode = "rmii";
194
195         mdio {
196                 compatible = "snps,dwmac-mdio";
197                 #address-cells = <1>;
198                 #size-cells = <0>;
199
200                 /* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */
201                 eth_phy0: ethernet-phy@0 {
202                         /* compatible = "ethernet-phy-id0243.0c54";*/
203                         max-speed = <100>;
204                         reg = <0>;
205
206                         reset-assert-us = <10000>;
207                         reset-deassert-us = <10000>;
208                         reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>;
209                 };
210         };
211 };
212
213 /* Internal I2C bus (on CPU module) */
214 &i2c1 {
215         status = "okay";
216         pinctrl-0 = <&i2c1_z_pins>;
217         pinctrl-names = "default";
218
219         /* RTC */
220         pcf8563: rtc@51 {
221                 compatible = "nxp,pcf8563";
222                 reg = <0x51>;
223                 status = "okay";
224         };
225 };
226
227 /* Peripheral I2C bus (on motherboard) */
228 &i2c_AO {
229         status = "okay";
230         pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
231         pinctrl-names = "default";
232 };
233
234 &pwm_ab {
235         status = "okay";
236         pinctrl-0 = <&pwm_a_x20_pins>;
237         pinctrl-names = "default";
238 };
239
240 /* wifi module */
241 &sd_emmc_b {
242         status = "okay";
243         #address-cells = <1>;
244         #size-cells = <0>;
245
246         pinctrl-0 = <&sdio_pins>;
247         pinctrl-1 = <&sdio_clk_gate_pins>;
248         pinctrl-names = "default", "clk-gate";
249
250         bus-width = <4>;
251         cap-sd-highspeed;
252         max-frequency = <50000000>;
253         disable-wp;
254
255         mmc-pwrseq = <&sdio_pwrseq>;
256
257         vmmc-supply = <&vddao_3v3>;
258         vqmmc-supply = <&vddio_boot>;
259 };
260
261 /* emmc storage */
262 &sd_emmc_c {
263         status = "okay";
264         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
265         pinctrl-1 = <&emmc_clk_gate_pins>;
266         pinctrl-names = "default", "clk-gate";
267
268         bus-width = <8>;
269         cap-mmc-highspeed;
270         max-frequency = <200000000>;
271         non-removable;
272         disable-wp;
273         mmc-ddr-1_8v;
274         mmc-hs200-1_8v;
275
276         mmc-pwrseq = <&emmc_pwrseq>;
277
278         vmmc-supply = <&vcc_3v3>;
279         vqmmc-supply = <&vccq_1v8>;
280 };
281
282 /* UART Bluetooth */
283 &uart_B {
284         status = "okay";
285         pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>;
286         pinctrl-names = "default";
287         uart-has-rtscts;
288 };
289
290 /* UART Console */
291 &uart_AO {
292         status = "okay";
293         pinctrl-0 = <&uart_ao_a_pins>;
294         pinctrl-names = "default";
295 };
296
297 /* UART Wireless module */
298 &uart_AO_B {
299         status = "okay";
300         pinctrl-0 = <&uart_ao_b_pins>;
301         pinctrl-names = "default";
302 };
303
304 &usb {
305         status = "okay";
306         vbus-supply = <&usb_pwr>;
307 };
308
309 &spicc1 {
310         status = "okay";
311         pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>;
312         pinctrl-names = "default";
313 };
314
315 &gpio {
316         gpio-line-names =
317                 "", "", "", "", "", // 0 - 4
318                 "", "", "", "", "", // 5 - 9
319                 "UserButton", "", "", "", "", // 10 - 14
320                 "", "", "", "", "", // 15 - 19
321                 "", "", "", "", "", // 20 - 24
322                 "", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29
323                 "Output1", "", "", "", "", // 30 - 34
324                 "", "ZigBeeBOOT", "", "", "", // 35 - 39
325                 "1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44
326                 "Input2", "Input1", "", "", "", // 45 - 49
327                 "", "", "", "", "", // 50 - 54
328                 "", "", "", "", "", // 55 - 59
329                 "", "", "", "", "", // 60 - 64
330                 "", "", "", "", "", // 65 - 69
331                 "", "", "", "", "", // 70 - 74
332                 "", "", "", "", "", // 75 - 79
333                 "", "", "", "", "", // 80 - 84
334                 "", ""; // 85-86
335 };
336
337 &cpu0 {
338         #cooling-cells = <2>;
339 };
340
341 &cpu1 {
342         #cooling-cells = <2>;
343 };
344
345 &cpu2 {
346         #cooling-cells = <2>;
347 };
348
349 &cpu3 {
350         #cooling-cells = <2>;
351 };