1*007b4bb4SFurkan Kardame// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*007b4bb4SFurkan Kardame/* 3*007b4bb4SFurkan Kardame * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4*007b4bb4SFurkan Kardame */ 5*007b4bb4SFurkan Kardame 6*007b4bb4SFurkan Kardame/dts-v1/; 7*007b4bb4SFurkan Kardame 8*007b4bb4SFurkan Kardame#include <dt-bindings/gpio/gpio.h> 9*007b4bb4SFurkan Kardame#include <dt-bindings/pinctrl/rockchip.h> 10*007b4bb4SFurkan Kardame#include <dt-bindings/soc/rockchip,vop2.h> 11*007b4bb4SFurkan Kardame#include "rk3568.dtsi" 12*007b4bb4SFurkan Kardame 13*007b4bb4SFurkan Kardame/ { 14*007b4bb4SFurkan Kardame model = "Firefly Station P2"; 15*007b4bb4SFurkan Kardame compatible = "firefly,rk3568-roc-pc", "rockchip,rk3568"; 16*007b4bb4SFurkan Kardame 17*007b4bb4SFurkan Kardame aliases { 18*007b4bb4SFurkan Kardame ethernet0 = &gmac0; 19*007b4bb4SFurkan Kardame ethernet1 = &gmac1; 20*007b4bb4SFurkan Kardame mmc0 = &sdmmc0; 21*007b4bb4SFurkan Kardame mmc1 = &sdhci; 22*007b4bb4SFurkan Kardame }; 23*007b4bb4SFurkan Kardame 24*007b4bb4SFurkan Kardame chosen: chosen { 25*007b4bb4SFurkan Kardame stdout-path = "serial2:1500000n8"; 26*007b4bb4SFurkan Kardame }; 27*007b4bb4SFurkan Kardame 28*007b4bb4SFurkan Kardame dc_12v: dc-12v-regulator { 29*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 30*007b4bb4SFurkan Kardame regulator-name = "dc_12v"; 31*007b4bb4SFurkan Kardame regulator-always-on; 32*007b4bb4SFurkan Kardame regulator-boot-on; 33*007b4bb4SFurkan Kardame regulator-min-microvolt = <12000000>; 34*007b4bb4SFurkan Kardame regulator-max-microvolt = <12000000>; 35*007b4bb4SFurkan Kardame }; 36*007b4bb4SFurkan Kardame 37*007b4bb4SFurkan Kardame gmac0_clkin: external-gmac0-clock { 38*007b4bb4SFurkan Kardame compatible = "fixed-clock"; 39*007b4bb4SFurkan Kardame clock-frequency = <125000000>; 40*007b4bb4SFurkan Kardame clock-output-names = "gmac0_clkin"; 41*007b4bb4SFurkan Kardame #clock-cells = <0>; 42*007b4bb4SFurkan Kardame }; 43*007b4bb4SFurkan Kardame 44*007b4bb4SFurkan Kardame gmac1_clkin: external-gmac1-clock { 45*007b4bb4SFurkan Kardame compatible = "fixed-clock"; 46*007b4bb4SFurkan Kardame clock-frequency = <125000000>; 47*007b4bb4SFurkan Kardame clock-output-names = "gmac1_clkin"; 48*007b4bb4SFurkan Kardame #clock-cells = <0>; 49*007b4bb4SFurkan Kardame }; 50*007b4bb4SFurkan Kardame 51*007b4bb4SFurkan Kardame leds { 52*007b4bb4SFurkan Kardame compatible = "gpio-leds"; 53*007b4bb4SFurkan Kardame 54*007b4bb4SFurkan Kardame led-user { 55*007b4bb4SFurkan Kardame label = "user-led"; 56*007b4bb4SFurkan Kardame default-state = "on"; 57*007b4bb4SFurkan Kardame gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; 58*007b4bb4SFurkan Kardame linux,default-trigger = "heartbeat"; 59*007b4bb4SFurkan Kardame pinctrl-names = "default"; 60*007b4bb4SFurkan Kardame pinctrl-0 = <&user_led_enable_h>; 61*007b4bb4SFurkan Kardame retain-state-suspended; 62*007b4bb4SFurkan Kardame }; 63*007b4bb4SFurkan Kardame }; 64*007b4bb4SFurkan Kardame 65*007b4bb4SFurkan Kardame hdmi-con { 66*007b4bb4SFurkan Kardame compatible = "hdmi-connector"; 67*007b4bb4SFurkan Kardame type = "a"; 68*007b4bb4SFurkan Kardame 69*007b4bb4SFurkan Kardame port { 70*007b4bb4SFurkan Kardame hdmi_con_in: endpoint { 71*007b4bb4SFurkan Kardame remote-endpoint = <&hdmi_out_con>; 72*007b4bb4SFurkan Kardame }; 73*007b4bb4SFurkan Kardame }; 74*007b4bb4SFurkan Kardame }; 75*007b4bb4SFurkan Kardame 76*007b4bb4SFurkan Kardame pcie30_avdd0v9: pcie30-avdd0v9-regulator { 77*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 78*007b4bb4SFurkan Kardame regulator-name = "pcie30_avdd0v9"; 79*007b4bb4SFurkan Kardame regulator-always-on; 80*007b4bb4SFurkan Kardame regulator-boot-on; 81*007b4bb4SFurkan Kardame regulator-min-microvolt = <900000>; 82*007b4bb4SFurkan Kardame regulator-max-microvolt = <900000>; 83*007b4bb4SFurkan Kardame vin-supply = <&vcc3v3_sys>; 84*007b4bb4SFurkan Kardame }; 85*007b4bb4SFurkan Kardame 86*007b4bb4SFurkan Kardame pcie30_avdd1v8: pcie30-avdd1v8-regulator { 87*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 88*007b4bb4SFurkan Kardame regulator-name = "pcie30_avdd1v8"; 89*007b4bb4SFurkan Kardame regulator-always-on; 90*007b4bb4SFurkan Kardame regulator-boot-on; 91*007b4bb4SFurkan Kardame regulator-min-microvolt = <1800000>; 92*007b4bb4SFurkan Kardame regulator-max-microvolt = <1800000>; 93*007b4bb4SFurkan Kardame vin-supply = <&vcc3v3_sys>; 94*007b4bb4SFurkan Kardame }; 95*007b4bb4SFurkan Kardame 96*007b4bb4SFurkan Kardame vcc3v3_sys: vcc3v3-sys-regulator { 97*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 98*007b4bb4SFurkan Kardame regulator-name = "vcc3v3_sys"; 99*007b4bb4SFurkan Kardame regulator-always-on; 100*007b4bb4SFurkan Kardame regulator-boot-on; 101*007b4bb4SFurkan Kardame regulator-min-microvolt = <3300000>; 102*007b4bb4SFurkan Kardame regulator-max-microvolt = <3300000>; 103*007b4bb4SFurkan Kardame vin-supply = <&dc_12v>; 104*007b4bb4SFurkan Kardame }; 105*007b4bb4SFurkan Kardame 106*007b4bb4SFurkan Kardame vcc3v3_pcie: vcc3v3-pcie-regulator { 107*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 108*007b4bb4SFurkan Kardame regulator-name = "vcc3v3_pcie"; 109*007b4bb4SFurkan Kardame enable-active-high; 110*007b4bb4SFurkan Kardame regulator-min-microvolt = <3300000>; 111*007b4bb4SFurkan Kardame regulator-max-microvolt = <3300000>; 112*007b4bb4SFurkan Kardame pinctrl-names = "default"; 113*007b4bb4SFurkan Kardame pinctrl-0 = <&vcc3v3_pcie_en_pin>; 114*007b4bb4SFurkan Kardame gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 115*007b4bb4SFurkan Kardame startup-delay-us = <5000>; 116*007b4bb4SFurkan Kardame vin-supply = <&vcc5v0_sys>; 117*007b4bb4SFurkan Kardame }; 118*007b4bb4SFurkan Kardame 119*007b4bb4SFurkan Kardame vcc5v0_sys: vcc5v0-sys-regulator { 120*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 121*007b4bb4SFurkan Kardame regulator-name = "vcc5v0_sys"; 122*007b4bb4SFurkan Kardame regulator-always-on; 123*007b4bb4SFurkan Kardame regulator-boot-on; 124*007b4bb4SFurkan Kardame regulator-min-microvolt = <5000000>; 125*007b4bb4SFurkan Kardame regulator-max-microvolt = <5000000>; 126*007b4bb4SFurkan Kardame vin-supply = <&dc_12v>; 127*007b4bb4SFurkan Kardame }; 128*007b4bb4SFurkan Kardame 129*007b4bb4SFurkan Kardame vcc5v0_usb: vcc5v0-usb-regulator { 130*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 131*007b4bb4SFurkan Kardame regulator-name = "vcc5v0_usb"; 132*007b4bb4SFurkan Kardame regulator-always-on; 133*007b4bb4SFurkan Kardame regulator-boot-on; 134*007b4bb4SFurkan Kardame regulator-min-microvolt = <5000000>; 135*007b4bb4SFurkan Kardame regulator-max-microvolt = <5000000>; 136*007b4bb4SFurkan Kardame vin-supply = <&vcc5v0_sys>; 137*007b4bb4SFurkan Kardame }; 138*007b4bb4SFurkan Kardame 139*007b4bb4SFurkan Kardame vcc5v0_host: vcc5v0-host-regulator { 140*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 141*007b4bb4SFurkan Kardame regulator-name = "vcc5v0_host"; 142*007b4bb4SFurkan Kardame enable-active-high; 143*007b4bb4SFurkan Kardame gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 144*007b4bb4SFurkan Kardame pinctrl-names = "default"; 145*007b4bb4SFurkan Kardame pinctrl-0 = <&vcc5v0_host_en>; 146*007b4bb4SFurkan Kardame regulator-always-on; 147*007b4bb4SFurkan Kardame vin-supply = <&vcc5v0_usb>; 148*007b4bb4SFurkan Kardame }; 149*007b4bb4SFurkan Kardame 150*007b4bb4SFurkan Kardame vcc5v0_otg: vcc5v0-otg-regulator { 151*007b4bb4SFurkan Kardame compatible = "regulator-fixed"; 152*007b4bb4SFurkan Kardame regulator-name = "vcc5v0_otg"; 153*007b4bb4SFurkan Kardame enable-active-high; 154*007b4bb4SFurkan Kardame gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 155*007b4bb4SFurkan Kardame pinctrl-names = "default"; 156*007b4bb4SFurkan Kardame pinctrl-0 = <&vcc5v0_otg_en>; 157*007b4bb4SFurkan Kardame vin-supply = <&vcc5v0_usb>; 158*007b4bb4SFurkan Kardame }; 159*007b4bb4SFurkan Kardame}; 160*007b4bb4SFurkan Kardame 161*007b4bb4SFurkan Kardame&combphy0 { 162*007b4bb4SFurkan Kardame /* used for USB3 */ 163*007b4bb4SFurkan Kardame status = "okay"; 164*007b4bb4SFurkan Kardame}; 165*007b4bb4SFurkan Kardame 166*007b4bb4SFurkan Kardame&combphy1 { 167*007b4bb4SFurkan Kardame /* used for USB3 */ 168*007b4bb4SFurkan Kardame status = "okay"; 169*007b4bb4SFurkan Kardame}; 170*007b4bb4SFurkan Kardame 171*007b4bb4SFurkan Kardame&combphy2 { 172*007b4bb4SFurkan Kardame /* used for SATA */ 173*007b4bb4SFurkan Kardame status = "okay"; 174*007b4bb4SFurkan Kardame}; 175*007b4bb4SFurkan Kardame 176*007b4bb4SFurkan Kardame&gmac0 { 177*007b4bb4SFurkan Kardame assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; 178*007b4bb4SFurkan Kardame assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&gmac0_clkin>; 179*007b4bb4SFurkan Kardame clock_in_out = "input"; 180*007b4bb4SFurkan Kardame pinctrl-names = "default"; 181*007b4bb4SFurkan Kardame pinctrl-0 = <&gmac0_miim 182*007b4bb4SFurkan Kardame &gmac0_tx_bus2 183*007b4bb4SFurkan Kardame &gmac0_rx_bus2 184*007b4bb4SFurkan Kardame &gmac0_rgmii_clk 185*007b4bb4SFurkan Kardame &gmac0_rgmii_bus 186*007b4bb4SFurkan Kardame &gmac0_clkinout>; 187*007b4bb4SFurkan Kardame phy-handle = <&rgmii_phy0>; 188*007b4bb4SFurkan Kardame phy-mode = "rgmii"; 189*007b4bb4SFurkan Kardame snps,reset-gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; 190*007b4bb4SFurkan Kardame snps,reset-active-low; 191*007b4bb4SFurkan Kardame /* Reset time is 20ms, 100ms for rtl8211f */ 192*007b4bb4SFurkan Kardame snps,reset-delays-us = <0 20000 100000>; 193*007b4bb4SFurkan Kardame tx_delay = <0x3c>; 194*007b4bb4SFurkan Kardame rx_delay = <0x2f>; 195*007b4bb4SFurkan Kardame status = "okay"; 196*007b4bb4SFurkan Kardame}; 197*007b4bb4SFurkan Kardame 198*007b4bb4SFurkan Kardame&gmac1 { 199*007b4bb4SFurkan Kardame assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 200*007b4bb4SFurkan Kardame assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>; 201*007b4bb4SFurkan Kardame clock_in_out = "input"; 202*007b4bb4SFurkan Kardame pinctrl-names = "default"; 203*007b4bb4SFurkan Kardame pinctrl-0 = <&gmac1m1_miim 204*007b4bb4SFurkan Kardame &gmac1m1_tx_bus2 205*007b4bb4SFurkan Kardame &gmac1m1_rx_bus2 206*007b4bb4SFurkan Kardame &gmac1m1_rgmii_clk 207*007b4bb4SFurkan Kardame &gmac1m1_rgmii_bus 208*007b4bb4SFurkan Kardame &gmac1m1_clkinout>; 209*007b4bb4SFurkan Kardame phy-handle = <&rgmii_phy1>; 210*007b4bb4SFurkan Kardame phy-mode = "rgmii"; 211*007b4bb4SFurkan Kardame snps,reset-gpio = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; 212*007b4bb4SFurkan Kardame snps,reset-active-low; 213*007b4bb4SFurkan Kardame /* Reset time is 20ms, 100ms for rtl8211f */ 214*007b4bb4SFurkan Kardame snps,reset-delays-us = <0 20000 100000>; 215*007b4bb4SFurkan Kardame tx_delay = <0x4f>; 216*007b4bb4SFurkan Kardame rx_delay = <0x26>; 217*007b4bb4SFurkan Kardame status = "okay"; 218*007b4bb4SFurkan Kardame}; 219*007b4bb4SFurkan Kardame 220*007b4bb4SFurkan Kardame&gpu { 221*007b4bb4SFurkan Kardame mali-supply = <&vdd_gpu>; 222*007b4bb4SFurkan Kardame status = "okay"; 223*007b4bb4SFurkan Kardame}; 224*007b4bb4SFurkan Kardame 225*007b4bb4SFurkan Kardame&hdmi { 226*007b4bb4SFurkan Kardame avdd-0v9-supply = <&vdda0v9_image>; 227*007b4bb4SFurkan Kardame avdd-1v8-supply = <&vcca1v8_image>; 228*007b4bb4SFurkan Kardame status = "okay"; 229*007b4bb4SFurkan Kardame}; 230*007b4bb4SFurkan Kardame 231*007b4bb4SFurkan Kardame&hdmi_in { 232*007b4bb4SFurkan Kardame hdmi_in_vp0: endpoint { 233*007b4bb4SFurkan Kardame remote-endpoint = <&vp0_out_hdmi>; 234*007b4bb4SFurkan Kardame }; 235*007b4bb4SFurkan Kardame}; 236*007b4bb4SFurkan Kardame 237*007b4bb4SFurkan Kardame&hdmi_out { 238*007b4bb4SFurkan Kardame hdmi_out_con: endpoint { 239*007b4bb4SFurkan Kardame remote-endpoint = <&hdmi_con_in>; 240*007b4bb4SFurkan Kardame }; 241*007b4bb4SFurkan Kardame}; 242*007b4bb4SFurkan Kardame 243*007b4bb4SFurkan Kardame&hdmi_sound { 244*007b4bb4SFurkan Kardame status = "okay"; 245*007b4bb4SFurkan Kardame}; 246*007b4bb4SFurkan Kardame 247*007b4bb4SFurkan Kardame&i2c0 { 248*007b4bb4SFurkan Kardame status = "okay"; 249*007b4bb4SFurkan Kardame 250*007b4bb4SFurkan Kardame rk809: pmic@20 { 251*007b4bb4SFurkan Kardame compatible = "rockchip,rk809"; 252*007b4bb4SFurkan Kardame reg = <0x20>; 253*007b4bb4SFurkan Kardame interrupt-parent = <&gpio0>; 254*007b4bb4SFurkan Kardame interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 255*007b4bb4SFurkan Kardame #clock-cells = <1>; 256*007b4bb4SFurkan Kardame pinctrl-names = "default"; 257*007b4bb4SFurkan Kardame pinctrl-0 = <&pmic_int>; 258*007b4bb4SFurkan Kardame rockchip,system-power-controller; 259*007b4bb4SFurkan Kardame vcc1-supply = <&vcc3v3_sys>; 260*007b4bb4SFurkan Kardame vcc2-supply = <&vcc3v3_sys>; 261*007b4bb4SFurkan Kardame vcc3-supply = <&vcc3v3_sys>; 262*007b4bb4SFurkan Kardame vcc4-supply = <&vcc3v3_sys>; 263*007b4bb4SFurkan Kardame vcc5-supply = <&vcc3v3_sys>; 264*007b4bb4SFurkan Kardame vcc6-supply = <&vcc3v3_sys>; 265*007b4bb4SFurkan Kardame vcc7-supply = <&vcc3v3_sys>; 266*007b4bb4SFurkan Kardame vcc8-supply = <&vcc3v3_sys>; 267*007b4bb4SFurkan Kardame vcc9-supply = <&vcc3v3_sys>; 268*007b4bb4SFurkan Kardame wakeup-source; 269*007b4bb4SFurkan Kardame 270*007b4bb4SFurkan Kardame regulators { 271*007b4bb4SFurkan Kardame vdd_logic: DCDC_REG1 { 272*007b4bb4SFurkan Kardame regulator-name = "vdd_logic"; 273*007b4bb4SFurkan Kardame regulator-always-on; 274*007b4bb4SFurkan Kardame regulator-boot-on; 275*007b4bb4SFurkan Kardame regulator-init-microvolt = <900000>; 276*007b4bb4SFurkan Kardame regulator-initial-mode = <0x2>; 277*007b4bb4SFurkan Kardame regulator-min-microvolt = <500000>; 278*007b4bb4SFurkan Kardame regulator-max-microvolt = <1350000>; 279*007b4bb4SFurkan Kardame regulator-ramp-delay = <6001>; 280*007b4bb4SFurkan Kardame 281*007b4bb4SFurkan Kardame regulator-state-mem { 282*007b4bb4SFurkan Kardame regulator-off-in-suspend; 283*007b4bb4SFurkan Kardame }; 284*007b4bb4SFurkan Kardame }; 285*007b4bb4SFurkan Kardame 286*007b4bb4SFurkan Kardame vdd_gpu: DCDC_REG2 { 287*007b4bb4SFurkan Kardame regulator-name = "vdd_gpu"; 288*007b4bb4SFurkan Kardame regulator-init-microvolt = <900000>; 289*007b4bb4SFurkan Kardame regulator-initial-mode = <0x2>; 290*007b4bb4SFurkan Kardame regulator-min-microvolt = <500000>; 291*007b4bb4SFurkan Kardame regulator-max-microvolt = <1350000>; 292*007b4bb4SFurkan Kardame regulator-ramp-delay = <6001>; 293*007b4bb4SFurkan Kardame 294*007b4bb4SFurkan Kardame regulator-state-mem { 295*007b4bb4SFurkan Kardame regulator-off-in-suspend; 296*007b4bb4SFurkan Kardame }; 297*007b4bb4SFurkan Kardame }; 298*007b4bb4SFurkan Kardame 299*007b4bb4SFurkan Kardame vcc_ddr: DCDC_REG3 { 300*007b4bb4SFurkan Kardame regulator-name = "vcc_ddr"; 301*007b4bb4SFurkan Kardame regulator-always-on; 302*007b4bb4SFurkan Kardame regulator-boot-on; 303*007b4bb4SFurkan Kardame regulator-initial-mode = <0x2>; 304*007b4bb4SFurkan Kardame 305*007b4bb4SFurkan Kardame regulator-state-mem { 306*007b4bb4SFurkan Kardame regulator-on-in-suspend; 307*007b4bb4SFurkan Kardame }; 308*007b4bb4SFurkan Kardame }; 309*007b4bb4SFurkan Kardame 310*007b4bb4SFurkan Kardame vdd_npu: DCDC_REG4 { 311*007b4bb4SFurkan Kardame regulator-name = "vdd_npu"; 312*007b4bb4SFurkan Kardame regulator-init-microvolt = <900000>; 313*007b4bb4SFurkan Kardame regulator-initial-mode = <0x2>; 314*007b4bb4SFurkan Kardame regulator-min-microvolt = <500000>; 315*007b4bb4SFurkan Kardame regulator-max-microvolt = <1350000>; 316*007b4bb4SFurkan Kardame regulator-ramp-delay = <6001>; 317*007b4bb4SFurkan Kardame 318*007b4bb4SFurkan Kardame regulator-state-mem { 319*007b4bb4SFurkan Kardame regulator-off-in-suspend; 320*007b4bb4SFurkan Kardame }; 321*007b4bb4SFurkan Kardame }; 322*007b4bb4SFurkan Kardame 323*007b4bb4SFurkan Kardame vcc_1v8: DCDC_REG5 { 324*007b4bb4SFurkan Kardame regulator-name = "vcc_1v8"; 325*007b4bb4SFurkan Kardame regulator-always-on; 326*007b4bb4SFurkan Kardame regulator-boot-on; 327*007b4bb4SFurkan Kardame regulator-min-microvolt = <1800000>; 328*007b4bb4SFurkan Kardame regulator-max-microvolt = <1800000>; 329*007b4bb4SFurkan Kardame 330*007b4bb4SFurkan Kardame regulator-state-mem { 331*007b4bb4SFurkan Kardame regulator-off-in-suspend; 332*007b4bb4SFurkan Kardame }; 333*007b4bb4SFurkan Kardame }; 334*007b4bb4SFurkan Kardame 335*007b4bb4SFurkan Kardame vdda0v9_image: LDO_REG1 { 336*007b4bb4SFurkan Kardame regulator-name = "vdda0v9_image"; 337*007b4bb4SFurkan Kardame regulator-min-microvolt = <900000>; 338*007b4bb4SFurkan Kardame regulator-max-microvolt = <900000>; 339*007b4bb4SFurkan Kardame 340*007b4bb4SFurkan Kardame regulator-state-mem { 341*007b4bb4SFurkan Kardame regulator-off-in-suspend; 342*007b4bb4SFurkan Kardame }; 343*007b4bb4SFurkan Kardame }; 344*007b4bb4SFurkan Kardame 345*007b4bb4SFurkan Kardame vdda_0v9: LDO_REG2 { 346*007b4bb4SFurkan Kardame regulator-name = "vdda_0v9"; 347*007b4bb4SFurkan Kardame regulator-always-on; 348*007b4bb4SFurkan Kardame regulator-boot-on; 349*007b4bb4SFurkan Kardame regulator-min-microvolt = <900000>; 350*007b4bb4SFurkan Kardame regulator-max-microvolt = <900000>; 351*007b4bb4SFurkan Kardame 352*007b4bb4SFurkan Kardame regulator-state-mem { 353*007b4bb4SFurkan Kardame regulator-off-in-suspend; 354*007b4bb4SFurkan Kardame }; 355*007b4bb4SFurkan Kardame }; 356*007b4bb4SFurkan Kardame 357*007b4bb4SFurkan Kardame vdda0v9_pmu: LDO_REG3 { 358*007b4bb4SFurkan Kardame regulator-name = "vdda0v9_pmu"; 359*007b4bb4SFurkan Kardame regulator-always-on; 360*007b4bb4SFurkan Kardame regulator-boot-on; 361*007b4bb4SFurkan Kardame regulator-min-microvolt = <900000>; 362*007b4bb4SFurkan Kardame regulator-max-microvolt = <900000>; 363*007b4bb4SFurkan Kardame 364*007b4bb4SFurkan Kardame regulator-state-mem { 365*007b4bb4SFurkan Kardame regulator-on-in-suspend; 366*007b4bb4SFurkan Kardame regulator-suspend-microvolt = <900000>; 367*007b4bb4SFurkan Kardame }; 368*007b4bb4SFurkan Kardame }; 369*007b4bb4SFurkan Kardame 370*007b4bb4SFurkan Kardame vccio_acodec: LDO_REG4 { 371*007b4bb4SFurkan Kardame regulator-name = "vccio_acodec"; 372*007b4bb4SFurkan Kardame regulator-min-microvolt = <3300000>; 373*007b4bb4SFurkan Kardame regulator-max-microvolt = <3300000>; 374*007b4bb4SFurkan Kardame 375*007b4bb4SFurkan Kardame regulator-state-mem { 376*007b4bb4SFurkan Kardame regulator-off-in-suspend; 377*007b4bb4SFurkan Kardame }; 378*007b4bb4SFurkan Kardame }; 379*007b4bb4SFurkan Kardame 380*007b4bb4SFurkan Kardame vccio_sd: LDO_REG5 { 381*007b4bb4SFurkan Kardame regulator-name = "vccio_sd"; 382*007b4bb4SFurkan Kardame regulator-min-microvolt = <1800000>; 383*007b4bb4SFurkan Kardame regulator-max-microvolt = <3300000>; 384*007b4bb4SFurkan Kardame 385*007b4bb4SFurkan Kardame regulator-state-mem { 386*007b4bb4SFurkan Kardame regulator-off-in-suspend; 387*007b4bb4SFurkan Kardame }; 388*007b4bb4SFurkan Kardame }; 389*007b4bb4SFurkan Kardame 390*007b4bb4SFurkan Kardame vcc3v3_pmu: LDO_REG6 { 391*007b4bb4SFurkan Kardame regulator-name = "vcc3v3_pmu"; 392*007b4bb4SFurkan Kardame regulator-always-on; 393*007b4bb4SFurkan Kardame regulator-boot-on; 394*007b4bb4SFurkan Kardame regulator-min-microvolt = <3300000>; 395*007b4bb4SFurkan Kardame regulator-max-microvolt = <3300000>; 396*007b4bb4SFurkan Kardame 397*007b4bb4SFurkan Kardame regulator-state-mem { 398*007b4bb4SFurkan Kardame regulator-on-in-suspend; 399*007b4bb4SFurkan Kardame regulator-suspend-microvolt = <3300000>; 400*007b4bb4SFurkan Kardame }; 401*007b4bb4SFurkan Kardame }; 402*007b4bb4SFurkan Kardame 403*007b4bb4SFurkan Kardame vcca_1v8: LDO_REG7 { 404*007b4bb4SFurkan Kardame regulator-name = "vcca_1v8"; 405*007b4bb4SFurkan Kardame regulator-always-on; 406*007b4bb4SFurkan Kardame regulator-boot-on; 407*007b4bb4SFurkan Kardame regulator-min-microvolt = <1800000>; 408*007b4bb4SFurkan Kardame regulator-max-microvolt = <1800000>; 409*007b4bb4SFurkan Kardame 410*007b4bb4SFurkan Kardame regulator-state-mem { 411*007b4bb4SFurkan Kardame regulator-off-in-suspend; 412*007b4bb4SFurkan Kardame }; 413*007b4bb4SFurkan Kardame }; 414*007b4bb4SFurkan Kardame 415*007b4bb4SFurkan Kardame vcca1v8_pmu: LDO_REG8 { 416*007b4bb4SFurkan Kardame regulator-name = "vcca1v8_pmu"; 417*007b4bb4SFurkan Kardame regulator-always-on; 418*007b4bb4SFurkan Kardame regulator-boot-on; 419*007b4bb4SFurkan Kardame regulator-min-microvolt = <1800000>; 420*007b4bb4SFurkan Kardame regulator-max-microvolt = <1800000>; 421*007b4bb4SFurkan Kardame 422*007b4bb4SFurkan Kardame regulator-state-mem { 423*007b4bb4SFurkan Kardame regulator-on-in-suspend; 424*007b4bb4SFurkan Kardame regulator-suspend-microvolt = <1800000>; 425*007b4bb4SFurkan Kardame }; 426*007b4bb4SFurkan Kardame }; 427*007b4bb4SFurkan Kardame 428*007b4bb4SFurkan Kardame vcca1v8_image: LDO_REG9 { 429*007b4bb4SFurkan Kardame regulator-name = "vcca1v8_image"; 430*007b4bb4SFurkan Kardame regulator-min-microvolt = <1800000>; 431*007b4bb4SFurkan Kardame regulator-max-microvolt = <1800000>; 432*007b4bb4SFurkan Kardame 433*007b4bb4SFurkan Kardame regulator-state-mem { 434*007b4bb4SFurkan Kardame regulator-off-in-suspend; 435*007b4bb4SFurkan Kardame }; 436*007b4bb4SFurkan Kardame }; 437*007b4bb4SFurkan Kardame 438*007b4bb4SFurkan Kardame vcc_3v3: SWITCH_REG1 { 439*007b4bb4SFurkan Kardame regulator-name = "vcc_3v3"; 440*007b4bb4SFurkan Kardame regulator-always-on; 441*007b4bb4SFurkan Kardame regulator-boot-on; 442*007b4bb4SFurkan Kardame 443*007b4bb4SFurkan Kardame regulator-state-mem { 444*007b4bb4SFurkan Kardame regulator-off-in-suspend; 445*007b4bb4SFurkan Kardame }; 446*007b4bb4SFurkan Kardame }; 447*007b4bb4SFurkan Kardame 448*007b4bb4SFurkan Kardame vcc3v3_sd: SWITCH_REG2 { 449*007b4bb4SFurkan Kardame regulator-name = "vcc3v3_sd"; 450*007b4bb4SFurkan Kardame regulator-always-on; 451*007b4bb4SFurkan Kardame regulator-boot-on; 452*007b4bb4SFurkan Kardame 453*007b4bb4SFurkan Kardame regulator-state-mem { 454*007b4bb4SFurkan Kardame regulator-off-in-suspend; 455*007b4bb4SFurkan Kardame }; 456*007b4bb4SFurkan Kardame }; 457*007b4bb4SFurkan Kardame }; 458*007b4bb4SFurkan Kardame }; 459*007b4bb4SFurkan Kardame}; 460*007b4bb4SFurkan Kardame 461*007b4bb4SFurkan Kardame&i2s0_8ch { 462*007b4bb4SFurkan Kardame status = "okay"; 463*007b4bb4SFurkan Kardame}; 464*007b4bb4SFurkan Kardame 465*007b4bb4SFurkan Kardame&mdio0 { 466*007b4bb4SFurkan Kardame rgmii_phy0: phy@0 { 467*007b4bb4SFurkan Kardame compatible = "ethernet-phy-ieee802.3-c22"; 468*007b4bb4SFurkan Kardame reg = <0x0>; 469*007b4bb4SFurkan Kardame }; 470*007b4bb4SFurkan Kardame}; 471*007b4bb4SFurkan Kardame 472*007b4bb4SFurkan Kardame&mdio1 { 473*007b4bb4SFurkan Kardame rgmii_phy1: phy@0 { 474*007b4bb4SFurkan Kardame compatible = "ethernet-phy-ieee802.3-c22"; 475*007b4bb4SFurkan Kardame reg = <0x0>; 476*007b4bb4SFurkan Kardame }; 477*007b4bb4SFurkan Kardame}; 478*007b4bb4SFurkan Kardame 479*007b4bb4SFurkan Kardame&pcie30phy { 480*007b4bb4SFurkan Kardame status = "okay"; 481*007b4bb4SFurkan Kardame}; 482*007b4bb4SFurkan Kardame 483*007b4bb4SFurkan Kardame&pcie3x2 { 484*007b4bb4SFurkan Kardame pinctrl-names = "default"; 485*007b4bb4SFurkan Kardame pinctrl-0 = <&pcie_reset_pin>; 486*007b4bb4SFurkan Kardame reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 487*007b4bb4SFurkan Kardame vpcie3v3-supply = <&vcc3v3_pcie>; 488*007b4bb4SFurkan Kardame status = "okay"; 489*007b4bb4SFurkan Kardame}; 490*007b4bb4SFurkan Kardame 491*007b4bb4SFurkan Kardame&pinctrl { 492*007b4bb4SFurkan Kardame leds { 493*007b4bb4SFurkan Kardame user_led_enable_h: user-led-enable-h { 494*007b4bb4SFurkan Kardame rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 495*007b4bb4SFurkan Kardame }; 496*007b4bb4SFurkan Kardame }; 497*007b4bb4SFurkan Kardame 498*007b4bb4SFurkan Kardame usb { 499*007b4bb4SFurkan Kardame vcc5v0_host_en: vcc5v0-host-en { 500*007b4bb4SFurkan Kardame rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 501*007b4bb4SFurkan Kardame }; 502*007b4bb4SFurkan Kardame 503*007b4bb4SFurkan Kardame vcc5v0_otg_en: vcc5v0-otg-en { 504*007b4bb4SFurkan Kardame rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 505*007b4bb4SFurkan Kardame }; 506*007b4bb4SFurkan Kardame }; 507*007b4bb4SFurkan Kardame 508*007b4bb4SFurkan Kardame pcie { 509*007b4bb4SFurkan Kardame pcie_reset_pin: pcie-reset-pin { 510*007b4bb4SFurkan Kardame rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 511*007b4bb4SFurkan Kardame }; 512*007b4bb4SFurkan Kardame vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin { 513*007b4bb4SFurkan Kardame rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 514*007b4bb4SFurkan Kardame }; 515*007b4bb4SFurkan Kardame }; 516*007b4bb4SFurkan Kardame 517*007b4bb4SFurkan Kardame pmic { 518*007b4bb4SFurkan Kardame pmic_int: pmic-int { 519*007b4bb4SFurkan Kardame rockchip,pins = 520*007b4bb4SFurkan Kardame <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 521*007b4bb4SFurkan Kardame }; 522*007b4bb4SFurkan Kardame }; 523*007b4bb4SFurkan Kardame}; 524*007b4bb4SFurkan Kardame 525*007b4bb4SFurkan Kardame&pmu_io_domains { 526*007b4bb4SFurkan Kardame pmuio1-supply = <&vcc3v3_pmu>; 527*007b4bb4SFurkan Kardame pmuio2-supply = <&vcc3v3_pmu>; 528*007b4bb4SFurkan Kardame vccio1-supply = <&vccio_acodec>; 529*007b4bb4SFurkan Kardame vccio2-supply = <&vcc_1v8>; 530*007b4bb4SFurkan Kardame vccio3-supply = <&vccio_sd>; 531*007b4bb4SFurkan Kardame vccio4-supply = <&vcc_1v8>; 532*007b4bb4SFurkan Kardame vccio5-supply = <&vcc_3v3>; 533*007b4bb4SFurkan Kardame vccio6-supply = <&vcc_1v8>; 534*007b4bb4SFurkan Kardame vccio7-supply = <&vcc_3v3>; 535*007b4bb4SFurkan Kardame status = "okay"; 536*007b4bb4SFurkan Kardame}; 537*007b4bb4SFurkan Kardame 538*007b4bb4SFurkan Kardame&saradc { 539*007b4bb4SFurkan Kardame vref-supply = <&vcca_1v8>; 540*007b4bb4SFurkan Kardame status = "okay"; 541*007b4bb4SFurkan Kardame}; 542*007b4bb4SFurkan Kardame 543*007b4bb4SFurkan Kardame&sata2 { 544*007b4bb4SFurkan Kardame status = "okay"; 545*007b4bb4SFurkan Kardame}; 546*007b4bb4SFurkan Kardame 547*007b4bb4SFurkan Kardame&sdhci { 548*007b4bb4SFurkan Kardame bus-width = <8>; 549*007b4bb4SFurkan Kardame max-frequency = <200000000>; 550*007b4bb4SFurkan Kardame non-removable; 551*007b4bb4SFurkan Kardame pinctrl-names = "default"; 552*007b4bb4SFurkan Kardame pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 553*007b4bb4SFurkan Kardame status = "okay"; 554*007b4bb4SFurkan Kardame}; 555*007b4bb4SFurkan Kardame 556*007b4bb4SFurkan Kardame&sdmmc0 { 557*007b4bb4SFurkan Kardame bus-width = <4>; 558*007b4bb4SFurkan Kardame cap-sd-highspeed; 559*007b4bb4SFurkan Kardame cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 560*007b4bb4SFurkan Kardame disable-wp; 561*007b4bb4SFurkan Kardame pinctrl-names = "default"; 562*007b4bb4SFurkan Kardame pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 563*007b4bb4SFurkan Kardame sd-uhs-sdr104; 564*007b4bb4SFurkan Kardame vmmc-supply = <&vcc3v3_sd>; 565*007b4bb4SFurkan Kardame vqmmc-supply = <&vccio_sd>; 566*007b4bb4SFurkan Kardame status = "okay"; 567*007b4bb4SFurkan Kardame}; 568*007b4bb4SFurkan Kardame 569*007b4bb4SFurkan Kardame&tsadc { 570*007b4bb4SFurkan Kardame status = "okay"; 571*007b4bb4SFurkan Kardame}; 572*007b4bb4SFurkan Kardame 573*007b4bb4SFurkan Kardame&uart2 { 574*007b4bb4SFurkan Kardame status = "okay"; 575*007b4bb4SFurkan Kardame}; 576*007b4bb4SFurkan Kardame 577*007b4bb4SFurkan Kardame&usb2phy0_host { 578*007b4bb4SFurkan Kardame phy-supply = <&vcc5v0_host>; 579*007b4bb4SFurkan Kardame status = "okay"; 580*007b4bb4SFurkan Kardame}; 581*007b4bb4SFurkan Kardame 582*007b4bb4SFurkan Kardame&usb2phy0 { 583*007b4bb4SFurkan Kardame status = "okay"; 584*007b4bb4SFurkan Kardame}; 585*007b4bb4SFurkan Kardame 586*007b4bb4SFurkan Kardame&usb2phy1 { 587*007b4bb4SFurkan Kardame status = "okay"; 588*007b4bb4SFurkan Kardame}; 589*007b4bb4SFurkan Kardame 590*007b4bb4SFurkan Kardame&usb2phy0_otg { 591*007b4bb4SFurkan Kardame status = "okay"; 592*007b4bb4SFurkan Kardame}; 593*007b4bb4SFurkan Kardame 594*007b4bb4SFurkan Kardame&usb2phy1_host { 595*007b4bb4SFurkan Kardame phy-supply = <&vcc5v0_host>; 596*007b4bb4SFurkan Kardame status = "okay"; 597*007b4bb4SFurkan Kardame}; 598*007b4bb4SFurkan Kardame 599*007b4bb4SFurkan Kardame&usb2phy1_otg { 600*007b4bb4SFurkan Kardame phy-supply = <&vcc5v0_host>; 601*007b4bb4SFurkan Kardame status = "okay"; 602*007b4bb4SFurkan Kardame}; 603*007b4bb4SFurkan Kardame 604*007b4bb4SFurkan Kardame&usb_host0_ehci { 605*007b4bb4SFurkan Kardame status = "okay"; 606*007b4bb4SFurkan Kardame}; 607*007b4bb4SFurkan Kardame 608*007b4bb4SFurkan Kardame&usb_host0_ohci { 609*007b4bb4SFurkan Kardame status = "okay"; 610*007b4bb4SFurkan Kardame}; 611*007b4bb4SFurkan Kardame 612*007b4bb4SFurkan Kardame&usb_host1_ehci { 613*007b4bb4SFurkan Kardame status = "okay"; 614*007b4bb4SFurkan Kardame}; 615*007b4bb4SFurkan Kardame 616*007b4bb4SFurkan Kardame&usb_host1_ohci { 617*007b4bb4SFurkan Kardame status = "okay"; 618*007b4bb4SFurkan Kardame}; 619*007b4bb4SFurkan Kardame 620*007b4bb4SFurkan Kardame&usb_host0_xhci { 621*007b4bb4SFurkan Kardame status = "okay"; 622*007b4bb4SFurkan Kardame}; 623*007b4bb4SFurkan Kardame 624*007b4bb4SFurkan Kardame&usb_host1_xhci { 625*007b4bb4SFurkan Kardame status = "okay"; 626*007b4bb4SFurkan Kardame}; 627*007b4bb4SFurkan Kardame 628*007b4bb4SFurkan Kardame&vp0 { 629*007b4bb4SFurkan Kardame vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 630*007b4bb4SFurkan Kardame reg = <ROCKCHIP_VOP2_EP_HDMI0>; 631*007b4bb4SFurkan Kardame remote-endpoint = <&hdmi_in_vp0>; 632*007b4bb4SFurkan Kardame }; 633*007b4bb4SFurkan Kardame}; 634*007b4bb4SFurkan Kardame 635*007b4bb4SFurkan Kardame&vop { 636*007b4bb4SFurkan Kardame assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 637*007b4bb4SFurkan Kardame assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 638*007b4bb4SFurkan Kardame status = "okay"; 639*007b4bb4SFurkan Kardame}; 640*007b4bb4SFurkan Kardame 641*007b4bb4SFurkan Kardame&vop_mmu { 642*007b4bb4SFurkan Kardame status = "okay"; 643*007b4bb4SFurkan Kardame}; 644