blob: 6eafb908695fa51b93cbb1c5abe02f9289707f02 [file] [log] [blame]
Vyacheslav Bocharov7f301d32021-09-20 11:40:15 +03001// 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 clocks = <&clkc CLKID_FCLK_DIV4>;
120 clock-names = "clkin0";
121};
122
123&saradc {
124 status = "okay";
125 vref-supply = <&vddio_ao18>;
126};
127
128/* Wireless SDIO Module */
129&sd_emmc_a {
130 status = "okay";
131 pinctrl-0 = <&sdio_pins>;
132 pinctrl-1 = <&sdio_clk_gate_pins>;
133 pinctrl-names = "default", "clk-gate";
134 #address-cells = <1>;
135 #size-cells = <0>;
136
137 bus-width = <4>;
138 cap-sd-highspeed;
139 max-frequency = <50000000>;
140
141 non-removable;
142 disable-wp;
143
144 /* WiFi firmware requires power to be kept while in suspend */
145 keep-power-in-suspend;
146
147 mmc-pwrseq = <&sdio_pwrseq>;
148
149 vmmc-supply = <&vddao_3v3>;
150 vqmmc-supply = <&vddio_boot>;
151};
152
153/* SD card */
154&sd_emmc_b {
155 status = "okay";
156 pinctrl-0 = <&sdcard_pins>;
157 pinctrl-1 = <&sdcard_clk_gate_pins>;
158 pinctrl-names = "default", "clk-gate";
159
160 bus-width = <4>;
161 cap-sd-highspeed;
162 max-frequency = <50000000>;
163 disable-wp;
164
165 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
166
167 vmmc-supply = <&vddao_3v3>;
168 vqmmc-supply = <&vddio_boot>;
169};
170
171/* eMMC */
172&sd_emmc_c {
173 status = "okay";
174 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
175 pinctrl-1 = <&emmc_clk_gate_pins>;
176 pinctrl-names = "default", "clk-gate";
177
178 bus-width = <8>;
179 cap-mmc-highspeed;
180 max-frequency = <200000000>;
181 non-removable;
182 disable-wp;
183 mmc-ddr-1_8v;
184 mmc-hs200-1_8v;
185
186 mmc-pwrseq = <&emmc_pwrseq>;
187 vmmc-supply = <&vcc_3v3>;
188 vqmmc-supply = <&vddio_boot>;
189};
190
191/* Console UART */
192&uart_AO {
193 status = "okay";
194 pinctrl-0 = <&uart_ao_a_pins>;
195 pinctrl-names = "default";
196};
197
198/* S905W only has access to its internal PHY */
199&ethmac {
200 status = "okay";
201 phy-mode = "rmii";
202 phy-handle = <&internal_phy>;
203};
204
205&internal_phy {
206 status = "okay";
207 pinctrl-0 = <&eth_link_led_pins>, <&eth_act_led_pins>;
208 pinctrl-names = "default";
209};
210
211&uart_A {
212 status = "okay";
213 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
214 pinctrl-names = "default";
215 uart-has-rtscts;
216};
217
218&uart_C {
219 status = "okay";
220 pinctrl-0 = <&uart_c_pins>;
221 pinctrl-names = "default";
222};
223
224&uart_AO_B {
225 status = "okay";
226 pinctrl-0 = <&uart_ao_b_pins>, <&uart_ao_b_cts_rts_pins>;
227 pinctrl-names = "default";
228 uart-has-rtscts;
229};
230
231&i2c_B {
232 status = "okay";
233 pinctrl-names = "default";
234 pinctrl-0 = <&i2c_b_pins>;
235
236 pcf8563: pcf8563@51 {
237 compatible = "nxp,pcf8563";
238 reg = <0x51>;
239 status = "okay";
240 };
241};