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