xref: /linux/arch/arm64/boot/dts/allwinner/sun50i-a133-helperboard-core.dtsi (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2025 Arm Ltd.
4 * Copyright (c) 2026 Alexander Sverdlin <alexander.sverdlin@gmail.com>
5 */
6
7/dts-v1/;
8
9#include "sun50i-a100.dtsi"
10#include "sun50i-a100-cpu-opp.dtsi"
11
12/{
13	model = "Baijie A133 HelperBoard Core";
14	compatible = "baijie,helperboard-a133-core",
15		     "allwinner,sun50i-a100";
16
17	aliases {
18		serial1 = &uart1;	/* BT module */
19	};
20};
21
22&cpu0 {
23	cpu-supply = <&reg_dcdc2>;
24};
25
26&lradc {
27	vref-supply = <&reg_aldo1>;
28};
29
30&mmc2 {
31	vmmc-supply = <&reg_dcdc1>;
32	vqmmc-supply = <&reg_eldo1>;
33	cap-mmc-highspeed;
34	cap-mmc-hw-reset;
35	max-frequency = <100000000>;
36	non-removable;
37	bus-width = <8>;
38	mmc-ddr-1_8v;
39	mmc-hs200-1_8v;
40	status = "okay";
41};
42
43&pio {
44	vcc-pb-supply = <&reg_dcdc1>;
45	vcc-pc-supply = <&reg_eldo1>;
46	vcc-pd-supply = <&reg_dcdc1>;
47	vcc-pe-supply = <&reg_dldo2>;
48	vcc-pf-supply = <&reg_dcdc1>;
49	vcc-pg-supply = <&reg_dldo1>;
50	vcc-ph-supply = <&reg_dcdc1>;
51	/*
52	 * PL0/PL1 are the I2C connection to PMIC, but it would create a
53	 * circular dependency:
54	 * vcc-pl-supply = <&reg_aldo3>;
55	 */
56};
57
58&r_i2c0 {
59	status = "okay";
60
61	axp803: pmic@34 {
62		compatible = "x-powers,axp803";
63		reg = <0x34>;
64		interrupt-parent = <&r_intc>;
65		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
66		x-powers,drive-vbus-en;		/* set N_VBUSEN as output pin */
67		aldoin-supply = <&reg_vdd5v>;
68		dldoin-supply = <&reg_vdd5v>;
69		eldoin-supply = <&reg_vdd5v>;
70		fldoin-supply = <&reg_dcdc5>;
71		vin1-supply = <&reg_vdd5v>;
72		vin2-supply = <&reg_vdd5v>;
73		vin3-supply = <&reg_vdd5v>;
74		vin4-supply = <&reg_vdd5v>;
75		vin5-supply = <&reg_vdd5v>;
76		vin6-supply = <&reg_vdd5v>;
77		drivevbus-supply = <&reg_vdd5v>;
78	};
79};
80
81#include "axp803.dtsi"
82
83&ac_power_supply {
84	status = "okay";
85};
86
87&reg_aldo1 {
88	/* PLL + LRADC analog reference */
89	regulator-always-on;
90	regulator-min-microvolt = <1800000>;
91	regulator-max-microvolt = <1800000>;
92	regulator-name = "vcc-pll";
93};
94
95&reg_aldo2 {
96	/* LPDDR */
97	regulator-always-on;
98	regulator-min-microvolt = <1800000>;
99	regulator-max-microvolt = <1800000>;
100	regulator-name = "vdd18-lpddr";
101};
102
103&reg_aldo3 {
104	/*
105	 * Port L, but linking it to &pio node would create a circular
106	 * dependency because of PL0/PL1 I2C connection to PMIC
107	 */
108	regulator-always-on;
109	regulator-min-microvolt = <1800000>;
110	regulator-max-microvolt = <1800000>;
111	regulator-name = "vcc-pl";
112};
113
114&reg_dcdc1 {
115	/* Besides Port D it also powers analog part of USB IP and SoC I/O */
116	regulator-always-on;
117	regulator-min-microvolt = <3300000>;
118	regulator-max-microvolt = <3300000>;
119	regulator-name = "vcc-3v3";
120};
121
122&reg_dcdc2 {
123	regulator-always-on;
124	regulator-min-microvolt = <810000>;
125	regulator-max-microvolt = <1200000>;
126	regulator-name = "vdd-cpu";
127};
128
129/* DCDC3 is polyphased with DCDC2 */
130
131&reg_dcdc4 {
132	/* Digital part of USB IP, "System" SoC power rail */
133	regulator-always-on;
134	regulator-min-microvolt = <950000>;
135	regulator-max-microvolt = <950000>;
136	regulator-name = "vdd-sys";
137};
138
139&reg_dcdc5 {
140	regulator-always-on;
141	regulator-min-microvolt = <1100000>;
142	regulator-max-microvolt = <1100000>;
143	regulator-name = "vcc-dram";
144};
145
146/* DCDC6 unused */
147&reg_dcdc6 {
148	status = "disabled";
149};
150
151&reg_dldo1 {
152	regulator-min-microvolt = <1800000>;
153	regulator-max-microvolt = <1800000>;
154	regulator-name = "vcc-pg";
155};
156
157&reg_dldo2 {
158	regulator-min-microvolt = <1800000>;
159	regulator-max-microvolt = <1800000>;
160	regulator-name = "vcc-pe";
161};
162
163&reg_dldo3 {
164	regulator-min-microvolt = <2800000>;
165	regulator-max-microvolt = <2800000>;
166	regulator-name = "avdd-csi";
167};
168
169&reg_dldo4 {
170	regulator-min-microvolt = <2800000>;
171	regulator-max-microvolt = <2800000>;
172	regulator-name = "afvcc-csi";
173};
174
175&reg_eldo1 {
176	regulator-min-microvolt = <1800000>;
177	regulator-max-microvolt = <1800000>;
178	regulator-name = "vcc-pc";
179};
180
181&reg_eldo2 {
182	regulator-min-microvolt = <1200000>;
183	regulator-max-microvolt = <1200000>;
184	regulator-name = "dvdd-csi";
185};
186
187/* ELDO3 unused */
188
189&reg_fldo1 {
190	/* CPUS power rail */
191	regulator-always-on;
192	regulator-min-microvolt = <900000>;
193	regulator-max-microvolt = <900000>;
194	regulator-name = "vdd-cpus";
195};
196
197/* reg_drivevbus unused */
198