xref: /linux/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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&ir {
54	status = "okay";
55};
56
57&mmc0 {
58	vmmc-supply = <&reg_dcdce>;
59	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */
60	disable-wp;
61	bus-width = <4>;
62	status = "okay";
63};
64
65&mmc2 {
66	vmmc-supply = <&reg_dcdce>;
67	vqmmc-supply = <&reg_bldo1>;
68	bus-width = <8>;
69	non-removable;
70	cap-mmc-hw-reset;
71	mmc-ddr-1_8v;
72	mmc-hs200-1_8v;
73	status = "okay";
74};
75
76&ohci0 {
77	status = "okay";
78};
79
80&ohci2 {
81	status = "okay";
82};
83
84&r_rsb {
85	status = "okay";
86
87	axp305: pmic@745 {
88		compatible = "x-powers,axp305", "x-powers,axp805",
89			     "x-powers,axp806";
90		interrupt-controller;
91		#interrupt-cells = <1>;
92		reg = <0x745>;
93
94		x-powers,self-working-mode;
95		vina-supply = <&reg_vcc5v>;
96		vinb-supply = <&reg_vcc5v>;
97		vinc-supply = <&reg_vcc5v>;
98		vind-supply = <&reg_vcc5v>;
99		vine-supply = <&reg_vcc5v>;
100		aldoin-supply = <&reg_vcc5v>;
101		bldoin-supply = <&reg_vcc5v>;
102		cldoin-supply = <&reg_vcc5v>;
103
104		regulators {
105			reg_aldo1: aldo1 {
106				regulator-always-on;
107				regulator-min-microvolt = <3300000>;
108				regulator-max-microvolt = <3300000>;
109				regulator-name = "vcc-sys";
110			};
111
112			/* Enabled by the Android BSP */
113			reg_aldo2: aldo2 {
114				regulator-min-microvolt = <3300000>;
115				regulator-max-microvolt = <3300000>;
116				regulator-name = "vcc3v3-ext";
117				status = "disabled";
118			};
119
120			/* Enabled by the Android BSP */
121			reg_aldo3: aldo3 {
122				regulator-min-microvolt = <3300000>;
123				regulator-max-microvolt = <3300000>;
124				regulator-name = "vcc3v3-ext2";
125				status = "disabled";
126			};
127
128			reg_bldo1: bldo1 {
129				regulator-always-on;
130				regulator-min-microvolt = <1800000>;
131				regulator-max-microvolt = <1800000>;
132				regulator-name = "vcc1v8";
133			};
134
135			/* Enabled by the Android BSP */
136			reg_bldo2: bldo2 {
137				regulator-min-microvolt = <1800000>;
138				regulator-max-microvolt = <1800000>;
139				regulator-name = "vcc1v8-2";
140				status = "disabled";
141			};
142
143			bldo3 {
144				/* unused */
145			};
146
147			bldo4 {
148				/* unused */
149			};
150
151			cldo1 {
152				regulator-min-microvolt = <2500000>;
153				regulator-max-microvolt = <2500000>;
154				regulator-name = "vcc2v5";
155			};
156
157			cldo2 {
158				/* unused */
159			};
160
161			cldo3 {
162				/* unused */
163			};
164
165			reg_dcdca: dcdca {
166				regulator-always-on;
167				regulator-min-microvolt = <810000>;
168				regulator-max-microvolt = <1100000>;
169				regulator-name = "vdd-cpu";
170			};
171
172			reg_dcdcc: dcdcc {
173				regulator-always-on;
174				regulator-min-microvolt = <810000>;
175				regulator-max-microvolt = <990000>;
176				regulator-name = "vdd-gpu-sys";
177			};
178
179			reg_dcdcd: dcdcd {
180				regulator-always-on;
181				regulator-min-microvolt = <1360000>;
182				regulator-max-microvolt = <1360000>;
183				regulator-name = "vdd-dram";
184			};
185
186			reg_dcdce: dcdce {
187				regulator-always-on;
188				regulator-min-microvolt = <3300000>;
189				regulator-max-microvolt = <3300000>;
190				regulator-name = "vcc-eth-mmc";
191			};
192
193			sw {
194				/* unused */
195			};
196		};
197	};
198};
199
200&uart0 {
201	pinctrl-names = "default";
202	pinctrl-0 = <&uart0_ph_pins>;
203	status = "okay";
204};
205
206&usbotg {
207	dr_mode = "host";	/* USB A type receptable */
208	status = "okay";
209};
210
211&usbphy {
212	status = "okay";
213};
214