xref: /linux/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts (revision e78f70bad29c5ae1e1076698b690b15794e9b81e)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2021 Arm Ltd.
4 */
5
6/dts-v1/;
7
8#include "sun50i-h616.dtsi"
9#include "sun50i-h616-cpu-opp.dtsi"
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13
14/ {
15	model = "X96 Mate";
16	compatible = "hechuang,x96-mate", "allwinner,sun50i-h616";
17
18	aliases {
19		serial0 = &uart0;
20	};
21
22	chosen {
23		stdout-path = "serial0:115200n8";
24	};
25
26	reg_vcc5v: vcc5v {
27		/* board wide 5V supply directly from the DC input */
28		compatible = "regulator-fixed";
29		regulator-name = "vcc-5v";
30		regulator-min-microvolt = <5000000>;
31		regulator-max-microvolt = <5000000>;
32		regulator-always-on;
33	};
34};
35
36&codec {
37	allwinner,audio-routing = "Line Out", "LINEOUT";
38	status = "okay";
39};
40
41&cpu0 {
42	cpu-supply = <&reg_dcdca>;
43};
44
45&ehci0 {
46	status = "okay";
47};
48
49&ehci2 {
50	status = "okay";
51};
52
53&gpu {
54	mali-supply = <&reg_dcdcc>;
55	status = "okay";
56};
57
58&ir {
59	status = "okay";
60};
61
62&mmc0 {
63	vmmc-supply = <&reg_dcdce>;
64	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */
65	disable-wp;
66	bus-width = <4>;
67	status = "okay";
68};
69
70&mmc2 {
71	vmmc-supply = <&reg_dcdce>;
72	vqmmc-supply = <&reg_bldo1>;
73	bus-width = <8>;
74	non-removable;
75	cap-mmc-hw-reset;
76	mmc-ddr-1_8v;
77	mmc-hs200-1_8v;
78	status = "okay";
79};
80
81&ohci0 {
82	status = "okay";
83};
84
85&ohci2 {
86	status = "okay";
87};
88
89&r_rsb {
90	status = "okay";
91
92	axp305: pmic@745 {
93		compatible = "x-powers,axp305", "x-powers,axp805",
94			     "x-powers,axp806";
95		interrupt-controller;
96		#interrupt-cells = <1>;
97		reg = <0x745>;
98
99		x-powers,self-working-mode;
100		vina-supply = <&reg_vcc5v>;
101		vinb-supply = <&reg_vcc5v>;
102		vinc-supply = <&reg_vcc5v>;
103		vind-supply = <&reg_vcc5v>;
104		vine-supply = <&reg_vcc5v>;
105		aldoin-supply = <&reg_vcc5v>;
106		bldoin-supply = <&reg_vcc5v>;
107		cldoin-supply = <&reg_vcc5v>;
108
109		regulators {
110			reg_aldo1: aldo1 {
111				regulator-always-on;
112				regulator-min-microvolt = <3300000>;
113				regulator-max-microvolt = <3300000>;
114				regulator-name = "vcc-sys";
115			};
116
117			/* Enabled by the Android BSP */
118			reg_aldo2: aldo2 {
119				regulator-min-microvolt = <3300000>;
120				regulator-max-microvolt = <3300000>;
121				regulator-name = "vcc3v3-ext";
122				status = "disabled";
123			};
124
125			/* Enabled by the Android BSP */
126			reg_aldo3: aldo3 {
127				regulator-min-microvolt = <3300000>;
128				regulator-max-microvolt = <3300000>;
129				regulator-name = "vcc3v3-ext2";
130				status = "disabled";
131			};
132
133			reg_bldo1: bldo1 {
134				regulator-always-on;
135				regulator-min-microvolt = <1800000>;
136				regulator-max-microvolt = <1800000>;
137				regulator-name = "vcc1v8";
138			};
139
140			/* Enabled by the Android BSP */
141			reg_bldo2: bldo2 {
142				regulator-min-microvolt = <1800000>;
143				regulator-max-microvolt = <1800000>;
144				regulator-name = "vcc1v8-2";
145				status = "disabled";
146			};
147
148			bldo3 {
149				/* unused */
150			};
151
152			bldo4 {
153				/* unused */
154			};
155
156			cldo1 {
157				regulator-min-microvolt = <2500000>;
158				regulator-max-microvolt = <2500000>;
159				regulator-name = "vcc2v5";
160			};
161
162			cldo2 {
163				/* unused */
164			};
165
166			cldo3 {
167				/* unused */
168			};
169
170			reg_dcdca: dcdca {
171				regulator-always-on;
172				regulator-min-microvolt = <810000>;
173				regulator-max-microvolt = <1100000>;
174				regulator-name = "vdd-cpu";
175			};
176
177			reg_dcdcc: dcdcc {
178				regulator-always-on;
179				regulator-min-microvolt = <810000>;
180				regulator-max-microvolt = <990000>;
181				regulator-name = "vdd-gpu-sys";
182			};
183
184			reg_dcdcd: dcdcd {
185				regulator-always-on;
186				regulator-min-microvolt = <1360000>;
187				regulator-max-microvolt = <1360000>;
188				regulator-name = "vdd-dram";
189			};
190
191			reg_dcdce: dcdce {
192				regulator-always-on;
193				regulator-min-microvolt = <3300000>;
194				regulator-max-microvolt = <3300000>;
195				regulator-name = "vcc-eth-mmc";
196			};
197
198			sw {
199				/* unused */
200			};
201		};
202	};
203};
204
205&uart0 {
206	pinctrl-names = "default";
207	pinctrl-0 = <&uart0_ph_pins>;
208	status = "okay";
209};
210
211&usbotg {
212	dr_mode = "host";	/* USB A type receptable */
213	status = "okay";
214};
215
216&usbphy {
217	status = "okay";
218};
219