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