xref: /linux/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2021 Vyacheslav Bocharov <adeep@lexina.in>
4 * Copyright (c) 2020 JetHome
5 * Author: Aleksandr Kazantsev <ak@tvip.ru>
6 * Author: Alexey Shevelkin <ash@tvip.ru>
7 * Author: Vyacheslav Bocharov <adeep@lexina.in>
8 */
9
10/dts-v1/;
11
12#include "meson-gxl.dtsi"
13
14/ {
15	compatible = "jethome,jethub-j80", "amlogic,s905w", "amlogic,meson-gxl";
16	model = "JetHome JetHub J80";
17	memory@0 {
18		device_type = "memory";
19		reg = <0x0 0x0 0x0 0x40000000>;
20	};
21
22	reserved-memory {
23		linux,cma {
24			size = <0x0 0x1000000>;
25		};
26	};
27
28	aliases {
29		serial0 = &uart_AO;   /* Console */
30		serial1 = &uart_A;    /* Bluetooth */
31		serial2 = &uart_AO_B; /* Wireless module 1 */
32		serial3 = &uart_C;    /* Wireless module 2 */
33		ethernet0 = &ethmac;
34	};
35
36	chosen {
37		stdout-path = "serial0:115200n8";
38	};
39
40	vddio_ao18: regulator-vddio-ao18 {
41		compatible = "regulator-fixed";
42		regulator-name = "VDDIO_AO18";
43		regulator-min-microvolt = <1800000>;
44		regulator-max-microvolt = <1800000>;
45	};
46
47	vddio_boot: regulator-vddio-boot {
48		compatible = "regulator-fixed";
49		regulator-name = "VDDIO_BOOT";
50		regulator-min-microvolt = <1800000>;
51		regulator-max-microvolt = <1800000>;
52	};
53
54	vddao_3v3: regulator-vddao-3v3 {
55		compatible = "regulator-fixed";
56		regulator-name = "VDDAO_3V3";
57		regulator-min-microvolt = <3300000>;
58		regulator-max-microvolt = <3300000>;
59	};
60
61	vcc_3v3: regulator-vcc-3v3 {
62		compatible = "regulator-fixed";
63		regulator-name = "VCC_3V3";
64		regulator-min-microvolt = <3300000>;
65		regulator-max-microvolt = <3300000>;
66	};
67
68	emmc_pwrseq: emmc-pwrseq {
69		compatible = "mmc-pwrseq-emmc";
70		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
71	};
72
73	wifi32k: wifi32k {
74		compatible = "pwm-clock";
75		#clock-cells = <0>;
76		clock-frequency = <32768>;
77		pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
78	};
79
80	sdio_pwrseq: sdio-pwrseq {
81		compatible = "mmc-pwrseq-simple";
82		reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
83		clocks = <&wifi32k>;
84		clock-names = "ext_clock";
85	};
86};
87
88&efuse {
89	bt_mac: bt-mac@6 {
90		reg = <0x6 0x6>;
91	};
92
93	wifi_mac: wifi-mac@c {
94		reg = <0xc 0x6>;
95	};
96};
97
98&sn {
99	reg = <0x32 0x20>;
100};
101
102&eth_mac {
103	reg = <0x0 0x6>;
104};
105
106&bid {
107	reg = <0x12 0x20>;
108};
109
110&usb {
111	status = "okay";
112	dr_mode = "host";
113};
114
115&pwm_ef {
116	status = "okay";
117	pinctrl-0 = <&pwm_e_pins>;
118	pinctrl-names = "default";
119};
120
121&saradc {
122	status = "okay";
123	vref-supply = <&vddio_ao18>;
124};
125
126/* Wireless SDIO Module */
127&sd_emmc_a {
128	status = "okay";
129	pinctrl-0 = <&sdio_pins>;
130	pinctrl-1 = <&sdio_clk_gate_pins>;
131	pinctrl-names = "default", "clk-gate";
132	#address-cells = <1>;
133	#size-cells = <0>;
134
135	bus-width = <4>;
136	cap-sd-highspeed;
137	max-frequency = <50000000>;
138
139	non-removable;
140	disable-wp;
141
142	/* WiFi firmware requires power to be kept while in suspend */
143	keep-power-in-suspend;
144
145	mmc-pwrseq = <&sdio_pwrseq>;
146
147	vmmc-supply = <&vddao_3v3>;
148	vqmmc-supply = <&vddio_boot>;
149};
150
151/* SD card */
152&sd_emmc_b {
153	status = "okay";
154	pinctrl-0 = <&sdcard_pins>;
155	pinctrl-1 = <&sdcard_clk_gate_pins>;
156	pinctrl-names = "default", "clk-gate";
157
158	bus-width = <4>;
159	cap-sd-highspeed;
160	max-frequency = <50000000>;
161	disable-wp;
162
163	cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
164
165	vmmc-supply = <&vddao_3v3>;
166	vqmmc-supply = <&vddio_boot>;
167};
168
169/* eMMC */
170&sd_emmc_c {
171	status = "okay";
172	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
173	pinctrl-1 = <&emmc_clk_gate_pins>;
174	pinctrl-names = "default", "clk-gate";
175
176	bus-width = <8>;
177	cap-mmc-highspeed;
178	max-frequency = <200000000>;
179	non-removable;
180	disable-wp;
181	mmc-ddr-1_8v;
182	mmc-hs200-1_8v;
183
184	mmc-pwrseq = <&emmc_pwrseq>;
185	vmmc-supply = <&vcc_3v3>;
186	vqmmc-supply = <&vddio_boot>;
187};
188
189/* Console UART */
190&uart_AO {
191	status = "okay";
192	pinctrl-0 = <&uart_ao_a_pins>;
193	pinctrl-names = "default";
194};
195
196/* S905W only has access to its internal PHY */
197&ethmac {
198	status = "okay";
199	phy-mode = "rmii";
200	phy-handle = <&internal_phy>;
201};
202
203&internal_phy {
204	status = "okay";
205	pinctrl-0 = <&eth_link_led_pins>, <&eth_act_led_pins>;
206	pinctrl-names = "default";
207};
208
209&uart_A {
210	status = "okay";
211	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
212	pinctrl-names = "default";
213	uart-has-rtscts;
214
215	bluetooth {
216		compatible = "realtek,rtl8822cs-bt";
217		enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
218		host-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>;
219       };
220};
221
222&uart_C {
223	status = "okay";
224	pinctrl-0 = <&uart_c_pins>;
225	pinctrl-names = "default";
226};
227
228&uart_AO_B {
229	status = "okay";
230	pinctrl-0 = <&uart_ao_b_pins>, <&uart_ao_b_cts_rts_pins>;
231	pinctrl-names = "default";
232	uart-has-rtscts;
233};
234
235&i2c_B {
236	status = "okay";
237	pinctrl-names = "default";
238	pinctrl-0 = <&i2c_b_pins>;
239
240	pcf8563: rtc@51 {
241		compatible = "nxp,pcf8563";
242		reg = <0x51>;
243		status = "okay";
244	};
245};
246