xref: /linux/scripts/dtc/include-prefixes/arm/amlogic/meson8m2-mxiii-plus.dts (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (c) 2018 Oleg Ivanov <balbes-150@yandex.ru>
4724ba675SRob Herring * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5724ba675SRob Herring */
6724ba675SRob Herring
7724ba675SRob Herring/dts-v1/;
8724ba675SRob Herring
9724ba675SRob Herring#include "meson8m2.dtsi"
10724ba675SRob Herring
11724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
12724ba675SRob Herring#include <dt-bindings/input/input.h>
13724ba675SRob Herring
14724ba675SRob Herring/ {
15724ba675SRob Herring	model = "Tronsmart MXIII Plus";
16724ba675SRob Herring	compatible = "tronsmart,mxiii-plus", "amlogic,meson8m2";
17724ba675SRob Herring
18724ba675SRob Herring	aliases {
19724ba675SRob Herring		ethernet0 = &ethmac;
20724ba675SRob Herring		i2c0 = &i2c_AO;
21724ba675SRob Herring		serial0 = &uart_AO;
22724ba675SRob Herring		mmc0 = &sd_card_slot;
23724ba675SRob Herring	};
24724ba675SRob Herring
25724ba675SRob Herring	chosen {
26724ba675SRob Herring		stdout-path = "serial0:115200n8";
27724ba675SRob Herring	};
28724ba675SRob Herring
29*7947fd2dSNeil Armstrong	memory@40000000 {
30724ba675SRob Herring		device_type = "memory";
31724ba675SRob Herring		reg = <0x40000000 0x80000000>;
32724ba675SRob Herring	};
33724ba675SRob Herring
34724ba675SRob Herring	adc-keys {
35724ba675SRob Herring		compatible = "adc-keys";
36724ba675SRob Herring		io-channels = <&saradc 0>;
37724ba675SRob Herring		io-channel-names = "buttons";
38724ba675SRob Herring		keyup-threshold-microvolt = <1710000>;
39724ba675SRob Herring
40724ba675SRob Herring		button-function {
41724ba675SRob Herring			label = "Function";
42724ba675SRob Herring			linux,code = <KEY_FN>;
43724ba675SRob Herring			press-threshold-microvolt = <10000>;
44724ba675SRob Herring		};
45724ba675SRob Herring	};
46724ba675SRob Herring
47724ba675SRob Herring	sdio_pwrseq: sdio-pwrseq {
48724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
49724ba675SRob Herring
50724ba675SRob Herring		pinctrl-0 = <&xtal_32k_out_pins>;
51724ba675SRob Herring		pinctrl-names = "default";
52724ba675SRob Herring
53724ba675SRob Herring		reset-gpios = <&gpio GPIOX_11 GPIO_ACTIVE_LOW>,
54724ba675SRob Herring			      <&gpio_ao GPIOAO_6 GPIO_ACTIVE_LOW>;
55724ba675SRob Herring
56724ba675SRob Herring		clocks = <&xtal_32k_out>;
57724ba675SRob Herring		clock-names = "ext_clock";
58724ba675SRob Herring	};
59724ba675SRob Herring
60724ba675SRob Herring	vcc_3v3: regulator-vcc3v3 {
61724ba675SRob Herring		compatible = "regulator-fixed";
62724ba675SRob Herring		regulator-name = "VCC3V3";
63724ba675SRob Herring		regulator-min-microvolt = <3300000>;
64724ba675SRob Herring		regulator-max-microvolt = <3300000>;
65724ba675SRob Herring	};
66724ba675SRob Herring
67724ba675SRob Herring	xtal_32k_out: xtal-32k-out-clk {
68724ba675SRob Herring		compatible = "fixed-clock";
69724ba675SRob Herring		#clock-cells = <0>;
70724ba675SRob Herring		clock-frequency = <32768>;
71724ba675SRob Herring		clock-output-names = "xtal_32k_out";
72724ba675SRob Herring	};
73724ba675SRob Herring};
74724ba675SRob Herring
75724ba675SRob Herring&cpu0 {
76724ba675SRob Herring	cpu-supply = <&vcck>;
77724ba675SRob Herring};
78724ba675SRob Herring
79724ba675SRob Herring&ethmac {
80724ba675SRob Herring	status = "okay";
81724ba675SRob Herring
82724ba675SRob Herring	pinctrl-0 = <&eth_rgmii_pins>;
83724ba675SRob Herring	pinctrl-names = "default";
84724ba675SRob Herring
85724ba675SRob Herring	phy-handle = <&eth_phy0>;
86724ba675SRob Herring	phy-mode = "rgmii-id";
87724ba675SRob Herring
88724ba675SRob Herring	mdio {
89724ba675SRob Herring		compatible = "snps,dwmac-mdio";
90724ba675SRob Herring		#address-cells = <1>;
91724ba675SRob Herring		#size-cells = <0>;
92724ba675SRob Herring
93724ba675SRob Herring		eth_phy0: ethernet-phy@0 {
94724ba675SRob Herring			/* Realtek RTL8211F (0x001cc916) */
95724ba675SRob Herring			reg = <0>;
96724ba675SRob Herring
97724ba675SRob Herring			reset-assert-us = <10000>;
98724ba675SRob Herring			reset-deassert-us = <80000>;
99724ba675SRob Herring			reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
100724ba675SRob Herring		};
101724ba675SRob Herring	};
102724ba675SRob Herring};
103724ba675SRob Herring
104724ba675SRob Herring&ir_receiver {
105724ba675SRob Herring	status = "okay";
106724ba675SRob Herring	pinctrl-0 = <&ir_recv_pins>;
107724ba675SRob Herring	pinctrl-names = "default";
108724ba675SRob Herring};
109724ba675SRob Herring
110724ba675SRob Herring&i2c_AO {
111724ba675SRob Herring	status = "okay";
112724ba675SRob Herring	pinctrl-0 = <&i2c_ao_pins>;
113724ba675SRob Herring	pinctrl-names = "default";
114724ba675SRob Herring
115724ba675SRob Herring	pmic@32 {
116724ba675SRob Herring		compatible = "ricoh,rn5t618";
117724ba675SRob Herring		reg = <0x32>;
118724ba675SRob Herring		system-power-controller;
119724ba675SRob Herring
120724ba675SRob Herring		regulators {
121724ba675SRob Herring			vcck: DCDC1 {
122724ba675SRob Herring				regulator-name = "VCCK";
123724ba675SRob Herring				regulator-min-microvolt = <825000>;
124724ba675SRob Herring				regulator-max-microvolt = <1150000>;
125724ba675SRob Herring				regulator-boot-on;
126724ba675SRob Herring				regulator-always-on;
127724ba675SRob Herring			};
128724ba675SRob Herring
129724ba675SRob Herring			vddee: DCDC2 {
130724ba675SRob Herring				/* the output is also used as VDDAO */
131724ba675SRob Herring				regulator-name = "VDD_EE";
132724ba675SRob Herring				regulator-min-microvolt = <950000>;
133724ba675SRob Herring				regulator-max-microvolt = <1150000>;
134724ba675SRob Herring				regulator-boot-on;
135724ba675SRob Herring				regulator-always-on;
136724ba675SRob Herring			};
137724ba675SRob Herring
138724ba675SRob Herring			DCDC3 {
139724ba675SRob Herring				regulator-name = "VDD_DDR";
140724ba675SRob Herring				regulator-min-microvolt = <1500000>;
141724ba675SRob Herring				regulator-max-microvolt = <1500000>;
142724ba675SRob Herring				regulator-boot-on;
143724ba675SRob Herring				regulator-always-on;
144724ba675SRob Herring			};
145724ba675SRob Herring
146724ba675SRob Herring			LDO1 {
147724ba675SRob Herring				regulator-name = "VDDIO_AO28";
148724ba675SRob Herring				regulator-min-microvolt = <2900000>;
149724ba675SRob Herring				regulator-max-microvolt = <2900000>;
150724ba675SRob Herring				regulator-boot-on;
151724ba675SRob Herring				regulator-always-on;
152724ba675SRob Herring			};
153724ba675SRob Herring
154724ba675SRob Herring			vddio_ao1v8: LDO2 {
155724ba675SRob Herring				regulator-name = "VDDIO_AO18";
156724ba675SRob Herring				regulator-min-microvolt = <1800000>;
157724ba675SRob Herring				regulator-max-microvolt = <1800000>;
158724ba675SRob Herring				regulator-boot-on;
159724ba675SRob Herring				regulator-always-on;
160724ba675SRob Herring			};
161724ba675SRob Herring
162724ba675SRob Herring			LDO3 {
163724ba675SRob Herring				regulator-name = "VCC1V8";
164724ba675SRob Herring				regulator-min-microvolt = <1800000>;
165724ba675SRob Herring				regulator-max-microvolt = <1800000>;
166724ba675SRob Herring				regulator-boot-on;
167724ba675SRob Herring				regulator-always-on;
168724ba675SRob Herring			};
169724ba675SRob Herring
170724ba675SRob Herring			LDO4 {
171724ba675SRob Herring				regulator-name = "VCC2V8";
172724ba675SRob Herring				regulator-min-microvolt = <2850000>;
173724ba675SRob Herring				regulator-max-microvolt = <2850000>;
174724ba675SRob Herring				regulator-boot-on;
175724ba675SRob Herring				regulator-always-on;
176724ba675SRob Herring			};
177724ba675SRob Herring
178724ba675SRob Herring			LDO5 {
179724ba675SRob Herring				regulator-name = "AVDD1V8";
180724ba675SRob Herring				regulator-min-microvolt = <1800000>;
181724ba675SRob Herring				regulator-max-microvolt = <1800000>;
182724ba675SRob Herring				regulator-boot-on;
183724ba675SRob Herring				regulator-always-on;
184724ba675SRob Herring			};
185724ba675SRob Herring
186724ba675SRob Herring			LDORTC1 {
187724ba675SRob Herring				regulator-name = "VDD_LDO";
188724ba675SRob Herring				regulator-min-microvolt = <2700000>;
189724ba675SRob Herring				regulator-max-microvolt = <2700000>;
190724ba675SRob Herring				regulator-boot-on;
191724ba675SRob Herring				regulator-always-on;
192724ba675SRob Herring			};
193724ba675SRob Herring
194724ba675SRob Herring			LDORTC2 {
195724ba675SRob Herring				regulator-name = "RTC_0V9";
196724ba675SRob Herring				regulator-min-microvolt = <900000>;
197724ba675SRob Herring				regulator-max-microvolt = <900000>;
198724ba675SRob Herring				regulator-boot-on;
199724ba675SRob Herring				regulator-always-on;
200724ba675SRob Herring			};
201724ba675SRob Herring		};
202724ba675SRob Herring	};
203724ba675SRob Herring};
204724ba675SRob Herring
205724ba675SRob Herring&mali {
206724ba675SRob Herring	mali-supply = <&vddee>;
207724ba675SRob Herring};
208724ba675SRob Herring
209724ba675SRob Herring&saradc {
210724ba675SRob Herring	status = "okay";
211724ba675SRob Herring	vref-supply = <&vddio_ao1v8>;
212724ba675SRob Herring};
213724ba675SRob Herring
214724ba675SRob Herring/* SDIO wifi */
215724ba675SRob Herring&sdhc {
216724ba675SRob Herring	status = "okay";
217724ba675SRob Herring
218724ba675SRob Herring	pinctrl-0 = <&sdxc_a_pins>;
219724ba675SRob Herring	pinctrl-names = "default";
220724ba675SRob Herring
221724ba675SRob Herring	bus-width = <4>;
222724ba675SRob Herring	max-frequency = <50000000>;
223724ba675SRob Herring
224724ba675SRob Herring	disable-wp;
225724ba675SRob Herring	non-removable;
226724ba675SRob Herring	cap-mmc-highspeed;
227724ba675SRob Herring	cap-sd-highspeed;
228724ba675SRob Herring
229724ba675SRob Herring	mmc-pwrseq = <&sdio_pwrseq>;
230724ba675SRob Herring
231724ba675SRob Herring	vmmc-supply = <&vcc_3v3>;
232724ba675SRob Herring	vqmmc-supply = <&vcc_3v3>;
233724ba675SRob Herring};
234724ba675SRob Herring
235724ba675SRob Herring&sdio {
236724ba675SRob Herring	status = "okay";
237724ba675SRob Herring
238724ba675SRob Herring	pinctrl-0 = <&sd_b_pins>;
239724ba675SRob Herring	pinctrl-names = "default";
240724ba675SRob Herring
241724ba675SRob Herring	/* SD card */
242724ba675SRob Herring	sd_card_slot: slot@1 {
243724ba675SRob Herring		compatible = "mmc-slot";
244724ba675SRob Herring		reg = <1>;
245724ba675SRob Herring		status = "okay";
246724ba675SRob Herring
247724ba675SRob Herring		bus-width = <4>;
248724ba675SRob Herring		no-sdio;
249724ba675SRob Herring		cap-mmc-highspeed;
250724ba675SRob Herring		cap-sd-highspeed;
251724ba675SRob Herring		disable-wp;
252724ba675SRob Herring
253724ba675SRob Herring		cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
254724ba675SRob Herring
255724ba675SRob Herring		vmmc-supply = <&vcc_3v3>;
256724ba675SRob Herring	};
257724ba675SRob Herring};
258724ba675SRob Herring
259724ba675SRob Herring/* connected to the Bluetooth module */
260724ba675SRob Herring&uart_A {
261724ba675SRob Herring	status = "okay";
262724ba675SRob Herring	pinctrl-0 = <&uart_a1_pins>, <&uart_a1_cts_rts_pins>;
263724ba675SRob Herring	pinctrl-names = "default";
264724ba675SRob Herring	uart-has-rtscts;
265724ba675SRob Herring
266724ba675SRob Herring	bluetooth {
267724ba675SRob Herring		compatible = "brcm,bcm20702a1";
268724ba675SRob Herring		shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
269724ba675SRob Herring		max-speed = <2000000>;
270724ba675SRob Herring	};
271724ba675SRob Herring};
272724ba675SRob Herring
273724ba675SRob Herring&uart_AO {
274724ba675SRob Herring	status = "okay";
275724ba675SRob Herring	pinctrl-0 = <&uart_ao_a_pins>;
276724ba675SRob Herring	pinctrl-names = "default";
277724ba675SRob Herring};
278724ba675SRob Herring
279724ba675SRob Herring&usb0 {
280724ba675SRob Herring	status = "okay";
281724ba675SRob Herring};
282724ba675SRob Herring
283724ba675SRob Herring&usb1 {
284724ba675SRob Herring	status = "okay";
285724ba675SRob Herring};
286724ba675SRob Herring
287724ba675SRob Herring&usb0_phy {
288724ba675SRob Herring	status = "okay";
289724ba675SRob Herring};
290724ba675SRob Herring
291724ba675SRob Herring&usb1_phy {
292724ba675SRob Herring	status = "okay";
293724ba675SRob Herring};
294