1// SPDX-License-Identifier: GPL-2.0 OR MIT
2/*
3 * Copyright 2015 Endless Mobile, Inc.
4 * Author: Carlo Caione <carlo@endlessm.com>
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.h>
10
11#include "meson8b.dtsi"
12
13/ {
14	model = "TRONFY MXQ S805";
15	compatible = "tronfy,mxq", "amlogic,meson8b";
16
17	aliases {
18		serial0 = &uart_AO;
19	};
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	memory {
26		device_type = "memory";
27		reg = <0x40000000 0x40000000>;
28	};
29
30	vcck: regulator-vcck {
31		compatible = "pwm-regulator";
32
33		regulator-name = "VCCK";
34		regulator-min-microvolt = <860000>;
35		regulator-max-microvolt = <1140000>;
36
37		pwm-supply = <&vcc_5v>;
38
39		pwms = <&pwm_cd 0 1148 0>;
40		pwm-dutycycle-range = <100 0>;
41
42		regulator-boot-on;
43		regulator-always-on;
44	};
45
46	vcc_1v8: regulator-vcc1v8 {
47		compatible = "regulator-fixed";
48
49		regulator-name = "VCC1V8";
50		regulator-min-microvolt = <1800000>;
51		regulator-max-microvolt = <1800000>;
52
53		vin-supply = <&vcc_3v3>;
54	};
55
56	vcc_3v3: regulator-vcc3v3 {
57		compatible = "regulator-fixed";
58
59		regulator-name = "VCC3V3";
60		regulator-min-microvolt = <3300000>;
61		regulator-max-microvolt = <3300000>;
62
63		vin-supply = <&vcc_5v>;
64	};
65
66	vcc_5v: regulator-vcc5v {
67		compatible = "regulator-fixed";
68
69		regulator-name = "VCC5V";
70		regulator-min-microvolt = <5000000>;
71		regulator-max-microvolt = <5000000>;
72
73		regulator-boot-on;
74		regulator-always-on;
75	};
76
77	vddee: regulator-vddee {
78		compatible = "pwm-regulator";
79
80		regulator-name = "VDDEE";
81		regulator-min-microvolt = <860000>;
82		regulator-max-microvolt = <1140000>;
83
84		pwm-supply = <&vcc_5v>;
85
86		pwms = <&pwm_cd 1 1148 0>;
87		pwm-dutycycle-range = <100 0>;
88
89		regulator-boot-on;
90		regulator-always-on;
91	};
92};
93
94&cpu0 {
95	cpu-supply = <&vcck>;
96};
97
98&ethmac {
99	status = "okay";
100
101	pinctrl-0 = <&eth_rmii_pins>;
102	pinctrl-names = "default";
103
104	phy-handle = <&eth_phy0>;
105	phy-mode = "rmii";
106
107	mdio {
108		compatible = "snps,dwmac-mdio";
109		#address-cells = <1>;
110		#size-cells = <0>;
111
112		eth_phy0: ethernet-phy@0 {
113			/* IC Plus IP101A/G (0x02430c54) */
114			reg = <0>;
115
116			reset-assert-us = <10000>;
117			reset-deassert-us = <10000>;
118			reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
119
120			icplus,select-interrupt;
121			interrupt-parent = <&gpio_intc>;
122			/* GPIOH_3 */
123			interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
124		};
125	};
126};
127
128&mali {
129	mali-supply = <&vddee>;
130};
131
132&saradc {
133	status = "okay";
134	vref-supply = <&vcc_1v8>;
135};
136
137&sdio {
138	status = "okay";
139
140	pinctrl-0 = <&sd_b_pins>;
141	pinctrl-names = "default";
142
143	/* SD card */
144	sd_card_slot: slot@1 {
145		compatible = "mmc-slot";
146		reg = <1>;
147		status = "okay";
148
149		bus-width = <4>;
150		no-sdio;
151		cap-mmc-highspeed;
152		cap-sd-highspeed;
153		disable-wp;
154
155		cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
156
157		vmmc-supply = <&vcc_3v3>;
158	};
159};
160
161&pwm_cd {
162	status = "okay";
163	pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
164	pinctrl-names = "default";
165	clocks = <&xtal>, <&xtal>;
166	clock-names = "clkin0", "clkin1";
167};
168
169&uart_AO {
170	status = "okay";
171	pinctrl-0 = <&uart_ao_a_pins>;
172	pinctrl-names = "default";
173};
174
175&usb0 {
176	status = "okay";
177};
178
179&usb0_phy {
180	status = "okay";
181};
182
183&usb1 {
184	status = "okay";
185};
186
187&usb1_phy {
188	status = "okay";
189};
190