blob: aa4d4bf70629610e6e7edea31d3222e4d9a6fdce [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Oleg Ivanov <balbes-150@yandex.ru>
4 * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 */
6
7/dts-v1/;
8
9#include "meson8m2.dtsi"
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/input/input.h>
13
14/ {
15 model = "Tronsmart MXIII Plus";
16 compatible = "tronsmart,mxiii-plus", "amlogic,meson8m2";
17
18 aliases {
19 ethernet0 = &ethmac;
20 i2c0 = &i2c_AO;
21 serial0 = &uart_AO;
22 mmc0 = &sd_card_slot;
23 };
24
25 chosen {
26 stdout-path = "serial0:115200n8";
27 };
28
29 memory {
30 device_type = "memory";
31 reg = <0x40000000 0x80000000>;
32 };
33
34 adc-keys {
35 compatible = "adc-keys";
36 io-channels = <&saradc 0>;
37 io-channel-names = "buttons";
38 keyup-threshold-microvolt = <1710000>;
39
40 button-function {
41 label = "Function";
42 linux,code = <KEY_FN>;
43 press-threshold-microvolt = <10000>;
44 };
45 };
46
47 sdio_pwrseq: sdio-pwrseq {
48 compatible = "mmc-pwrseq-simple";
49
50 pinctrl-0 = <&xtal_32k_out_pins>;
51 pinctrl-names = "default";
52
53 reset-gpios = <&gpio GPIOX_11 GPIO_ACTIVE_LOW>,
54 <&gpio_ao GPIOAO_6 GPIO_ACTIVE_LOW>;
55
56 clocks = <&xtal_32k_out>;
57 clock-names = "ext_clock";
58 };
59
60 vcc_3v3: regulator-vcc3v3 {
61 compatible = "regulator-fixed";
62 regulator-name = "VCC3V3";
63 regulator-min-microvolt = <3300000>;
64 regulator-max-microvolt = <3300000>;
65 };
66
67 xtal_32k_out: xtal-32k-out-clk {
68 compatible = "fixed-clock";
69 #clock-cells = <0>;
70 clock-frequency = <32768>;
71 clock-output-names = "xtal_32k_out";
72 };
73};
74
75&cpu0 {
76 cpu-supply = <&vcck>;
77};
78
79&ethmac {
80 status = "okay";
81
82 pinctrl-0 = <&eth_rgmii_pins>;
83 pinctrl-names = "default";
84
85 phy-handle = <&eth_phy0>;
86 phy-mode = "rgmii-id";
87
88 mdio {
89 compatible = "snps,dwmac-mdio";
90 #address-cells = <1>;
91 #size-cells = <0>;
92
93 eth_phy0: ethernet-phy@0 {
94 /* Realtek RTL8211F (0x001cc916) */
95 reg = <0>;
96
97 reset-assert-us = <10000>;
98 reset-deassert-us = <80000>;
99 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
100 };
101 };
102};
103
104&ir_receiver {
105 status = "okay";
106 pinctrl-0 = <&ir_recv_pins>;
107 pinctrl-names = "default";
108};
109
110&i2c_AO {
111 status = "okay";
112 pinctrl-0 = <&i2c_ao_pins>;
113 pinctrl-names = "default";
114
115 pmic@32 {
116 compatible = "ricoh,rn5t618";
117 reg = <0x32>;
118 system-power-controller;
119
120 regulators {
121 vcck: DCDC1 {
122 regulator-name = "VCCK";
123 regulator-min-microvolt = <825000>;
124 regulator-max-microvolt = <1150000>;
125 regulator-boot-on;
126 regulator-always-on;
127 };
128
129 vddee: DCDC2 {
130 /* the output is also used as VDDAO */
131 regulator-name = "VDD_EE";
132 regulator-min-microvolt = <950000>;
133 regulator-max-microvolt = <1150000>;
134 regulator-boot-on;
135 regulator-always-on;
136 };
137
138 DCDC3 {
139 regulator-name = "VDD_DDR";
140 regulator-min-microvolt = <1500000>;
141 regulator-max-microvolt = <1500000>;
142 regulator-boot-on;
143 regulator-always-on;
144 };
145
146 LDO1 {
147 regulator-name = "VDDIO_AO28";
148 regulator-min-microvolt = <2900000>;
149 regulator-max-microvolt = <2900000>;
150 regulator-boot-on;
151 regulator-always-on;
152 };
153
154 vddio_ao1v8: LDO2 {
155 regulator-name = "VDDIO_AO18";
156 regulator-min-microvolt = <1800000>;
157 regulator-max-microvolt = <1800000>;
158 regulator-boot-on;
159 regulator-always-on;
160 };
161
162 LDO3 {
163 regulator-name = "VCC1V8";
164 regulator-min-microvolt = <1800000>;
165 regulator-max-microvolt = <1800000>;
166 regulator-boot-on;
167 regulator-always-on;
168 };
169
170 LDO4 {
171 regulator-name = "VCC2V8";
172 regulator-min-microvolt = <2850000>;
173 regulator-max-microvolt = <2850000>;
174 regulator-boot-on;
175 regulator-always-on;
176 };
177
178 LDO5 {
179 regulator-name = "AVDD1V8";
180 regulator-min-microvolt = <1800000>;
181 regulator-max-microvolt = <1800000>;
182 regulator-boot-on;
183 regulator-always-on;
184 };
185
186 LDORTC1 {
187 regulator-name = "VDD_LDO";
188 regulator-min-microvolt = <2700000>;
189 regulator-max-microvolt = <2700000>;
190 regulator-boot-on;
191 regulator-always-on;
192 };
193
194 LDORTC2 {
195 regulator-name = "RTC_0V9";
196 regulator-min-microvolt = <900000>;
197 regulator-max-microvolt = <900000>;
198 regulator-boot-on;
199 regulator-always-on;
200 };
201 };
202 };
203};
204
205&mali {
206 mali-supply = <&vddee>;
207};
208
209&saradc {
210 status = "okay";
211 vref-supply = <&vddio_ao1v8>;
212};
213
214/* SDIO wifi */
215&sdhc {
216 status = "okay";
217
218 pinctrl-0 = <&sdxc_a_pins>;
219 pinctrl-names = "default";
220
221 bus-width = <4>;
222 max-frequency = <50000000>;
223
224 disable-wp;
225 non-removable;
226 cap-mmc-highspeed;
227 cap-sd-highspeed;
228
229 mmc-pwrseq = <&sdio_pwrseq>;
230
231 vmmc-supply = <&vcc_3v3>;
232 vqmmc-supply = <&vcc_3v3>;
233};
234
235&sdio {
236 status = "okay";
237
238 pinctrl-0 = <&sd_b_pins>;
239 pinctrl-names = "default";
240
241 /* SD card */
242 sd_card_slot: slot@1 {
243 compatible = "mmc-slot";
244 reg = <1>;
245 status = "okay";
246
247 bus-width = <4>;
248 no-sdio;
249 cap-mmc-highspeed;
250 cap-sd-highspeed;
251 disable-wp;
252
253 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
254
255 vmmc-supply = <&vcc_3v3>;
256 };
257};
258
259/* connected to the Bluetooth module */
260&uart_A {
261 status = "okay";
262 pinctrl-0 = <&uart_a1_pins>, <&uart_a1_cts_rts_pins>;
263 pinctrl-names = "default";
264 uart-has-rtscts;
265
266 bluetooth {
267 compatible = "brcm,bcm20702a1";
268 shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
269 max-speed = <2000000>;
270 };
271};
272
273&uart_AO {
274 status = "okay";
275 pinctrl-0 = <&uart_ao_a_pins>;
276 pinctrl-names = "default";
277};
278
279&usb0 {
280 status = "okay";
281};
282
283&usb1 {
284 status = "okay";
285};
286
287&usb0_phy {
288 status = "okay";
289};
290
291&usb1_phy {
292 status = "okay";
293};