Skip to content

Commit 35ee52b

Browse files
150balbeskhilman
authored andcommitted
ARM: dts: meson8m2: add support for the Tronsmart MXIII Plus
The Tronsmart MXIII Plus is an Android TV box which uses the Amlogic S812 (Meson8m2) SoC. It uses a Realtek RTL8211F RGMII Ethernet PHY as well as a Ricoh RN5T618 system power controller. It also comes with an Ampak AP6330 SDIO wifi/Bluetooth combo chip (support for wifi and Bluetooth is currently not added because the Linux drivers currently only support one MMC controller and that is used for the SD card). Signed-off-by: Oleg Ivanov <[email protected]> Signed-off-by: Martin Blumenstingl <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
1 parent e981e45 commit 35ee52b

File tree

2 files changed

+246
-1
lines changed

2 files changed

+246
-1
lines changed

arch/arm/boot/dts/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,8 @@ dtb-$(CONFIG_ARCH_NPCM7XX) += \
312312
dtb-$(CONFIG_MACH_MESON6) += \
313313
meson6-atv1200.dtb
314314
dtb-$(CONFIG_MACH_MESON8) += \
315-
meson8-minix-neo-x8.dtb
315+
meson8-minix-neo-x8.dtb \
316+
meson8m2-mxiii-plus.dtb
316317
dtb-$(CONFIG_ARCH_MMP) += \
317318
pxa168-aspenite.dtb \
318319
pxa910-dkb.dtb \
Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (c) 2018 Oleg Ivanov <[email protected]>
4+
* Copyright (c) 2018 Martin Blumenstingl <[email protected]>
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+
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+
vcc_3v3: regulator-vcc3v3 {
48+
compatible = "regulator-fixed";
49+
regulator-name = "VCC3V3";
50+
regulator-min-microvolt = <3300000>;
51+
regulator-max-microvolt = <3300000>;
52+
};
53+
};
54+
55+
&cpu0 {
56+
cpu-supply = <&vcck>;
57+
};
58+
59+
&ethmac {
60+
status = "okay";
61+
62+
pinctrl-0 = <&eth_rgmii_pins>;
63+
pinctrl-names = "default";
64+
65+
phy-handle = <&eth_phy0>;
66+
phy-mode = "rgmii";
67+
68+
amlogic,tx-delay-ns = <4>;
69+
70+
snps,reset-gpio = <&gpio GPIOH_4 0>;
71+
snps,reset-delays-us = <0 10000 1000000>;
72+
snps,reset-active-low;
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+
};
84+
};
85+
86+
&ir_receiver {
87+
status = "okay";
88+
pinctrl-0 = <&ir_recv_pins>;
89+
pinctrl-names = "default";
90+
};
91+
92+
&i2c_AO {
93+
status = "okay";
94+
pinctrl-0 = <&i2c_ao_pins>;
95+
pinctrl-names = "default";
96+
97+
pmic@32 {
98+
compatible = "ricoh,rn5t618";
99+
reg = <0x32>;
100+
system-power-controller;
101+
102+
regulators {
103+
vcck: DCDC1 {
104+
regulator-name = "VCCK";
105+
regulator-min-microvolt = <825000>;
106+
regulator-max-microvolt = <1150000>;
107+
regulator-boot-on;
108+
regulator-always-on;
109+
};
110+
111+
DCDC2 {
112+
regulator-name = "VDDAO";
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+
&saradc {
187+
status = "okay";
188+
vref-supply = <&vddio_ao1v8>;
189+
};
190+
191+
&sdio {
192+
status = "okay";
193+
194+
pinctrl-0 = <&sd_b_pins>;
195+
pinctrl-names = "default";
196+
197+
/* SD card */
198+
sd_card_slot: slot@1 {
199+
compatible = "mmc-slot";
200+
reg = <1>;
201+
status = "okay";
202+
203+
bus-width = <4>;
204+
no-sdio;
205+
cap-mmc-highspeed;
206+
cap-sd-highspeed;
207+
disable-wp;
208+
209+
cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
210+
cd-inverted;
211+
212+
vmmc-supply = <&vcc_3v3>;
213+
};
214+
};
215+
216+
/* connected to the Bluetooth module */
217+
&uart_A {
218+
status = "okay";
219+
pinctrl-0 = <&uart_a1_pins>, <&uart_a1_cts_rts_pins>;
220+
pinctrl-names = "default";
221+
uart-has-rtscts;
222+
};
223+
224+
&uart_AO {
225+
status = "okay";
226+
pinctrl-0 = <&uart_ao_a_pins>;
227+
pinctrl-names = "default";
228+
};
229+
230+
&usb0 {
231+
status = "okay";
232+
};
233+
234+
&usb1 {
235+
status = "okay";
236+
};
237+
238+
&usb0_phy {
239+
status = "okay";
240+
};
241+
242+
&usb1_phy {
243+
status = "okay";
244+
};

0 commit comments

Comments
 (0)