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