Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / meson8m2-mxiii-plus.dts
1 // 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                 serial1 = &uart_A;
23                 mmc0 = &sd_card_slot;
24         };
25
26         chosen {
27                 stdout-path = "serial0:115200n8";
28         };
29
30         memory {
31                 device_type = "memory";
32                 reg = <0x40000000 0x80000000>;
33         };
34
35         adc-keys {
36                 compatible = "adc-keys";
37                 io-channels = <&saradc 0>;
38                 io-channel-names = "buttons";
39                 keyup-threshold-microvolt = <1710000>;
40
41                 button-function {
42                         label = "Function";
43                         linux,code = <KEY_FN>;
44                         press-threshold-microvolt = <10000>;
45                 };
46         };
47
48         iio-hwmon {
49                 compatible = "iio-hwmon";
50                 io-channels = <&saradc 8>;
51         };
52
53         vcc_3v3: regulator-vcc3v3 {
54                 compatible = "regulator-fixed";
55                 regulator-name = "VCC3V3";
56                 regulator-min-microvolt = <3300000>;
57                 regulator-max-microvolt = <3300000>;
58         };
59 };
60
61 &cpu0 {
62         cpu-supply = <&vcck>;
63 };
64
65 &ethmac {
66         status = "okay";
67
68         pinctrl-0 = <&eth_rgmii_pins>;
69         pinctrl-names = "default";
70
71         phy-handle = <&eth_phy0>;
72         phy-mode = "rgmii-id";
73
74         mdio {
75                 compatible = "snps,dwmac-mdio";
76                 #address-cells = <1>;
77                 #size-cells = <0>;
78
79                 eth_phy0: ethernet-phy@0 {
80                         /* Realtek RTL8211F (0x001cc916) */
81                         reg = <0>;
82
83                         reset-assert-us = <10000>;
84                         reset-deassert-us = <80000>;
85                         reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
86                 };
87         };
88 };
89
90 &ir_receiver {
91         status = "okay";
92         pinctrl-0 = <&ir_recv_pins>;
93         pinctrl-names = "default";
94 };
95
96 &i2c_AO {
97         status = "okay";
98         pinctrl-0 = <&i2c_ao_pins>;
99         pinctrl-names = "default";
100
101         pmic@32 {
102                 compatible = "ricoh,rn5t618";
103                 reg = <0x32>;
104                 system-power-controller;
105
106                 regulators {
107                         vcck: DCDC1 {
108                                 regulator-name = "VCCK";
109                                 regulator-min-microvolt = <825000>;
110                                 regulator-max-microvolt = <1150000>;
111                                 regulator-boot-on;
112                                 regulator-always-on;
113                         };
114
115                         vddee: DCDC2 {
116                                 /* the output is also used as VDDAO */
117                                 regulator-name = "VDD_EE";
118                                 regulator-min-microvolt = <950000>;
119                                 regulator-max-microvolt = <1150000>;
120                                 regulator-boot-on;
121                                 regulator-always-on;
122                         };
123
124                         DCDC3 {
125                                 regulator-name = "VDD_DDR";
126                                 regulator-min-microvolt = <1500000>;
127                                 regulator-max-microvolt = <1500000>;
128                                 regulator-boot-on;
129                                 regulator-always-on;
130                         };
131
132                         LDO1 {
133                                 regulator-name = "VDDIO_AO28";
134                                 regulator-min-microvolt = <2900000>;
135                                 regulator-max-microvolt = <2900000>;
136                                 regulator-boot-on;
137                                 regulator-always-on;
138                         };
139
140                         vddio_ao1v8: LDO2 {
141                                 regulator-name = "VDDIO_AO18";
142                                 regulator-min-microvolt = <1800000>;
143                                 regulator-max-microvolt = <1800000>;
144                                 regulator-boot-on;
145                                 regulator-always-on;
146                         };
147
148                         LDO3 {
149                                 regulator-name = "VCC1V8";
150                                 regulator-min-microvolt = <1800000>;
151                                 regulator-max-microvolt = <1800000>;
152                                 regulator-boot-on;
153                                 regulator-always-on;
154                         };
155
156                         LDO4 {
157                                 regulator-name = "VCC2V8";
158                                 regulator-min-microvolt = <2850000>;
159                                 regulator-max-microvolt = <2850000>;
160                                 regulator-boot-on;
161                                 regulator-always-on;
162                         };
163
164                         LDO5 {
165                                 regulator-name = "AVDD1V8";
166                                 regulator-min-microvolt = <1800000>;
167                                 regulator-max-microvolt = <1800000>;
168                                 regulator-boot-on;
169                                 regulator-always-on;
170                         };
171
172                         LDORTC1 {
173                                 regulator-name = "VDD_LDO";
174                                 regulator-min-microvolt = <2700000>;
175                                 regulator-max-microvolt = <2700000>;
176                                 regulator-boot-on;
177                                 regulator-always-on;
178                         };
179
180                         LDORTC2 {
181                                 regulator-name = "RTC_0V9";
182                                 regulator-min-microvolt = <900000>;
183                                 regulator-max-microvolt = <900000>;
184                                 regulator-boot-on;
185                                 regulator-always-on;
186                         };
187                 };
188         };
189 };
190
191 &mali {
192         mali-supply = <&vddee>;
193 };
194
195 &saradc {
196         status = "okay";
197         vref-supply = <&vddio_ao1v8>;
198 };
199
200 &sdio {
201         status = "okay";
202
203         pinctrl-0 = <&sd_b_pins>;
204         pinctrl-names = "default";
205
206         /* SD card */
207         sd_card_slot: slot@1 {
208                 compatible = "mmc-slot";
209                 reg = <1>;
210                 status = "okay";
211
212                 bus-width = <4>;
213                 no-sdio;
214                 cap-mmc-highspeed;
215                 cap-sd-highspeed;
216                 disable-wp;
217
218                 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
219
220                 vmmc-supply = <&vcc_3v3>;
221         };
222 };
223
224 /* connected to the Bluetooth module */
225 &uart_A {
226         status = "okay";
227         pinctrl-0 = <&uart_a1_pins>, <&uart_a1_cts_rts_pins>;
228         pinctrl-names = "default";
229         uart-has-rtscts;
230 };
231
232 &uart_AO {
233         status = "okay";
234         pinctrl-0 = <&uart_ao_a_pins>;
235         pinctrl-names = "default";
236 };
237
238 &usb0 {
239         status = "okay";
240 };
241
242 &usb1 {
243         status = "okay";
244 };
245
246 &usb0_phy {
247         status = "okay";
248 };
249
250 &usb1_phy {
251         status = "okay";
252 };