148853353SJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 248853353SJagan Teki/* 348853353SJagan Teki * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd 448853353SJagan Teki * Copyright (c) 2019 Vamrs Limited 548853353SJagan Teki * Copyright (c) 2019 Amarula Solutions(India) 648853353SJagan Teki */ 748853353SJagan Teki 848853353SJagan Teki#include <dt-bindings/gpio/gpio.h> 948853353SJagan Teki#include <dt-bindings/pinctrl/rockchip.h> 1048853353SJagan Teki#include <dt-bindings/pwm/pwm.h> 1148853353SJagan Teki 1248853353SJagan Teki/ { 1348853353SJagan Teki compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro"; 1448853353SJagan Teki}; 1548853353SJagan Teki 1648853353SJagan Teki&cpu_l0 { 1748853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 1848853353SJagan Teki}; 1948853353SJagan Teki 2048853353SJagan Teki&cpu_l1 { 2148853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 2248853353SJagan Teki}; 2348853353SJagan Teki 2448853353SJagan Teki&cpu_l2 { 2548853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 2648853353SJagan Teki}; 2748853353SJagan Teki 2848853353SJagan Teki&cpu_l3 { 2948853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 3048853353SJagan Teki}; 3148853353SJagan Teki 3248853353SJagan Teki&emmc_phy { 3348853353SJagan Teki status = "okay"; 3448853353SJagan Teki}; 3548853353SJagan Teki 3648853353SJagan Teki&gmac { 3748853353SJagan Teki assigned-clocks = <&cru SCLK_RMII_SRC>; 3848853353SJagan Teki phy-supply = <&vcc_lan>; 3948853353SJagan Teki snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 4048853353SJagan Teki}; 4148853353SJagan Teki 4248853353SJagan Teki&i2c0 { 4348853353SJagan Teki clock-frequency = <400000>; 4448853353SJagan Teki i2c-scl-falling-time-ns = <30>; 453047b384SJagan Teki i2c-scl-rising-time-ns = <180>; 4648853353SJagan Teki status = "okay"; 4748853353SJagan Teki 4848853353SJagan Teki rk809: pmic@20 { 4948853353SJagan Teki compatible = "rockchip,rk809"; 5048853353SJagan Teki reg = <0x20>; 5148853353SJagan Teki interrupt-parent = <&gpio1>; 5248853353SJagan Teki interrupts = <RK_PC2 IRQ_TYPE_LEVEL_LOW>; 5348853353SJagan Teki #clock-cells = <1>; 5448853353SJagan Teki clock-output-names = "rk808-clkout1", "rk808-clkout2"; 5548853353SJagan Teki pinctrl-names = "default"; 5648853353SJagan Teki pinctrl-0 = <&pmic_int_l>; 5748853353SJagan Teki rockchip,system-power-controller; 5848853353SJagan Teki wakeup-source; 5948853353SJagan Teki 6048853353SJagan Teki vcc1-supply = <&vcc5v0_sys>; 6148853353SJagan Teki vcc2-supply = <&vcc5v0_sys>; 6248853353SJagan Teki vcc3-supply = <&vcc5v0_sys>; 6348853353SJagan Teki vcc4-supply = <&vcc5v0_sys>; 6448853353SJagan Teki vcc5-supply = <&vcc_buck5>; 6548853353SJagan Teki vcc6-supply = <&vcc_buck5>; 6648853353SJagan Teki vcc7-supply = <&vcc5v0_sys>; 6748853353SJagan Teki vcc8-supply = <&vcc3v3_sys>; 6848853353SJagan Teki vcc9-supply = <&vcc5v0_sys>; 6948853353SJagan Teki 7048853353SJagan Teki regulators { 7148853353SJagan Teki vdd_log: DCDC_REG1 { 7248853353SJagan Teki regulator-name = "vdd_log"; 7348853353SJagan Teki regulator-always-on; 7448853353SJagan Teki regulator-boot-on; 7548853353SJagan Teki regulator-min-microvolt = <750000>; 7648853353SJagan Teki regulator-max-microvolt = <1350000>; 7748853353SJagan Teki regulator-initial-mode = <0x2>; 7848853353SJagan Teki regulator-state-mem { 7948853353SJagan Teki regulator-off-in-suspend; 8048853353SJagan Teki regulator-suspend-microvolt = <900000>; 8148853353SJagan Teki }; 8248853353SJagan Teki }; 8348853353SJagan Teki 8448853353SJagan Teki vdd_cpu_l: DCDC_REG2 { 8548853353SJagan Teki regulator-name = "vdd_cpu_l"; 8648853353SJagan Teki regulator-always-on; 8748853353SJagan Teki regulator-boot-on; 8848853353SJagan Teki regulator-min-microvolt = <750000>; 8948853353SJagan Teki regulator-max-microvolt = <1350000>; 9048853353SJagan Teki regulator-ramp-delay = <6001>; 9148853353SJagan Teki regulator-initial-mode = <0x2>; 9248853353SJagan Teki regulator-state-mem { 9348853353SJagan Teki regulator-off-in-suspend; 9448853353SJagan Teki }; 9548853353SJagan Teki }; 9648853353SJagan Teki 9748853353SJagan Teki vcc_ddr: DCDC_REG3 { 9848853353SJagan Teki regulator-name = "vcc_ddr"; 9948853353SJagan Teki regulator-always-on; 10048853353SJagan Teki regulator-boot-on; 10148853353SJagan Teki regulator-initial-mode = <0x2>; 10248853353SJagan Teki regulator-state-mem { 10348853353SJagan Teki regulator-on-in-suspend; 10448853353SJagan Teki }; 10548853353SJagan Teki }; 10648853353SJagan Teki 10748853353SJagan Teki vcc3v3_sys: DCDC_REG4 { 10848853353SJagan Teki regulator-name = "vcc3v3_sys"; 10948853353SJagan Teki regulator-always-on; 11048853353SJagan Teki regulator-boot-on; 11148853353SJagan Teki regulator-min-microvolt = <3300000>; 11248853353SJagan Teki regulator-max-microvolt = <3300000>; 11348853353SJagan Teki regulator-initial-mode = <0x2>; 11448853353SJagan Teki regulator-state-mem { 11548853353SJagan Teki regulator-on-in-suspend; 11648853353SJagan Teki regulator-suspend-microvolt = <3300000>; 11748853353SJagan Teki }; 11848853353SJagan Teki }; 11948853353SJagan Teki 12048853353SJagan Teki vcc_buck5: DCDC_REG5 { 12148853353SJagan Teki regulator-name = "vcc_buck5"; 12248853353SJagan Teki regulator-always-on; 12348853353SJagan Teki regulator-boot-on; 12448853353SJagan Teki regulator-min-microvolt = <2200000>; 12548853353SJagan Teki regulator-max-microvolt = <2200000>; 12648853353SJagan Teki regulator-state-mem { 12748853353SJagan Teki regulator-on-in-suspend; 12848853353SJagan Teki regulator-suspend-microvolt = <2200000>; 12948853353SJagan Teki }; 13048853353SJagan Teki }; 13148853353SJagan Teki 13248853353SJagan Teki vcca_0v9: LDO_REG1 { 13348853353SJagan Teki regulator-name = "vcca_0v9"; 13448853353SJagan Teki regulator-always-on; 13548853353SJagan Teki regulator-boot-on; 13648853353SJagan Teki regulator-min-microvolt = <900000>; 13748853353SJagan Teki regulator-max-microvolt = <900000>; 13848853353SJagan Teki regulator-state-mem { 13948853353SJagan Teki regulator-off-in-suspend; 14048853353SJagan Teki }; 14148853353SJagan Teki }; 14248853353SJagan Teki 14348853353SJagan Teki vcc_1v8: LDO_REG2 { 14448853353SJagan Teki regulator-name = "vcc_1v8"; 14548853353SJagan Teki regulator-always-on; 14648853353SJagan Teki regulator-boot-on; 14748853353SJagan Teki regulator-min-microvolt = <1800000>; 14848853353SJagan Teki regulator-max-microvolt = <1800000>; 14948853353SJagan Teki regulator-state-mem { 15048853353SJagan Teki regulator-on-in-suspend; 15148853353SJagan Teki regulator-suspend-microvolt = <1800000>; 15248853353SJagan Teki }; 15348853353SJagan Teki }; 15448853353SJagan Teki 15548853353SJagan Teki vcc_0v9: LDO_REG3 { 15648853353SJagan Teki regulator-name = "vcc_0v9"; 15748853353SJagan Teki regulator-always-on; 15848853353SJagan Teki regulator-boot-on; 15948853353SJagan Teki regulator-min-microvolt = <900000>; 16048853353SJagan Teki regulator-max-microvolt = <900000>; 16148853353SJagan Teki regulator-state-mem { 16248853353SJagan Teki regulator-on-in-suspend; 16348853353SJagan Teki regulator-suspend-microvolt = <900000>; 16448853353SJagan Teki }; 16548853353SJagan Teki }; 16648853353SJagan Teki 16748853353SJagan Teki vcca_1v8: LDO_REG4 { 16848853353SJagan Teki regulator-name = "vcca_1v8"; 16948853353SJagan Teki regulator-always-on; 17048853353SJagan Teki regulator-boot-on; 17148853353SJagan Teki regulator-min-microvolt = <1850000>; 17248853353SJagan Teki regulator-max-microvolt = <1850000>; 17348853353SJagan Teki regulator-state-mem { 17448853353SJagan Teki regulator-off-in-suspend; 17548853353SJagan Teki }; 17648853353SJagan Teki }; 17748853353SJagan Teki 17848853353SJagan Teki /* 17948853353SJagan Teki * As per BSP, but schematic not showing any regulator 18048853353SJagan Teki * pin for LD05. 18148853353SJagan Teki */ 18248853353SJagan Teki vdd1v5_dvp: LDO_REG5 { 18348853353SJagan Teki regulator-name = "vdd1v5_dvp"; 18448853353SJagan Teki regulator-always-on; 18548853353SJagan Teki regulator-boot-on; 18648853353SJagan Teki regulator-min-microvolt = <1500000>; 18748853353SJagan Teki regulator-max-microvolt = <1500000>; 18848853353SJagan Teki regulator-state-mem { 18948853353SJagan Teki regulator-off-in-suspend; 19048853353SJagan Teki }; 19148853353SJagan Teki }; 19248853353SJagan Teki 19348853353SJagan Teki vcc_1v5: LDO_REG6 { 19448853353SJagan Teki regulator-name = "vcc_1v5"; 19548853353SJagan Teki regulator-always-on; 19648853353SJagan Teki regulator-boot-on; 19748853353SJagan Teki regulator-min-microvolt = <1500000>; 19848853353SJagan Teki regulator-max-microvolt = <1500000>; 19948853353SJagan Teki regulator-state-mem { 20048853353SJagan Teki regulator-off-in-suspend; 20148853353SJagan Teki }; 20248853353SJagan Teki }; 20348853353SJagan Teki 20448853353SJagan Teki vccio_3v0: LDO_REG7 { 20548853353SJagan Teki regulator-name = "vccio_3v0"; 20648853353SJagan Teki regulator-always-on; 20748853353SJagan Teki regulator-boot-on; 20848853353SJagan Teki regulator-min-microvolt = <3000000>; 20948853353SJagan Teki regulator-max-microvolt = <3000000>; 21048853353SJagan Teki regulator-state-mem { 21148853353SJagan Teki regulator-off-in-suspend; 21248853353SJagan Teki }; 21348853353SJagan Teki }; 21448853353SJagan Teki 21548853353SJagan Teki vccio_sd: LDO_REG8 { 21648853353SJagan Teki regulator-name = "vccio_sd"; 21748853353SJagan Teki regulator-always-on; 21848853353SJagan Teki regulator-boot-on; 21948853353SJagan Teki regulator-min-microvolt = <1800000>; 22048853353SJagan Teki regulator-max-microvolt = <3300000>; 22148853353SJagan Teki regulator-state-mem { 22248853353SJagan Teki regulator-off-in-suspend; 22348853353SJagan Teki }; 22448853353SJagan Teki }; 22548853353SJagan Teki 22648853353SJagan Teki /* 22748853353SJagan Teki * As per BSP, but schematic not showing any regulator 22848853353SJagan Teki * pin for LD09. 22948853353SJagan Teki */ 23048853353SJagan Teki vcc_sd: LDO_REG9 { 23148853353SJagan Teki regulator-name = "vcc_sd"; 23248853353SJagan Teki regulator-always-on; 23348853353SJagan Teki regulator-boot-on; 23448853353SJagan Teki regulator-min-microvolt = <3300000>; 23548853353SJagan Teki regulator-max-microvolt = <3300000>; 23648853353SJagan Teki regulator-state-mem { 23748853353SJagan Teki regulator-off-in-suspend; 23848853353SJagan Teki }; 23948853353SJagan Teki }; 24048853353SJagan Teki 24148853353SJagan Teki vcc5v0_usb2: SWITCH_REG1 { 24248853353SJagan Teki regulator-name = "vcc5v0_usb2"; 24348853353SJagan Teki regulator-min-microvolt = <5000000>; 24448853353SJagan Teki regulator-max-microvolt = <5000000>; 24548853353SJagan Teki regulator-state-mem { 24648853353SJagan Teki regulator-on-in-suspend; 24748853353SJagan Teki regulator-suspend-microvolt = <5000000>; 24848853353SJagan Teki }; 24948853353SJagan Teki }; 25048853353SJagan Teki 25148853353SJagan Teki vccio_3v3: vcc_lan: SWITCH_REG2 { 25248853353SJagan Teki regulator-name = "vccio_3v3"; 25348853353SJagan Teki regulator-always-on; 25448853353SJagan Teki regulator-boot-on; 25548853353SJagan Teki regulator-min-microvolt = <3300000>; 25648853353SJagan Teki regulator-max-microvolt = <3300000>; 25748853353SJagan Teki regulator-state-mem { 25848853353SJagan Teki regulator-off-in-suspend; 25948853353SJagan Teki }; 26048853353SJagan Teki }; 26148853353SJagan Teki }; 26248853353SJagan Teki }; 26348853353SJagan Teki}; 26448853353SJagan Teki 265c2f34351SJagan Teki&i2c1 { 266c2f34351SJagan Teki i2c-scl-falling-time-ns = <30>; 267c2f34351SJagan Teki i2c-scl-rising-time-ns = <140>; 268c2f34351SJagan Teki status = "okay"; 269c2f34351SJagan Teki}; 270c2f34351SJagan Teki 271c2f34351SJagan Teki&i2c2 { 272c2f34351SJagan Teki clock-frequency = <400000>; 273c2f34351SJagan Teki status = "okay"; 274c2f34351SJagan Teki 275c2f34351SJagan Teki hym8563: hym8563@51 { 276c2f34351SJagan Teki compatible = "haoyu,hym8563"; 277c2f34351SJagan Teki reg = <0x51>; 278c2f34351SJagan Teki #clock-cells = <0>; 279c2f34351SJagan Teki clock-frequency = <32768>; 280c2f34351SJagan Teki clock-output-names = "hym8563"; 281c2f34351SJagan Teki pinctrl-names = "default"; 282c2f34351SJagan Teki pinctrl-0 = <&hym8563_int>; 283c2f34351SJagan Teki interrupt-parent = <&gpio4>; 284c2f34351SJagan Teki interrupts = <RK_PD6 IRQ_TYPE_LEVEL_LOW>; 285c2f34351SJagan Teki }; 286c2f34351SJagan Teki}; 287c2f34351SJagan Teki 28848853353SJagan Teki&io_domains { 28948853353SJagan Teki status = "okay"; 29048853353SJagan Teki bt656-supply = <&vcca_1v8>; 29148853353SJagan Teki gpio1830-supply = <&vccio_3v0>; 2923047b384SJagan Teki sdmmc-supply = <&vccio_sd>; 2933047b384SJagan Teki}; 2943047b384SJagan Teki 2953047b384SJagan Teki&pinctrl { 2963047b384SJagan Teki hym8563 { 2973047b384SJagan Teki hym8563_int: hym8563-int { 2983047b384SJagan Teki rockchip,pins = <4 RK_PD6 0 &pcfg_pull_up>; 2993047b384SJagan Teki }; 3003047b384SJagan Teki }; 3013047b384SJagan Teki 3023047b384SJagan Teki pmic { 3033047b384SJagan Teki pmic_int_l: pmic-int-l { 3043047b384SJagan Teki rockchip,pins = <1 RK_PC2 0 &pcfg_pull_up>; 3053047b384SJagan Teki }; 3063047b384SJagan Teki }; 30748853353SJagan Teki}; 30848853353SJagan Teki 30948853353SJagan Teki&pmu_io_domains { 31048853353SJagan Teki status = "okay"; 31148853353SJagan Teki pmu1830-supply = <&vcc_1v8>; 31248853353SJagan Teki}; 31348853353SJagan Teki 31448853353SJagan Teki&sdhci { 31548853353SJagan Teki bus-width = <8>; 31648853353SJagan Teki mmc-hs400-1_8v; 31748853353SJagan Teki mmc-hs400-enhanced-strobe; 31848853353SJagan Teki non-removable; 31948853353SJagan Teki status = "okay"; 32048853353SJagan Teki}; 32148853353SJagan Teki 322a66bd94dSJagan Teki&sdmmc { 323a66bd94dSJagan Teki cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 324a66bd94dSJagan Teki max-frequency = <150000000>; 325a66bd94dSJagan Teki}; 326a66bd94dSJagan Teki 32748853353SJagan Teki&tsadc { 32848853353SJagan Teki rockchip,hw-tshut-mode = <1>; 32948853353SJagan Teki rockchip,hw-tshut-polarity = <1>; 3303047b384SJagan Teki status = "okay"; 33148853353SJagan Teki}; 332