Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.17.
  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		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};