1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2020 Martijn Braam <martijn@brixit.nl>
4 * Copyright (c) 2021 Kamil TrzciĆski <ayufan@ayufan.eu>
8 * PinePhone Pro datasheet:
9 * https://files.pine64.org/doc/PinePhonePro/PinephonePro-Schematic-V1.0-20211127.pdf
13 #include <dt-bindings/input/linux-event-codes.h>
14 #include "rk3399.dtsi"
15 #include "rk3399-opp.dtsi"
18 model = "Pine64 PinePhonePro";
19 compatible = "pine64,pinephone-pro", "rockchip,rk3399";
20 chassis-type = "handset";
29 stdout-path = "serial2:115200n8";
33 compatible = "gpio-keys";
34 pinctrl-names = "default";
35 pinctrl-0 = <&pwrbtn_pin>;
38 debounce-interval = <20>;
39 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
41 linux,code = <KEY_POWER>;
46 vcc_sys: vcc-sys-regulator {
47 compatible = "regulator-fixed";
48 regulator-name = "vcc_sys";
53 vcc3v3_sys: vcc3v3-sys-regulator {
54 compatible = "regulator-fixed";
55 regulator-name = "vcc3v3_sys";
58 regulator-min-microvolt = <3300000>;
59 regulator-max-microvolt = <3300000>;
60 vin-supply = <&vcc_sys>;
63 vcca1v8_s3: vcc1v8-s3-regulator {
64 compatible = "regulator-fixed";
65 regulator-name = "vcca1v8_s3";
66 regulator-min-microvolt = <1800000>;
67 regulator-max-microvolt = <1800000>;
68 vin-supply = <&vcc3v3_sys>;
73 vcc1v8_codec: vcc1v8-codec-regulator {
74 compatible = "regulator-fixed";
76 gpio = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>;
77 pinctrl-names = "default";
78 pinctrl-0 = <&vcc1v8_codec_en>;
79 regulator-name = "vcc1v8_codec";
80 regulator-min-microvolt = <1800000>;
81 regulator-max-microvolt = <1800000>;
82 vin-supply = <&vcc3v3_sys>;
87 temperature = <65000>;
90 temperature = <68000>;
94 cpu-supply = <&vdd_cpu_l>;
98 cpu-supply = <&vdd_cpu_l>;
102 cpu-supply = <&vdd_cpu_l>;
106 cpu-supply = <&vdd_cpu_l>;
110 cpu-supply = <&vdd_cpu_b>;
114 cpu-supply = <&vdd_cpu_b>;
122 clock-frequency = <400000>;
123 i2c-scl-rising-time-ns = <168>;
124 i2c-scl-falling-time-ns = <4>;
128 compatible = "rockchip,rk818";
130 interrupt-parent = <&gpio1>;
131 interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>;
133 clock-output-names = "xin32k", "rk808-clkout2";
134 pinctrl-names = "default";
135 pinctrl-0 = <&pmic_int_l>;
136 rockchip,system-power-controller;
139 vcc1-supply = <&vcc_sys>;
140 vcc2-supply = <&vcc_sys>;
141 vcc3-supply = <&vcc_sys>;
142 vcc4-supply = <&vcc_sys>;
143 vcc6-supply = <&vcc_sys>;
144 vcc7-supply = <&vcc3v3_sys>;
145 vcc8-supply = <&vcc_sys>;
146 vcc9-supply = <&vcc3v3_sys>;
149 vdd_cpu_l: DCDC_REG1 {
150 regulator-name = "vdd_cpu_l";
153 regulator-min-microvolt = <875000>;
154 regulator-max-microvolt = <975000>;
155 regulator-ramp-delay = <6001>;
156 regulator-state-mem {
157 regulator-off-in-suspend;
161 vdd_center: DCDC_REG2 {
162 regulator-name = "vdd_center";
165 regulator-min-microvolt = <800000>;
166 regulator-max-microvolt = <1000000>;
167 regulator-ramp-delay = <6001>;
168 regulator-state-mem {
169 regulator-off-in-suspend;
174 regulator-name = "vcc_ddr";
177 regulator-state-mem {
178 regulator-on-in-suspend;
183 regulator-name = "vcc_1v8";
186 regulator-min-microvolt = <1800000>;
187 regulator-max-microvolt = <1800000>;
188 regulator-state-mem {
189 regulator-on-in-suspend;
193 vcca3v0_codec: LDO_REG1 {
194 regulator-name = "vcca3v0_codec";
195 regulator-min-microvolt = <3000000>;
196 regulator-max-microvolt = <3000000>;
199 vcc3v0_touch: LDO_REG2 {
200 regulator-name = "vcc3v0_touch";
201 regulator-min-microvolt = <3000000>;
202 regulator-max-microvolt = <3000000>;
205 vcca1v8_codec: LDO_REG3 {
206 regulator-name = "vcca1v8_codec";
207 regulator-min-microvolt = <1800000>;
208 regulator-max-microvolt = <1800000>;
211 rk818_pwr_on: LDO_REG4 {
212 regulator-name = "rk818_pwr_on";
215 regulator-min-microvolt = <3300000>;
216 regulator-max-microvolt = <3300000>;
217 regulator-state-mem {
218 regulator-on-in-suspend;
223 regulator-name = "vcc_3v0";
226 regulator-min-microvolt = <3000000>;
227 regulator-max-microvolt = <3000000>;
228 regulator-state-mem {
229 regulator-on-in-suspend;
234 regulator-name = "vcc_1v5";
237 regulator-min-microvolt = <1500000>;
238 regulator-max-microvolt = <1500000>;
239 regulator-state-mem {
240 regulator-on-in-suspend;
244 vcc1v8_dvp: LDO_REG7 {
245 regulator-name = "vcc1v8_dvp";
246 regulator-min-microvolt = <1800000>;
247 regulator-max-microvolt = <1800000>;
250 vcc3v3_s3: LDO_REG8 {
251 regulator-name = "vcc3v3_s3";
254 regulator-min-microvolt = <3300000>;
255 regulator-max-microvolt = <3300000>;
256 regulator-state-mem {
257 regulator-off-in-suspend;
262 regulator-name = "vccio_sd";
263 regulator-min-microvolt = <1800000>;
264 regulator-max-microvolt = <3300000>;
267 vcc3v3_s0: SWITCH_REG {
268 regulator-name = "vcc3v3_s0";
271 regulator-state-mem {
272 regulator-on-in-suspend;
278 vdd_cpu_b: regulator@40 {
279 compatible = "silergy,syr827";
281 fcs,suspend-voltage-selector = <1>;
282 pinctrl-names = "default";
283 pinctrl-0 = <&vsel1_pin>;
284 regulator-name = "vdd_cpu_b";
285 regulator-min-microvolt = <875000>;
286 regulator-max-microvolt = <1150000>;
287 regulator-ramp-delay = <1000>;
291 regulator-state-mem {
292 regulator-off-in-suspend;
296 vdd_gpu: regulator@41 {
297 compatible = "silergy,syr828";
299 fcs,suspend-voltage-selector = <1>;
300 pinctrl-names = "default";
301 pinctrl-0 = <&vsel2_pin>;
302 regulator-name = "vdd_gpu";
303 regulator-min-microvolt = <875000>;
304 regulator-max-microvolt = <975000>;
305 regulator-ramp-delay = <1000>;
309 regulator-state-mem {
310 regulator-off-in-suspend;
327 opp-hz = /bits/ 64 <1500000000>;
328 opp-microvolt = <1100000 1100000 1150000>;
337 bt656-supply = <&vcc1v8_dvp>;
338 audio-supply = <&vcca1v8_codec>;
339 sdmmc-supply = <&vccio_sd>;
340 gpio1830-supply = <&vcc_3v0>;
345 pmu1830-supply = <&vcc_1v8>;
351 pwrbtn_pin: pwrbtn-pin {
352 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
357 pmic_int_l: pmic-int-l {
358 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
361 vsel1_pin: vsel1-pin {
362 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
365 vsel2_pin: vsel2-pin {
366 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
371 vcc1v8_codec_en: vcc1v8-codec-en {
372 rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
380 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
382 max-frequency = <150000000>;
383 pinctrl-names = "default";
384 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
385 vmmc-supply = <&vcc3v3_sys>;
386 vqmmc-supply = <&vccio_sd>;
398 rockchip,hw-tshut-mode = <1>;
399 rockchip,hw-tshut-polarity = <1>;