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 clkin_gmac: external-gmac-clock { 1648853353SJagan Teki compatible = "fixed-clock"; 1748853353SJagan Teki clock-frequency = <125000000>; 1848853353SJagan Teki clock-output-names = "clkin_gmac"; 1948853353SJagan Teki #clock-cells = <0>; 2048853353SJagan Teki }; 2148853353SJagan Teki 2248853353SJagan Teki vcc12v_dcin: vcc12v-dcin-regulator { 2348853353SJagan Teki compatible = "regulator-fixed"; 2448853353SJagan Teki regulator-name = "vcc12v_dcin"; 2548853353SJagan Teki regulator-always-on; 2648853353SJagan Teki regulator-boot-on; 2748853353SJagan Teki regulator-min-microvolt = <12000000>; 2848853353SJagan Teki regulator-max-microvolt = <12000000>; 2948853353SJagan Teki }; 3048853353SJagan Teki 3148853353SJagan Teki vcc5v0_sys: vcc5v0-sys-regulator { 3248853353SJagan Teki compatible = "regulator-fixed"; 3348853353SJagan Teki regulator-name = "vcc5v0_sys"; 3448853353SJagan Teki regulator-always-on; 3548853353SJagan Teki regulator-boot-on; 3648853353SJagan Teki regulator-min-microvolt = <5000000>; 3748853353SJagan Teki regulator-max-microvolt = <5000000>; 3848853353SJagan Teki vin-supply = <&vcc12v_dcin>; 3948853353SJagan Teki }; 4048853353SJagan Teki}; 4148853353SJagan Teki 4248853353SJagan Teki&cpu_l0 { 4348853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 4448853353SJagan Teki}; 4548853353SJagan Teki 4648853353SJagan Teki&cpu_l1 { 4748853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 4848853353SJagan Teki}; 4948853353SJagan Teki 5048853353SJagan Teki&cpu_l2 { 5148853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 5248853353SJagan Teki}; 5348853353SJagan Teki 5448853353SJagan Teki&cpu_l3 { 5548853353SJagan Teki cpu-supply = <&vdd_cpu_l>; 5648853353SJagan Teki}; 5748853353SJagan Teki 5848853353SJagan Teki&emmc_phy { 5948853353SJagan Teki status = "okay"; 6048853353SJagan Teki}; 6148853353SJagan Teki 6248853353SJagan Teki&gmac { 6348853353SJagan Teki assigned-clocks = <&cru SCLK_RMII_SRC>; 6448853353SJagan Teki assigned-clock-parents = <&clkin_gmac>; 6548853353SJagan Teki clock_in_out = "input"; 6648853353SJagan Teki phy-supply = <&vcc_lan>; 6748853353SJagan Teki phy-mode = "rgmii"; 6848853353SJagan Teki pinctrl-names = "default"; 6948853353SJagan Teki pinctrl-0 = <&rgmii_pins>; 7048853353SJagan Teki snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 7148853353SJagan Teki snps,reset-active-low; 7248853353SJagan Teki snps,reset-delays-us = <0 10000 50000>; 7348853353SJagan Teki tx_delay = <0x28>; 7448853353SJagan Teki rx_delay = <0x11>; 7548853353SJagan Teki}; 7648853353SJagan Teki 7748853353SJagan Teki&i2c0 { 7848853353SJagan Teki clock-frequency = <400000>; 7948853353SJagan Teki i2c-scl-rising-time-ns = <180>; 8048853353SJagan Teki i2c-scl-falling-time-ns = <30>; 8148853353SJagan Teki status = "okay"; 8248853353SJagan Teki 8348853353SJagan Teki rk809: pmic@20 { 8448853353SJagan Teki compatible = "rockchip,rk809"; 8548853353SJagan Teki reg = <0x20>; 8648853353SJagan Teki interrupt-parent = <&gpio1>; 8748853353SJagan Teki interrupts = <RK_PC2 IRQ_TYPE_LEVEL_LOW>; 8848853353SJagan Teki #clock-cells = <1>; 8948853353SJagan Teki clock-output-names = "rk808-clkout1", "rk808-clkout2"; 9048853353SJagan Teki pinctrl-names = "default"; 9148853353SJagan Teki pinctrl-0 = <&pmic_int_l>; 9248853353SJagan Teki rockchip,system-power-controller; 9348853353SJagan Teki wakeup-source; 9448853353SJagan Teki 9548853353SJagan Teki vcc1-supply = <&vcc5v0_sys>; 9648853353SJagan Teki vcc2-supply = <&vcc5v0_sys>; 9748853353SJagan Teki vcc3-supply = <&vcc5v0_sys>; 9848853353SJagan Teki vcc4-supply = <&vcc5v0_sys>; 9948853353SJagan Teki vcc5-supply = <&vcc_buck5>; 10048853353SJagan Teki vcc6-supply = <&vcc_buck5>; 10148853353SJagan Teki vcc7-supply = <&vcc5v0_sys>; 10248853353SJagan Teki vcc8-supply = <&vcc3v3_sys>; 10348853353SJagan Teki vcc9-supply = <&vcc5v0_sys>; 10448853353SJagan Teki 10548853353SJagan Teki regulators { 10648853353SJagan Teki vdd_log: DCDC_REG1 { 10748853353SJagan Teki regulator-name = "vdd_log"; 10848853353SJagan Teki regulator-always-on; 10948853353SJagan Teki regulator-boot-on; 11048853353SJagan Teki regulator-min-microvolt = <750000>; 11148853353SJagan Teki regulator-max-microvolt = <1350000>; 11248853353SJagan Teki regulator-initial-mode = <0x2>; 11348853353SJagan Teki regulator-state-mem { 11448853353SJagan Teki regulator-off-in-suspend; 11548853353SJagan Teki regulator-suspend-microvolt = <900000>; 11648853353SJagan Teki }; 11748853353SJagan Teki }; 11848853353SJagan Teki 11948853353SJagan Teki vdd_cpu_l: DCDC_REG2 { 12048853353SJagan Teki regulator-name = "vdd_cpu_l"; 12148853353SJagan Teki regulator-always-on; 12248853353SJagan Teki regulator-boot-on; 12348853353SJagan Teki regulator-min-microvolt = <750000>; 12448853353SJagan Teki regulator-max-microvolt = <1350000>; 12548853353SJagan Teki regulator-ramp-delay = <6001>; 12648853353SJagan Teki regulator-initial-mode = <0x2>; 12748853353SJagan Teki regulator-state-mem { 12848853353SJagan Teki regulator-off-in-suspend; 12948853353SJagan Teki }; 13048853353SJagan Teki }; 13148853353SJagan Teki 13248853353SJagan Teki vcc_ddr: DCDC_REG3 { 13348853353SJagan Teki regulator-name = "vcc_ddr"; 13448853353SJagan Teki regulator-always-on; 13548853353SJagan Teki regulator-boot-on; 13648853353SJagan Teki regulator-initial-mode = <0x2>; 13748853353SJagan Teki regulator-state-mem { 13848853353SJagan Teki regulator-on-in-suspend; 13948853353SJagan Teki }; 14048853353SJagan Teki }; 14148853353SJagan Teki 14248853353SJagan Teki vcc3v3_sys: DCDC_REG4 { 14348853353SJagan Teki regulator-name = "vcc3v3_sys"; 14448853353SJagan Teki regulator-always-on; 14548853353SJagan Teki regulator-boot-on; 14648853353SJagan Teki regulator-min-microvolt = <3300000>; 14748853353SJagan Teki regulator-max-microvolt = <3300000>; 14848853353SJagan Teki regulator-initial-mode = <0x2>; 14948853353SJagan Teki regulator-state-mem { 15048853353SJagan Teki regulator-on-in-suspend; 15148853353SJagan Teki regulator-suspend-microvolt = <3300000>; 15248853353SJagan Teki }; 15348853353SJagan Teki }; 15448853353SJagan Teki 15548853353SJagan Teki vcc_buck5: DCDC_REG5 { 15648853353SJagan Teki regulator-name = "vcc_buck5"; 15748853353SJagan Teki regulator-always-on; 15848853353SJagan Teki regulator-boot-on; 15948853353SJagan Teki regulator-min-microvolt = <2200000>; 16048853353SJagan Teki regulator-max-microvolt = <2200000>; 16148853353SJagan Teki regulator-state-mem { 16248853353SJagan Teki regulator-on-in-suspend; 16348853353SJagan Teki regulator-suspend-microvolt = <2200000>; 16448853353SJagan Teki }; 16548853353SJagan Teki }; 16648853353SJagan Teki 16748853353SJagan Teki vcca_0v9: LDO_REG1 { 16848853353SJagan Teki regulator-name = "vcca_0v9"; 16948853353SJagan Teki regulator-always-on; 17048853353SJagan Teki regulator-boot-on; 17148853353SJagan Teki regulator-min-microvolt = <900000>; 17248853353SJagan Teki regulator-max-microvolt = <900000>; 17348853353SJagan Teki regulator-state-mem { 17448853353SJagan Teki regulator-off-in-suspend; 17548853353SJagan Teki }; 17648853353SJagan Teki }; 17748853353SJagan Teki 17848853353SJagan Teki vcc_1v8: LDO_REG2 { 17948853353SJagan Teki regulator-name = "vcc_1v8"; 18048853353SJagan Teki regulator-always-on; 18148853353SJagan Teki regulator-boot-on; 18248853353SJagan Teki regulator-min-microvolt = <1800000>; 18348853353SJagan Teki regulator-max-microvolt = <1800000>; 18448853353SJagan Teki regulator-state-mem { 18548853353SJagan Teki regulator-on-in-suspend; 18648853353SJagan Teki regulator-suspend-microvolt = <1800000>; 18748853353SJagan Teki }; 18848853353SJagan Teki }; 18948853353SJagan Teki 19048853353SJagan Teki vcc_0v9: LDO_REG3 { 19148853353SJagan Teki regulator-name = "vcc_0v9"; 19248853353SJagan Teki regulator-always-on; 19348853353SJagan Teki regulator-boot-on; 19448853353SJagan Teki regulator-min-microvolt = <900000>; 19548853353SJagan Teki regulator-max-microvolt = <900000>; 19648853353SJagan Teki regulator-state-mem { 19748853353SJagan Teki regulator-on-in-suspend; 19848853353SJagan Teki regulator-suspend-microvolt = <900000>; 19948853353SJagan Teki }; 20048853353SJagan Teki }; 20148853353SJagan Teki 20248853353SJagan Teki vcca_1v8: LDO_REG4 { 20348853353SJagan Teki regulator-name = "vcca_1v8"; 20448853353SJagan Teki regulator-always-on; 20548853353SJagan Teki regulator-boot-on; 20648853353SJagan Teki regulator-min-microvolt = <1850000>; 20748853353SJagan Teki regulator-max-microvolt = <1850000>; 20848853353SJagan Teki regulator-state-mem { 20948853353SJagan Teki regulator-off-in-suspend; 21048853353SJagan Teki }; 21148853353SJagan Teki }; 21248853353SJagan Teki 21348853353SJagan Teki /* 21448853353SJagan Teki * As per BSP, but schematic not showing any regulator 21548853353SJagan Teki * pin for LD05. 21648853353SJagan Teki */ 21748853353SJagan Teki vdd1v5_dvp: LDO_REG5 { 21848853353SJagan Teki regulator-name = "vdd1v5_dvp"; 21948853353SJagan Teki regulator-always-on; 22048853353SJagan Teki regulator-boot-on; 22148853353SJagan Teki regulator-min-microvolt = <1500000>; 22248853353SJagan Teki regulator-max-microvolt = <1500000>; 22348853353SJagan Teki regulator-state-mem { 22448853353SJagan Teki regulator-off-in-suspend; 22548853353SJagan Teki }; 22648853353SJagan Teki }; 22748853353SJagan Teki 22848853353SJagan Teki vcc_1v5: LDO_REG6 { 22948853353SJagan Teki regulator-name = "vcc_1v5"; 23048853353SJagan Teki regulator-always-on; 23148853353SJagan Teki regulator-boot-on; 23248853353SJagan Teki regulator-min-microvolt = <1500000>; 23348853353SJagan Teki regulator-max-microvolt = <1500000>; 23448853353SJagan Teki regulator-state-mem { 23548853353SJagan Teki regulator-off-in-suspend; 23648853353SJagan Teki }; 23748853353SJagan Teki }; 23848853353SJagan Teki 23948853353SJagan Teki vccio_3v0: LDO_REG7 { 24048853353SJagan Teki regulator-name = "vccio_3v0"; 24148853353SJagan Teki regulator-always-on; 24248853353SJagan Teki regulator-boot-on; 24348853353SJagan Teki regulator-min-microvolt = <3000000>; 24448853353SJagan Teki regulator-max-microvolt = <3000000>; 24548853353SJagan Teki regulator-state-mem { 24648853353SJagan Teki regulator-off-in-suspend; 24748853353SJagan Teki }; 24848853353SJagan Teki }; 24948853353SJagan Teki 25048853353SJagan Teki vccio_sd: LDO_REG8 { 25148853353SJagan Teki regulator-name = "vccio_sd"; 25248853353SJagan Teki regulator-always-on; 25348853353SJagan Teki regulator-boot-on; 25448853353SJagan Teki regulator-min-microvolt = <1800000>; 25548853353SJagan Teki regulator-max-microvolt = <3300000>; 25648853353SJagan Teki regulator-state-mem { 25748853353SJagan Teki regulator-off-in-suspend; 25848853353SJagan Teki }; 25948853353SJagan Teki }; 26048853353SJagan Teki 26148853353SJagan Teki /* 26248853353SJagan Teki * As per BSP, but schematic not showing any regulator 26348853353SJagan Teki * pin for LD09. 26448853353SJagan Teki */ 26548853353SJagan Teki vcc_sd: LDO_REG9 { 26648853353SJagan Teki regulator-name = "vcc_sd"; 26748853353SJagan Teki regulator-always-on; 26848853353SJagan Teki regulator-boot-on; 26948853353SJagan Teki regulator-min-microvolt = <3300000>; 27048853353SJagan Teki regulator-max-microvolt = <3300000>; 27148853353SJagan Teki regulator-state-mem { 27248853353SJagan Teki regulator-off-in-suspend; 27348853353SJagan Teki }; 27448853353SJagan Teki }; 27548853353SJagan Teki 27648853353SJagan Teki vcc5v0_usb2: SWITCH_REG1 { 27748853353SJagan Teki regulator-name = "vcc5v0_usb2"; 27848853353SJagan Teki regulator-min-microvolt = <5000000>; 27948853353SJagan Teki regulator-max-microvolt = <5000000>; 28048853353SJagan Teki regulator-state-mem { 28148853353SJagan Teki regulator-on-in-suspend; 28248853353SJagan Teki regulator-suspend-microvolt = <5000000>; 28348853353SJagan Teki }; 28448853353SJagan Teki }; 28548853353SJagan Teki 28648853353SJagan Teki vccio_3v3: vcc_lan: SWITCH_REG2 { 28748853353SJagan Teki regulator-name = "vccio_3v3"; 28848853353SJagan Teki regulator-always-on; 28948853353SJagan Teki regulator-boot-on; 29048853353SJagan Teki regulator-min-microvolt = <3300000>; 29148853353SJagan Teki regulator-max-microvolt = <3300000>; 29248853353SJagan Teki regulator-state-mem { 29348853353SJagan Teki regulator-off-in-suspend; 29448853353SJagan Teki }; 29548853353SJagan Teki }; 29648853353SJagan Teki }; 29748853353SJagan Teki }; 29848853353SJagan Teki}; 29948853353SJagan Teki 30048853353SJagan Teki&io_domains { 30148853353SJagan Teki status = "okay"; 30248853353SJagan Teki bt656-supply = <&vcca_1v8>; 30348853353SJagan Teki sdmmc-supply = <&vccio_sd>; 30448853353SJagan Teki gpio1830-supply = <&vccio_3v0>; 30548853353SJagan Teki}; 30648853353SJagan Teki 30748853353SJagan Teki&pmu_io_domains { 30848853353SJagan Teki status = "okay"; 30948853353SJagan Teki pmu1830-supply = <&vcc_1v8>; 31048853353SJagan Teki}; 31148853353SJagan Teki 31248853353SJagan Teki&sdhci { 31348853353SJagan Teki bus-width = <8>; 31448853353SJagan Teki mmc-hs400-1_8v; 31548853353SJagan Teki mmc-hs400-enhanced-strobe; 31648853353SJagan Teki non-removable; 31748853353SJagan Teki status = "okay"; 31848853353SJagan Teki}; 31948853353SJagan Teki 32048853353SJagan Teki&tsadc { 32148853353SJagan Teki status = "okay"; 32248853353SJagan Teki rockchip,hw-tshut-mode = <1>; 32348853353SJagan Teki rockchip,hw-tshut-polarity = <1>; 32448853353SJagan Teki}; 32548853353SJagan Teki 32648853353SJagan Teki&pinctrl { 32748853353SJagan Teki pmic { 32848853353SJagan Teki pmic_int_l: pmic-int-l { 32948853353SJagan Teki rockchip,pins = 33048853353SJagan Teki <1 RK_PC2 0 &pcfg_pull_up>; 33148853353SJagan Teki }; 33248853353SJagan Teki }; 33348853353SJagan Teki}; 334