1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd
4 * Copyright (c) 2020 Engicam srl
5 * Copyright (c) 2020 Amarula Solutons
6 * Copyright (c) 2020 Amarula Solutons(India)
7 */
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/pinctrl/rockchip.h>
11
12/ {
13	compatible = "engicam,px30-core", "rockchip,px30";
14};
15
16&cpu0 {
17	cpu-supply = <&vdd_arm>;
18};
19
20&cpu1 {
21	cpu-supply = <&vdd_arm>;
22};
23
24&cpu2 {
25	cpu-supply = <&vdd_arm>;
26};
27
28&cpu3 {
29	cpu-supply = <&vdd_arm>;
30};
31
32&emmc {
33	cap-mmc-highspeed;
34	mmc-hs200-1_8v;
35	non-removable;
36	status = "okay";
37};
38
39&i2c0 {
40	status = "okay";
41
42	rk809: pmic@20 {
43		compatible = "rockchip,rk809";
44		reg = <0x20>;
45		interrupt-parent = <&gpio0>;
46		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
47		pinctrl-names = "default";
48		pinctrl-0 = <&pmic_int>;
49		rockchip,system-power-controller;
50		wakeup-source;
51		#clock-cells = <1>;
52		clock-output-names = "rk808-clkout1", "rk808-clkout2";
53
54		vcc1-supply = <&vcc5v0_sys>;
55		vcc2-supply = <&vcc5v0_sys>;
56		vcc3-supply = <&vcc5v0_sys>;
57		vcc4-supply = <&vcc5v0_sys>;
58		vcc5-supply = <&vcc3v3_sys>;
59		vcc6-supply = <&vcc3v3_sys>;
60		vcc7-supply = <&vcc3v3_sys>;
61		vcc8-supply = <&vcc3v3_sys>;
62		vcc9-supply = <&vcc5v0_sys>;
63
64		regulators {
65			vdd_log: DCDC_REG1 {
66				regulator-name = "vdd_log";
67				regulator-always-on;
68				regulator-boot-on;
69				regulator-min-microvolt = <950000>;
70				regulator-max-microvolt = <1350000>;
71				regulator-ramp-delay = <6001>;
72
73				regulator-state-mem {
74					regulator-on-in-suspend;
75					regulator-suspend-microvolt = <950000>;
76				};
77			};
78
79			vdd_arm: DCDC_REG2 {
80				regulator-name = "vdd_arm";
81				regulator-always-on;
82				regulator-boot-on;
83				regulator-min-microvolt = <950000>;
84				regulator-max-microvolt = <1350000>;
85				regulator-ramp-delay = <6001>;
86
87				regulator-state-mem {
88					regulator-off-in-suspend;
89					regulator-suspend-microvolt = <950000>;
90				};
91			};
92
93			vcc_ddr: DCDC_REG3 {
94				regulator-name = "vcc_ddr";
95				regulator-always-on;
96				regulator-boot-on;
97
98				regulator-state-mem {
99					regulator-on-in-suspend;
100				};
101			};
102
103			vcc_3v3: DCDC_REG4 {
104				regulator-name = "vcc_3v3";
105				regulator-always-on;
106				regulator-boot-on;
107				regulator-min-microvolt = <3300000>;
108				regulator-max-microvolt = <3300000>;
109
110				regulator-state-mem {
111					regulator-on-in-suspend;
112					regulator-suspend-microvolt = <3300000>;
113				};
114			};
115
116			vcc3v3_sys: DCDC_REG5 {
117				regulator-name = "vcc3v3_sys";
118				regulator-always-on;
119				regulator-boot-on;
120				regulator-min-microvolt = <3300000>;
121				regulator-max-microvolt = <3300000>;
122
123				regulator-state-mem {
124					regulator-on-in-suspend;
125					regulator-suspend-microvolt = <3300000>;
126				};
127			};
128
129			vcc_1v0: LDO_REG1 {
130				regulator-name = "vcc_1v0";
131				regulator-always-on;
132				regulator-boot-on;
133				regulator-min-microvolt = <1000000>;
134				regulator-max-microvolt = <1000000>;
135
136				regulator-state-mem {
137					regulator-on-in-suspend;
138					regulator-suspend-microvolt = <1000000>;
139				};
140			};
141
142			vcc_1v8: LDO_REG2 {
143				regulator-name = "vcc_1v8";
144				regulator-always-on;
145				regulator-boot-on;
146				regulator-min-microvolt = <1800000>;
147				regulator-max-microvolt = <1800000>;
148
149				regulator-state-mem {
150					regulator-on-in-suspend;
151					regulator-suspend-microvolt = <1800000>;
152				};
153			};
154
155			vdd_1v0: LDO_REG3 {
156				regulator-name = "vdd_1v0";
157				regulator-always-on;
158				regulator-boot-on;
159				regulator-min-microvolt = <1000000>;
160				regulator-max-microvolt = <1000000>;
161
162				regulator-state-mem {
163					regulator-on-in-suspend;
164					regulator-suspend-microvolt = <1000000>;
165				};
166			};
167
168			vcc3v0_pmu: LDO_REG4 {
169				regulator-name = "vcc3v0_pmu";
170				regulator-always-on;
171				regulator-boot-on;
172				regulator-min-microvolt = <3300000>;
173				regulator-max-microvolt = <3300000>;
174
175				regulator-state-mem {
176					regulator-on-in-suspend;
177					regulator-suspend-microvolt = <3300000>;
178
179				};
180			};
181
182			vccio_sd: LDO_REG5 {
183				regulator-name = "vccio_sd";
184				regulator-always-on;
185				regulator-boot-on;
186				regulator-min-microvolt = <1800000>;
187				regulator-max-microvolt = <3300000>;
188
189				regulator-state-mem {
190					regulator-on-in-suspend;
191					regulator-suspend-microvolt = <3300000>;
192				};
193			};
194
195			vcc3v3_lcd: SWITCH_REG1 {
196				regulator-boot-on;
197				regulator-name = "vcc3v3_lcd";
198			};
199
200			vcc5v0_host: SWITCH_REG2 {
201				regulator-name = "vcc5v0_host";
202				regulator-always-on;
203				regulator-boot-on;
204			};
205		};
206	};
207};
208
209&io_domains {
210	vccio1-supply = <&vcc_3v3>;
211	vccio2-supply = <&vcc_3v3>;
212	vccio3-supply = <&vcc_3v3>;
213	vccio4-supply = <&vcc_3v3>;
214	vccio5-supply = <&vcc_3v3>;
215	vccio6-supply = <&vcc_1v8>;
216	status = "okay";
217};
218
219&pinctrl {
220	pmic {
221		pmic_int: pmic_int {
222			rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
223		};
224	};
225};
226
227&pmu_io_domains {
228	pmuio1-supply = <&vcc_3v3>;
229	pmuio2-supply = <&vcc_3v3>;
230	status = "okay";
231};
232
233&tsadc {
234	rockchip,hw-tshut-mode = <1>;
235	rockchip,hw-tshut-polarity = <1>;
236	status = "okay";
237};
238