1*833e5d42SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*833e5d42SEmmanuel Vadot/* 3*833e5d42SEmmanuel Vadot * Copyright (c) 2025 FriendlyElec Computer Tech. Co., Ltd. 4*833e5d42SEmmanuel Vadot * Copyright (c) 2025 John Clark <inindev@gmail.com> 5*833e5d42SEmmanuel Vadot */ 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadot/dts-v1/; 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 10*833e5d42SEmmanuel Vadot#include <dt-bindings/input/input.h> 11*833e5d42SEmmanuel Vadot#include <dt-bindings/leds/common.h> 12*833e5d42SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 13*833e5d42SEmmanuel Vadot#include <dt-bindings/pwm/pwm.h> 14*833e5d42SEmmanuel Vadot#include <dt-bindings/soc/rockchip,vop2.h> 15*833e5d42SEmmanuel Vadot#include <dt-bindings/usb/pd.h> 16*833e5d42SEmmanuel Vadot#include "rk3576.dtsi" 17*833e5d42SEmmanuel Vadot 18*833e5d42SEmmanuel Vadot/ { 19*833e5d42SEmmanuel Vadot model = "FriendlyElec NanoPi M5"; 20*833e5d42SEmmanuel Vadot compatible = "friendlyarm,nanopi-m5", "rockchip,rk3576"; 21*833e5d42SEmmanuel Vadot 22*833e5d42SEmmanuel Vadot aliases { 23*833e5d42SEmmanuel Vadot ethernet0 = &gmac0; 24*833e5d42SEmmanuel Vadot ethernet1 = &gmac1; 25*833e5d42SEmmanuel Vadot mmc0 = &sdmmc; 26*833e5d42SEmmanuel Vadot }; 27*833e5d42SEmmanuel Vadot 28*833e5d42SEmmanuel Vadot chosen { 29*833e5d42SEmmanuel Vadot stdout-path = "serial0:1500000n8"; 30*833e5d42SEmmanuel Vadot }; 31*833e5d42SEmmanuel Vadot 32*833e5d42SEmmanuel Vadot hdmi-con { 33*833e5d42SEmmanuel Vadot compatible = "hdmi-connector"; 34*833e5d42SEmmanuel Vadot hdmi-pwr-supply = <&vcc5v_hdmi_tx>; 35*833e5d42SEmmanuel Vadot type = "a"; 36*833e5d42SEmmanuel Vadot 37*833e5d42SEmmanuel Vadot port { 38*833e5d42SEmmanuel Vadot hdmi_con_in: endpoint { 39*833e5d42SEmmanuel Vadot remote-endpoint = <&hdmi_out_con>; 40*833e5d42SEmmanuel Vadot }; 41*833e5d42SEmmanuel Vadot }; 42*833e5d42SEmmanuel Vadot }; 43*833e5d42SEmmanuel Vadot 44*833e5d42SEmmanuel Vadot keys { 45*833e5d42SEmmanuel Vadot compatible = "gpio-keys"; 46*833e5d42SEmmanuel Vadot 47*833e5d42SEmmanuel Vadot usr_button: key-1 { 48*833e5d42SEmmanuel Vadot debounce-interval = <50>; 49*833e5d42SEmmanuel Vadot gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>; 50*833e5d42SEmmanuel Vadot label = "user"; 51*833e5d42SEmmanuel Vadot linux,code = <BTN_1>; 52*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 53*833e5d42SEmmanuel Vadot pinctrl-0 = <&usr_button_l>; 54*833e5d42SEmmanuel Vadot wakeup-source; 55*833e5d42SEmmanuel Vadot }; 56*833e5d42SEmmanuel Vadot }; 57*833e5d42SEmmanuel Vadot 58*833e5d42SEmmanuel Vadot leds { 59*833e5d42SEmmanuel Vadot compatible = "gpio-leds"; 60*833e5d42SEmmanuel Vadot 61*833e5d42SEmmanuel Vadot led_sys: led-0 { 62*833e5d42SEmmanuel Vadot color = <LED_COLOR_ID_RED>; 63*833e5d42SEmmanuel Vadot function = LED_FUNCTION_HEARTBEAT; 64*833e5d42SEmmanuel Vadot gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_HIGH>; 65*833e5d42SEmmanuel Vadot label = "sys"; 66*833e5d42SEmmanuel Vadot linux,default-trigger = "heartbeat"; 67*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 68*833e5d42SEmmanuel Vadot pinctrl-0 = <&led_sys_h>; 69*833e5d42SEmmanuel Vadot }; 70*833e5d42SEmmanuel Vadot 71*833e5d42SEmmanuel Vadot led1: led-1 { 72*833e5d42SEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 73*833e5d42SEmmanuel Vadot function = LED_FUNCTION_LAN; 74*833e5d42SEmmanuel Vadot gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; 75*833e5d42SEmmanuel Vadot label = "led1"; 76*833e5d42SEmmanuel Vadot linux,default-trigger = "netdev"; 77*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 78*833e5d42SEmmanuel Vadot pinctrl-0 = <&led1_h>; 79*833e5d42SEmmanuel Vadot }; 80*833e5d42SEmmanuel Vadot 81*833e5d42SEmmanuel Vadot led2: led-2 { 82*833e5d42SEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 83*833e5d42SEmmanuel Vadot function = LED_FUNCTION_LAN; 84*833e5d42SEmmanuel Vadot gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>; 85*833e5d42SEmmanuel Vadot label = "led2"; 86*833e5d42SEmmanuel Vadot linux,default-trigger = "netdev"; 87*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 88*833e5d42SEmmanuel Vadot pinctrl-0 = <&led2_h>; 89*833e5d42SEmmanuel Vadot }; 90*833e5d42SEmmanuel Vadot }; 91*833e5d42SEmmanuel Vadot 92*833e5d42SEmmanuel Vadot usb3_port2_5v: regulator-usb3-port2-5v { 93*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 94*833e5d42SEmmanuel Vadot enable-active-high; 95*833e5d42SEmmanuel Vadot gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 96*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 97*833e5d42SEmmanuel Vadot pinctrl-0 = <&usb3_host_pwren_h>; 98*833e5d42SEmmanuel Vadot regulator-min-microvolt = <5000000>; 99*833e5d42SEmmanuel Vadot regulator-max-microvolt = <5000000>; 100*833e5d42SEmmanuel Vadot regulator-name = "usb3_port2_5v"; 101*833e5d42SEmmanuel Vadot vin-supply = <&vcc5v0_sys_s5>; 102*833e5d42SEmmanuel Vadot }; 103*833e5d42SEmmanuel Vadot 104*833e5d42SEmmanuel Vadot vcc12v_dcin: regulator-vcc12v-dcin { 105*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 106*833e5d42SEmmanuel Vadot regulator-always-on; 107*833e5d42SEmmanuel Vadot regulator-boot-on; 108*833e5d42SEmmanuel Vadot regulator-min-microvolt = <12000000>; 109*833e5d42SEmmanuel Vadot regulator-max-microvolt = <12000000>; 110*833e5d42SEmmanuel Vadot regulator-name = "vcc12v_dcin"; 111*833e5d42SEmmanuel Vadot }; 112*833e5d42SEmmanuel Vadot 113*833e5d42SEmmanuel Vadot vcc3v3_m2_keym: regulator-vcc3v3-m2-keym { 114*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 115*833e5d42SEmmanuel Vadot enable-active-high; 116*833e5d42SEmmanuel Vadot gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>; 117*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 118*833e5d42SEmmanuel Vadot pinctrl-0 = <&pcie0_pwren_h>; 119*833e5d42SEmmanuel Vadot regulator-min-microvolt = <3300000>; 120*833e5d42SEmmanuel Vadot regulator-max-microvolt = <3300000>; 121*833e5d42SEmmanuel Vadot regulator-name = "vcc3v3_m2_keym"; 122*833e5d42SEmmanuel Vadot vin-supply = <&vcc5v0_sys_s5>; 123*833e5d42SEmmanuel Vadot }; 124*833e5d42SEmmanuel Vadot 125*833e5d42SEmmanuel Vadot vcc3v3_sd_s0: regulator-vcc3v3-sd-s0 { 126*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 127*833e5d42SEmmanuel Vadot enable-active-high; 128*833e5d42SEmmanuel Vadot gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 129*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 130*833e5d42SEmmanuel Vadot pinctrl-0 = <&sdmmc0_pwren_h>; 131*833e5d42SEmmanuel Vadot regulator-boot-on; 132*833e5d42SEmmanuel Vadot regulator-min-microvolt = <3300000>; 133*833e5d42SEmmanuel Vadot regulator-max-microvolt = <3300000>; 134*833e5d42SEmmanuel Vadot regulator-name = "vcc3v3_sd_s0"; 135*833e5d42SEmmanuel Vadot vin-supply = <&vcc_3v3_s3>; 136*833e5d42SEmmanuel Vadot }; 137*833e5d42SEmmanuel Vadot 138*833e5d42SEmmanuel Vadot vcc5v0_sys_s5: regulator-vcc5v0-sys-s5 { 139*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 140*833e5d42SEmmanuel Vadot regulator-always-on; 141*833e5d42SEmmanuel Vadot regulator-boot-on; 142*833e5d42SEmmanuel Vadot regulator-min-microvolt = <5000000>; 143*833e5d42SEmmanuel Vadot regulator-max-microvolt = <5000000>; 144*833e5d42SEmmanuel Vadot regulator-name = "vcc5v0_sys_s5"; 145*833e5d42SEmmanuel Vadot vin-supply = <&vcc12v_dcin>; 146*833e5d42SEmmanuel Vadot }; 147*833e5d42SEmmanuel Vadot 148*833e5d42SEmmanuel Vadot vcc5v0_usb_otg0: regulator-vcc5v0-usb-otg0 { 149*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 150*833e5d42SEmmanuel Vadot enable-active-high; 151*833e5d42SEmmanuel Vadot gpios = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>; 152*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 153*833e5d42SEmmanuel Vadot pinctrl-0 = <&usb_otg0_pwren_h>; 154*833e5d42SEmmanuel Vadot regulator-min-microvolt = <5000000>; 155*833e5d42SEmmanuel Vadot regulator-max-microvolt = <5000000>; 156*833e5d42SEmmanuel Vadot regulator-name = "vcc5v0_usb_otg0"; 157*833e5d42SEmmanuel Vadot vin-supply = <&vcc5v0_sys_s5>; 158*833e5d42SEmmanuel Vadot }; 159*833e5d42SEmmanuel Vadot 160*833e5d42SEmmanuel Vadot vcc5v_hdmi_tx: regulator-vcc5v-hdmi-tx { 161*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 162*833e5d42SEmmanuel Vadot regulator-always-on; 163*833e5d42SEmmanuel Vadot regulator-min-microvolt = <5000000>; 164*833e5d42SEmmanuel Vadot regulator-max-microvolt = <5000000>; 165*833e5d42SEmmanuel Vadot regulator-name = "vcc5v_hdmi_tx"; 166*833e5d42SEmmanuel Vadot vin-supply = <&vcc5v0_sys_s5>; 167*833e5d42SEmmanuel Vadot }; 168*833e5d42SEmmanuel Vadot 169*833e5d42SEmmanuel Vadot vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { 170*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 171*833e5d42SEmmanuel Vadot regulator-always-on; 172*833e5d42SEmmanuel Vadot regulator-boot-on; 173*833e5d42SEmmanuel Vadot regulator-min-microvolt = <1100000>; 174*833e5d42SEmmanuel Vadot regulator-max-microvolt = <1100000>; 175*833e5d42SEmmanuel Vadot regulator-name = "vcc_1v1_nldo_s3"; 176*833e5d42SEmmanuel Vadot vin-supply = <&vcc5v0_sys_s5>; 177*833e5d42SEmmanuel Vadot }; 178*833e5d42SEmmanuel Vadot 179*833e5d42SEmmanuel Vadot vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 { 180*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 181*833e5d42SEmmanuel Vadot regulator-always-on; 182*833e5d42SEmmanuel Vadot regulator-boot-on; 183*833e5d42SEmmanuel Vadot regulator-min-microvolt = <2000000>; 184*833e5d42SEmmanuel Vadot regulator-max-microvolt = <2000000>; 185*833e5d42SEmmanuel Vadot regulator-name = "vcc_2v0_pldo_s3"; 186*833e5d42SEmmanuel Vadot vin-supply = <&vcc5v0_sys_s5>; 187*833e5d42SEmmanuel Vadot }; 188*833e5d42SEmmanuel Vadot 189*833e5d42SEmmanuel Vadot vcc_3v3_s0: regulator-vcc-3v3-s0 { 190*833e5d42SEmmanuel Vadot compatible = "regulator-fixed"; 191*833e5d42SEmmanuel Vadot regulator-always-on; 192*833e5d42SEmmanuel Vadot regulator-boot-on; 193*833e5d42SEmmanuel Vadot regulator-min-microvolt = <3300000>; 194*833e5d42SEmmanuel Vadot regulator-max-microvolt = <3300000>; 195*833e5d42SEmmanuel Vadot regulator-name = "vcc_3v3_s0"; 196*833e5d42SEmmanuel Vadot vin-supply = <&vcc_3v3_s3>; 197*833e5d42SEmmanuel Vadot }; 198*833e5d42SEmmanuel Vadot 199*833e5d42SEmmanuel Vadot sound { 200*833e5d42SEmmanuel Vadot compatible = "simple-audio-card"; 201*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 202*833e5d42SEmmanuel Vadot pinctrl-0 = <&hp_det_l>; 203*833e5d42SEmmanuel Vadot 204*833e5d42SEmmanuel Vadot simple-audio-card,format = "i2s"; 205*833e5d42SEmmanuel Vadot simple-audio-card,hp-det-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_LOW>; 206*833e5d42SEmmanuel Vadot simple-audio-card,mclk-fs = <256>; 207*833e5d42SEmmanuel Vadot simple-audio-card,name = "realtek,rt5616-codec"; 208*833e5d42SEmmanuel Vadot 209*833e5d42SEmmanuel Vadot simple-audio-card,routing = 210*833e5d42SEmmanuel Vadot "Headphones", "HPOL", 211*833e5d42SEmmanuel Vadot "Headphones", "HPOR", 212*833e5d42SEmmanuel Vadot "IN1P", "Microphone Jack"; 213*833e5d42SEmmanuel Vadot simple-audio-card,widgets = 214*833e5d42SEmmanuel Vadot "Headphone", "Headphone Jack", 215*833e5d42SEmmanuel Vadot "Microphone", "Microphone Jack"; 216*833e5d42SEmmanuel Vadot 217*833e5d42SEmmanuel Vadot simple-audio-card,codec { 218*833e5d42SEmmanuel Vadot sound-dai = <&rt5616>; 219*833e5d42SEmmanuel Vadot }; 220*833e5d42SEmmanuel Vadot 221*833e5d42SEmmanuel Vadot simple-audio-card,cpu { 222*833e5d42SEmmanuel Vadot sound-dai = <&sai2>; 223*833e5d42SEmmanuel Vadot }; 224*833e5d42SEmmanuel Vadot }; 225*833e5d42SEmmanuel Vadot}; 226*833e5d42SEmmanuel Vadot 227*833e5d42SEmmanuel Vadot&combphy0_ps { 228*833e5d42SEmmanuel Vadot status = "okay"; 229*833e5d42SEmmanuel Vadot}; 230*833e5d42SEmmanuel Vadot 231*833e5d42SEmmanuel Vadot&combphy1_psu { 232*833e5d42SEmmanuel Vadot status = "okay"; 233*833e5d42SEmmanuel Vadot}; 234*833e5d42SEmmanuel Vadot 235*833e5d42SEmmanuel Vadot&cpu_b0 { 236*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_big_s0>; 237*833e5d42SEmmanuel Vadot}; 238*833e5d42SEmmanuel Vadot 239*833e5d42SEmmanuel Vadot&cpu_b1 { 240*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_big_s0>; 241*833e5d42SEmmanuel Vadot}; 242*833e5d42SEmmanuel Vadot 243*833e5d42SEmmanuel Vadot&cpu_b2 { 244*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_big_s0>; 245*833e5d42SEmmanuel Vadot}; 246*833e5d42SEmmanuel Vadot 247*833e5d42SEmmanuel Vadot&cpu_b3 { 248*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_big_s0>; 249*833e5d42SEmmanuel Vadot}; 250*833e5d42SEmmanuel Vadot 251*833e5d42SEmmanuel Vadot&cpu_l0 { 252*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 253*833e5d42SEmmanuel Vadot}; 254*833e5d42SEmmanuel Vadot 255*833e5d42SEmmanuel Vadot&cpu_l1 { 256*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 257*833e5d42SEmmanuel Vadot}; 258*833e5d42SEmmanuel Vadot 259*833e5d42SEmmanuel Vadot&cpu_l2 { 260*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 261*833e5d42SEmmanuel Vadot}; 262*833e5d42SEmmanuel Vadot 263*833e5d42SEmmanuel Vadot&cpu_l3 { 264*833e5d42SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 265*833e5d42SEmmanuel Vadot}; 266*833e5d42SEmmanuel Vadot 267*833e5d42SEmmanuel Vadot&fspi1m1_pins { 268*833e5d42SEmmanuel Vadot /* gpio1_d5, gpio1_c4-c7 (clk, d0-d4) are for spi nor flash */ 269*833e5d42SEmmanuel Vadot /* gpio1_d0-d4 muxed to sai2 audio functions */ 270*833e5d42SEmmanuel Vadot rockchip,pins = 271*833e5d42SEmmanuel Vadot <1 RK_PD5 3 &pcfg_pull_none>, 272*833e5d42SEmmanuel Vadot <1 RK_PC4 3 &pcfg_pull_none>, 273*833e5d42SEmmanuel Vadot <1 RK_PC5 3 &pcfg_pull_none>, 274*833e5d42SEmmanuel Vadot <1 RK_PC6 3 &pcfg_pull_none>, 275*833e5d42SEmmanuel Vadot <1 RK_PC7 3 &pcfg_pull_none>; 276*833e5d42SEmmanuel Vadot}; 277*833e5d42SEmmanuel Vadot 278*833e5d42SEmmanuel Vadot&gmac0 { 279*833e5d42SEmmanuel Vadot clock_in_out = "output"; 280*833e5d42SEmmanuel Vadot phy-handle = <&rgmii_phy0>; 281*833e5d42SEmmanuel Vadot phy-mode = "rgmii-id"; 282*833e5d42SEmmanuel Vadot phy-supply = <&vcc_3v3_s3>; 283*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 284*833e5d42SEmmanuel Vadot pinctrl-0 = <ð0m0_miim>, 285*833e5d42SEmmanuel Vadot <ð0m0_tx_bus2>, 286*833e5d42SEmmanuel Vadot <ð0m0_rx_bus2>, 287*833e5d42SEmmanuel Vadot <ð0m0_rgmii_clk>, 288*833e5d42SEmmanuel Vadot <ð0m0_rgmii_bus>; 289*833e5d42SEmmanuel Vadot status = "okay"; 290*833e5d42SEmmanuel Vadot}; 291*833e5d42SEmmanuel Vadot 292*833e5d42SEmmanuel Vadot&gmac1 { 293*833e5d42SEmmanuel Vadot clock_in_out = "output"; 294*833e5d42SEmmanuel Vadot phy-handle = <&rgmii_phy1>; 295*833e5d42SEmmanuel Vadot phy-mode = "rgmii-id"; 296*833e5d42SEmmanuel Vadot phy-supply = <&vcc_3v3_s3>; 297*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 298*833e5d42SEmmanuel Vadot pinctrl-0 = <ð1m0_miim>, 299*833e5d42SEmmanuel Vadot <ð1m0_tx_bus2>, 300*833e5d42SEmmanuel Vadot <ð1m0_rx_bus2>, 301*833e5d42SEmmanuel Vadot <ð1m0_rgmii_clk>, 302*833e5d42SEmmanuel Vadot <ð1m0_rgmii_bus>; 303*833e5d42SEmmanuel Vadot status = "okay"; 304*833e5d42SEmmanuel Vadot}; 305*833e5d42SEmmanuel Vadot 306*833e5d42SEmmanuel Vadot&gpu { 307*833e5d42SEmmanuel Vadot mali-supply = <&vdd_gpu_s0>; 308*833e5d42SEmmanuel Vadot status = "okay"; 309*833e5d42SEmmanuel Vadot}; 310*833e5d42SEmmanuel Vadot 311*833e5d42SEmmanuel Vadot&hdmi { 312*833e5d42SEmmanuel Vadot status = "okay"; 313*833e5d42SEmmanuel Vadot}; 314*833e5d42SEmmanuel Vadot 315*833e5d42SEmmanuel Vadot&hdmi_in { 316*833e5d42SEmmanuel Vadot hdmi_in_vp0: endpoint { 317*833e5d42SEmmanuel Vadot remote-endpoint = <&vp0_out_hdmi>; 318*833e5d42SEmmanuel Vadot }; 319*833e5d42SEmmanuel Vadot}; 320*833e5d42SEmmanuel Vadot 321*833e5d42SEmmanuel Vadot&hdmi_out { 322*833e5d42SEmmanuel Vadot hdmi_out_con: endpoint { 323*833e5d42SEmmanuel Vadot remote-endpoint = <&hdmi_con_in>; 324*833e5d42SEmmanuel Vadot }; 325*833e5d42SEmmanuel Vadot}; 326*833e5d42SEmmanuel Vadot 327*833e5d42SEmmanuel Vadot&hdptxphy { 328*833e5d42SEmmanuel Vadot status = "okay"; 329*833e5d42SEmmanuel Vadot}; 330*833e5d42SEmmanuel Vadot 331*833e5d42SEmmanuel Vadot&i2c1 { 332*833e5d42SEmmanuel Vadot status = "okay"; 333*833e5d42SEmmanuel Vadot 334*833e5d42SEmmanuel Vadot pmic@23 { 335*833e5d42SEmmanuel Vadot compatible = "rockchip,rk806"; 336*833e5d42SEmmanuel Vadot reg = <0x23>; 337*833e5d42SEmmanuel Vadot #gpio-cells = <2>; 338*833e5d42SEmmanuel Vadot gpio-controller; 339*833e5d42SEmmanuel Vadot interrupt-parent = <&gpio0>; 340*833e5d42SEmmanuel Vadot interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 341*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 342*833e5d42SEmmanuel Vadot pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 343*833e5d42SEmmanuel Vadot <&rk806_dvs2_null>, <&rk806_dvs3_null>; 344*833e5d42SEmmanuel Vadot system-power-controller; 345*833e5d42SEmmanuel Vadot 346*833e5d42SEmmanuel Vadot vcc1-supply = <&vcc5v0_sys_s5>; 347*833e5d42SEmmanuel Vadot vcc2-supply = <&vcc5v0_sys_s5>; 348*833e5d42SEmmanuel Vadot vcc3-supply = <&vcc5v0_sys_s5>; 349*833e5d42SEmmanuel Vadot vcc4-supply = <&vcc5v0_sys_s5>; 350*833e5d42SEmmanuel Vadot vcc5-supply = <&vcc5v0_sys_s5>; 351*833e5d42SEmmanuel Vadot vcc6-supply = <&vcc5v0_sys_s5>; 352*833e5d42SEmmanuel Vadot vcc7-supply = <&vcc5v0_sys_s5>; 353*833e5d42SEmmanuel Vadot vcc8-supply = <&vcc5v0_sys_s5>; 354*833e5d42SEmmanuel Vadot vcc9-supply = <&vcc5v0_sys_s5>; 355*833e5d42SEmmanuel Vadot vcc10-supply = <&vcc5v0_sys_s5>; 356*833e5d42SEmmanuel Vadot vcc11-supply = <&vcc_2v0_pldo_s3>; 357*833e5d42SEmmanuel Vadot vcc12-supply = <&vcc5v0_sys_s5>; 358*833e5d42SEmmanuel Vadot vcc13-supply = <&vcc_1v1_nldo_s3>; 359*833e5d42SEmmanuel Vadot vcc14-supply = <&vcc_1v1_nldo_s3>; 360*833e5d42SEmmanuel Vadot vcca-supply = <&vcc5v0_sys_s5>; 361*833e5d42SEmmanuel Vadot 362*833e5d42SEmmanuel Vadot rk806_dvs1_null: dvs1-null-pins { 363*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl1"; 364*833e5d42SEmmanuel Vadot function = "pin_fun0"; 365*833e5d42SEmmanuel Vadot }; 366*833e5d42SEmmanuel Vadot 367*833e5d42SEmmanuel Vadot rk806_dvs1_slp: dvs1-slp-pins { 368*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl1"; 369*833e5d42SEmmanuel Vadot function = "pin_fun1"; 370*833e5d42SEmmanuel Vadot }; 371*833e5d42SEmmanuel Vadot 372*833e5d42SEmmanuel Vadot rk806_dvs1_pwrdn: dvs1-pwrdn-pins { 373*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl1"; 374*833e5d42SEmmanuel Vadot function = "pin_fun2"; 375*833e5d42SEmmanuel Vadot }; 376*833e5d42SEmmanuel Vadot 377*833e5d42SEmmanuel Vadot rk806_dvs1_rst: dvs1-rst-pins { 378*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl1"; 379*833e5d42SEmmanuel Vadot function = "pin_fun3"; 380*833e5d42SEmmanuel Vadot }; 381*833e5d42SEmmanuel Vadot 382*833e5d42SEmmanuel Vadot rk806_dvs2_null: dvs2-null-pins { 383*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl2"; 384*833e5d42SEmmanuel Vadot function = "pin_fun0"; 385*833e5d42SEmmanuel Vadot }; 386*833e5d42SEmmanuel Vadot 387*833e5d42SEmmanuel Vadot rk806_dvs2_slp: dvs2-slp-pins { 388*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl2"; 389*833e5d42SEmmanuel Vadot function = "pin_fun1"; 390*833e5d42SEmmanuel Vadot }; 391*833e5d42SEmmanuel Vadot 392*833e5d42SEmmanuel Vadot rk806_dvs2_pwrdn: dvs2-pwrdn-pins { 393*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl2"; 394*833e5d42SEmmanuel Vadot function = "pin_fun2"; 395*833e5d42SEmmanuel Vadot }; 396*833e5d42SEmmanuel Vadot 397*833e5d42SEmmanuel Vadot rk806_dvs2_rst: dvs2-rst-pins { 398*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl2"; 399*833e5d42SEmmanuel Vadot function = "pin_fun3"; 400*833e5d42SEmmanuel Vadot }; 401*833e5d42SEmmanuel Vadot 402*833e5d42SEmmanuel Vadot rk806_dvs2_dvs: dvs2-dvs-pins { 403*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl2"; 404*833e5d42SEmmanuel Vadot function = "pin_fun4"; 405*833e5d42SEmmanuel Vadot }; 406*833e5d42SEmmanuel Vadot 407*833e5d42SEmmanuel Vadot rk806_dvs2_gpio: dvs2-gpio-pins { 408*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl2"; 409*833e5d42SEmmanuel Vadot function = "pin_fun5"; 410*833e5d42SEmmanuel Vadot }; 411*833e5d42SEmmanuel Vadot 412*833e5d42SEmmanuel Vadot rk806_dvs3_null: dvs3-null-pins { 413*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl3"; 414*833e5d42SEmmanuel Vadot function = "pin_fun0"; 415*833e5d42SEmmanuel Vadot }; 416*833e5d42SEmmanuel Vadot 417*833e5d42SEmmanuel Vadot rk806_dvs3_slp: dvs3-slp-pins { 418*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl3"; 419*833e5d42SEmmanuel Vadot function = "pin_fun1"; 420*833e5d42SEmmanuel Vadot }; 421*833e5d42SEmmanuel Vadot 422*833e5d42SEmmanuel Vadot rk806_dvs3_pwrdn: dvs3-pwrdn-pins { 423*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl3"; 424*833e5d42SEmmanuel Vadot function = "pin_fun2"; 425*833e5d42SEmmanuel Vadot }; 426*833e5d42SEmmanuel Vadot 427*833e5d42SEmmanuel Vadot rk806_dvs3_rst: dvs3-rst-pins { 428*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl3"; 429*833e5d42SEmmanuel Vadot function = "pin_fun3"; 430*833e5d42SEmmanuel Vadot }; 431*833e5d42SEmmanuel Vadot 432*833e5d42SEmmanuel Vadot rk806_dvs3_dvs: dvs3-dvs-pins { 433*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl3"; 434*833e5d42SEmmanuel Vadot function = "pin_fun4"; 435*833e5d42SEmmanuel Vadot }; 436*833e5d42SEmmanuel Vadot 437*833e5d42SEmmanuel Vadot rk806_dvs3_gpio: dvs3-gpio-pins { 438*833e5d42SEmmanuel Vadot pins = "gpio_pwrctrl3"; 439*833e5d42SEmmanuel Vadot function = "pin_fun5"; 440*833e5d42SEmmanuel Vadot }; 441*833e5d42SEmmanuel Vadot 442*833e5d42SEmmanuel Vadot regulators { 443*833e5d42SEmmanuel Vadot vdd_cpu_big_s0: dcdc-reg1 { 444*833e5d42SEmmanuel Vadot regulator-always-on; 445*833e5d42SEmmanuel Vadot regulator-boot-on; 446*833e5d42SEmmanuel Vadot regulator-enable-ramp-delay = <400>; 447*833e5d42SEmmanuel Vadot regulator-min-microvolt = <550000>; 448*833e5d42SEmmanuel Vadot regulator-max-microvolt = <950000>; 449*833e5d42SEmmanuel Vadot regulator-name = "vdd_cpu_big_s0"; 450*833e5d42SEmmanuel Vadot regulator-ramp-delay = <12500>; 451*833e5d42SEmmanuel Vadot 452*833e5d42SEmmanuel Vadot regulator-state-mem { 453*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 454*833e5d42SEmmanuel Vadot }; 455*833e5d42SEmmanuel Vadot }; 456*833e5d42SEmmanuel Vadot 457*833e5d42SEmmanuel Vadot vdd_npu_s0: dcdc-reg2 { 458*833e5d42SEmmanuel Vadot regulator-boot-on; 459*833e5d42SEmmanuel Vadot regulator-enable-ramp-delay = <400>; 460*833e5d42SEmmanuel Vadot regulator-min-microvolt = <550000>; 461*833e5d42SEmmanuel Vadot regulator-max-microvolt = <950000>; 462*833e5d42SEmmanuel Vadot regulator-name = "vdd_npu_s0"; 463*833e5d42SEmmanuel Vadot regulator-ramp-delay = <12500>; 464*833e5d42SEmmanuel Vadot 465*833e5d42SEmmanuel Vadot regulator-state-mem { 466*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 467*833e5d42SEmmanuel Vadot }; 468*833e5d42SEmmanuel Vadot }; 469*833e5d42SEmmanuel Vadot 470*833e5d42SEmmanuel Vadot vdd_cpu_lit_s0: dcdc-reg3 { 471*833e5d42SEmmanuel Vadot regulator-always-on; 472*833e5d42SEmmanuel Vadot regulator-boot-on; 473*833e5d42SEmmanuel Vadot regulator-min-microvolt = <550000>; 474*833e5d42SEmmanuel Vadot regulator-max-microvolt = <950000>; 475*833e5d42SEmmanuel Vadot regulator-name = "vdd_cpu_lit_s0"; 476*833e5d42SEmmanuel Vadot regulator-ramp-delay = <12500>; 477*833e5d42SEmmanuel Vadot 478*833e5d42SEmmanuel Vadot regulator-state-mem { 479*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 480*833e5d42SEmmanuel Vadot regulator-suspend-microvolt = <750000>; 481*833e5d42SEmmanuel Vadot }; 482*833e5d42SEmmanuel Vadot }; 483*833e5d42SEmmanuel Vadot 484*833e5d42SEmmanuel Vadot vcc_3v3_s3: dcdc-reg4 { 485*833e5d42SEmmanuel Vadot regulator-always-on; 486*833e5d42SEmmanuel Vadot regulator-boot-on; 487*833e5d42SEmmanuel Vadot regulator-min-microvolt = <3300000>; 488*833e5d42SEmmanuel Vadot regulator-max-microvolt = <3300000>; 489*833e5d42SEmmanuel Vadot regulator-name = "vcc_3v3_s3"; 490*833e5d42SEmmanuel Vadot 491*833e5d42SEmmanuel Vadot regulator-state-mem { 492*833e5d42SEmmanuel Vadot regulator-on-in-suspend; 493*833e5d42SEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 494*833e5d42SEmmanuel Vadot }; 495*833e5d42SEmmanuel Vadot }; 496*833e5d42SEmmanuel Vadot 497*833e5d42SEmmanuel Vadot vdd_gpu_s0: dcdc-reg5 { 498*833e5d42SEmmanuel Vadot regulator-boot-on; 499*833e5d42SEmmanuel Vadot regulator-enable-ramp-delay = <400>; 500*833e5d42SEmmanuel Vadot regulator-min-microvolt = <550000>; 501*833e5d42SEmmanuel Vadot regulator-max-microvolt = <900000>; 502*833e5d42SEmmanuel Vadot regulator-name = "vdd_gpu_s0"; 503*833e5d42SEmmanuel Vadot regulator-ramp-delay = <12500>; 504*833e5d42SEmmanuel Vadot 505*833e5d42SEmmanuel Vadot regulator-state-mem { 506*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 507*833e5d42SEmmanuel Vadot regulator-suspend-microvolt = <850000>; 508*833e5d42SEmmanuel Vadot }; 509*833e5d42SEmmanuel Vadot }; 510*833e5d42SEmmanuel Vadot 511*833e5d42SEmmanuel Vadot vddq_ddr_s0: dcdc-reg6 { 512*833e5d42SEmmanuel Vadot regulator-always-on; 513*833e5d42SEmmanuel Vadot regulator-boot-on; 514*833e5d42SEmmanuel Vadot regulator-name = "vddq_ddr_s0"; 515*833e5d42SEmmanuel Vadot 516*833e5d42SEmmanuel Vadot regulator-state-mem { 517*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 518*833e5d42SEmmanuel Vadot }; 519*833e5d42SEmmanuel Vadot }; 520*833e5d42SEmmanuel Vadot 521*833e5d42SEmmanuel Vadot vdd_logic_s0: dcdc-reg7 { 522*833e5d42SEmmanuel Vadot regulator-always-on; 523*833e5d42SEmmanuel Vadot regulator-boot-on; 524*833e5d42SEmmanuel Vadot regulator-min-microvolt = <550000>; 525*833e5d42SEmmanuel Vadot regulator-max-microvolt = <800000>; 526*833e5d42SEmmanuel Vadot regulator-name = "vdd_logic_s0"; 527*833e5d42SEmmanuel Vadot 528*833e5d42SEmmanuel Vadot regulator-state-mem { 529*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 530*833e5d42SEmmanuel Vadot }; 531*833e5d42SEmmanuel Vadot }; 532*833e5d42SEmmanuel Vadot 533*833e5d42SEmmanuel Vadot vcc_1v8_s3: dcdc-reg8 { 534*833e5d42SEmmanuel Vadot regulator-always-on; 535*833e5d42SEmmanuel Vadot regulator-boot-on; 536*833e5d42SEmmanuel Vadot regulator-min-microvolt = <1800000>; 537*833e5d42SEmmanuel Vadot regulator-max-microvolt = <1800000>; 538*833e5d42SEmmanuel Vadot regulator-name = "vcc_1v8_s3"; 539*833e5d42SEmmanuel Vadot 540*833e5d42SEmmanuel Vadot regulator-state-mem { 541*833e5d42SEmmanuel Vadot regulator-on-in-suspend; 542*833e5d42SEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 543*833e5d42SEmmanuel Vadot }; 544*833e5d42SEmmanuel Vadot }; 545*833e5d42SEmmanuel Vadot 546*833e5d42SEmmanuel Vadot vdd2_ddr_s3: dcdc-reg9 { 547*833e5d42SEmmanuel Vadot regulator-always-on; 548*833e5d42SEmmanuel Vadot regulator-boot-on; 549*833e5d42SEmmanuel Vadot regulator-name = "vdd2_ddr_s3"; 550*833e5d42SEmmanuel Vadot 551*833e5d42SEmmanuel Vadot regulator-state-mem { 552*833e5d42SEmmanuel Vadot regulator-on-in-suspend; 553*833e5d42SEmmanuel Vadot }; 554*833e5d42SEmmanuel Vadot }; 555*833e5d42SEmmanuel Vadot 556*833e5d42SEmmanuel Vadot vdd_ddr_s0: dcdc-reg10 { 557*833e5d42SEmmanuel Vadot regulator-always-on; 558*833e5d42SEmmanuel Vadot regulator-boot-on; 559*833e5d42SEmmanuel Vadot regulator-min-microvolt = <550000>; 560*833e5d42SEmmanuel Vadot regulator-max-microvolt = <1200000>; 561*833e5d42SEmmanuel Vadot regulator-name = "vdd_ddr_s0"; 562*833e5d42SEmmanuel Vadot 563*833e5d42SEmmanuel Vadot regulator-state-mem { 564*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 565*833e5d42SEmmanuel Vadot }; 566*833e5d42SEmmanuel Vadot }; 567*833e5d42SEmmanuel Vadot 568*833e5d42SEmmanuel Vadot vcca_1v8_s0: pldo-reg1 { 569*833e5d42SEmmanuel Vadot regulator-always-on; 570*833e5d42SEmmanuel Vadot regulator-boot-on; 571*833e5d42SEmmanuel Vadot regulator-min-microvolt = <1800000>; 572*833e5d42SEmmanuel Vadot regulator-max-microvolt = <1800000>; 573*833e5d42SEmmanuel Vadot regulator-name = "vcca_1v8_s0"; 574*833e5d42SEmmanuel Vadot 575*833e5d42SEmmanuel Vadot regulator-state-mem { 576*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 577*833e5d42SEmmanuel Vadot }; 578*833e5d42SEmmanuel Vadot }; 579*833e5d42SEmmanuel Vadot 580*833e5d42SEmmanuel Vadot vcca1v8_pldo2_s0: pldo-reg2 { 581*833e5d42SEmmanuel Vadot regulator-always-on; 582*833e5d42SEmmanuel Vadot regulator-boot-on; 583*833e5d42SEmmanuel Vadot regulator-min-microvolt = <1800000>; 584*833e5d42SEmmanuel Vadot regulator-max-microvolt = <1800000>; 585*833e5d42SEmmanuel Vadot regulator-name = "vcca1v8_pldo2_s0"; 586*833e5d42SEmmanuel Vadot 587*833e5d42SEmmanuel Vadot regulator-state-mem { 588*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 589*833e5d42SEmmanuel Vadot }; 590*833e5d42SEmmanuel Vadot }; 591*833e5d42SEmmanuel Vadot 592*833e5d42SEmmanuel Vadot vdda_1v2_s0: pldo-reg3 { 593*833e5d42SEmmanuel Vadot regulator-always-on; 594*833e5d42SEmmanuel Vadot regulator-boot-on; 595*833e5d42SEmmanuel Vadot regulator-min-microvolt = <1200000>; 596*833e5d42SEmmanuel Vadot regulator-max-microvolt = <1200000>; 597*833e5d42SEmmanuel Vadot regulator-name = "vdda_1v2_s0"; 598*833e5d42SEmmanuel Vadot 599*833e5d42SEmmanuel Vadot regulator-state-mem { 600*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 601*833e5d42SEmmanuel Vadot }; 602*833e5d42SEmmanuel Vadot }; 603*833e5d42SEmmanuel Vadot 604*833e5d42SEmmanuel Vadot vcca_3v3_s0: pldo-reg4 { 605*833e5d42SEmmanuel Vadot regulator-always-on; 606*833e5d42SEmmanuel Vadot regulator-boot-on; 607*833e5d42SEmmanuel Vadot regulator-min-microvolt = <3300000>; 608*833e5d42SEmmanuel Vadot regulator-max-microvolt = <3300000>; 609*833e5d42SEmmanuel Vadot regulator-name = "vcca_3v3_s0"; 610*833e5d42SEmmanuel Vadot 611*833e5d42SEmmanuel Vadot regulator-state-mem { 612*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 613*833e5d42SEmmanuel Vadot }; 614*833e5d42SEmmanuel Vadot }; 615*833e5d42SEmmanuel Vadot 616*833e5d42SEmmanuel Vadot vccio_sd_s0: pldo-reg5 { 617*833e5d42SEmmanuel Vadot regulator-always-on; 618*833e5d42SEmmanuel Vadot regulator-boot-on; 619*833e5d42SEmmanuel Vadot regulator-min-microvolt = <1800000>; 620*833e5d42SEmmanuel Vadot regulator-max-microvolt = <3300000>; 621*833e5d42SEmmanuel Vadot regulator-name = "vccio_sd_s0"; 622*833e5d42SEmmanuel Vadot 623*833e5d42SEmmanuel Vadot regulator-state-mem { 624*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 625*833e5d42SEmmanuel Vadot }; 626*833e5d42SEmmanuel Vadot }; 627*833e5d42SEmmanuel Vadot 628*833e5d42SEmmanuel Vadot vcca1v8_pldo6_s3: pldo-reg6 { 629*833e5d42SEmmanuel Vadot regulator-always-on; 630*833e5d42SEmmanuel Vadot regulator-boot-on; 631*833e5d42SEmmanuel Vadot regulator-min-microvolt = <1800000>; 632*833e5d42SEmmanuel Vadot regulator-max-microvolt = <1800000>; 633*833e5d42SEmmanuel Vadot regulator-name = "vcca1v8_pldo6_s3"; 634*833e5d42SEmmanuel Vadot 635*833e5d42SEmmanuel Vadot regulator-state-mem { 636*833e5d42SEmmanuel Vadot regulator-on-in-suspend; 637*833e5d42SEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 638*833e5d42SEmmanuel Vadot }; 639*833e5d42SEmmanuel Vadot }; 640*833e5d42SEmmanuel Vadot 641*833e5d42SEmmanuel Vadot vdd_0v75_s3: nldo-reg1 { 642*833e5d42SEmmanuel Vadot regulator-always-on; 643*833e5d42SEmmanuel Vadot regulator-boot-on; 644*833e5d42SEmmanuel Vadot regulator-min-microvolt = <750000>; 645*833e5d42SEmmanuel Vadot regulator-max-microvolt = <750000>; 646*833e5d42SEmmanuel Vadot regulator-name = "vdd_0v75_s3"; 647*833e5d42SEmmanuel Vadot 648*833e5d42SEmmanuel Vadot regulator-state-mem { 649*833e5d42SEmmanuel Vadot regulator-on-in-suspend; 650*833e5d42SEmmanuel Vadot regulator-suspend-microvolt = <750000>; 651*833e5d42SEmmanuel Vadot }; 652*833e5d42SEmmanuel Vadot }; 653*833e5d42SEmmanuel Vadot 654*833e5d42SEmmanuel Vadot vdda_ddr_pll_s0: nldo-reg2 { 655*833e5d42SEmmanuel Vadot regulator-always-on; 656*833e5d42SEmmanuel Vadot regulator-boot-on; 657*833e5d42SEmmanuel Vadot regulator-min-microvolt = <850000>; 658*833e5d42SEmmanuel Vadot regulator-max-microvolt = <850000>; 659*833e5d42SEmmanuel Vadot regulator-name = "vdda_ddr_pll_s0"; 660*833e5d42SEmmanuel Vadot 661*833e5d42SEmmanuel Vadot regulator-state-mem { 662*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 663*833e5d42SEmmanuel Vadot }; 664*833e5d42SEmmanuel Vadot }; 665*833e5d42SEmmanuel Vadot 666*833e5d42SEmmanuel Vadot vdda0v75_hdmi_s0: nldo-reg3 { 667*833e5d42SEmmanuel Vadot regulator-always-on; 668*833e5d42SEmmanuel Vadot regulator-boot-on; 669*833e5d42SEmmanuel Vadot regulator-min-microvolt = <837500>; 670*833e5d42SEmmanuel Vadot regulator-max-microvolt = <837500>; 671*833e5d42SEmmanuel Vadot regulator-name = "vdda0v75_hdmi_s0"; 672*833e5d42SEmmanuel Vadot 673*833e5d42SEmmanuel Vadot regulator-state-mem { 674*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 675*833e5d42SEmmanuel Vadot }; 676*833e5d42SEmmanuel Vadot }; 677*833e5d42SEmmanuel Vadot 678*833e5d42SEmmanuel Vadot vdda_0v85_s0: nldo-reg4 { 679*833e5d42SEmmanuel Vadot regulator-always-on; 680*833e5d42SEmmanuel Vadot regulator-boot-on; 681*833e5d42SEmmanuel Vadot regulator-min-microvolt = <850000>; 682*833e5d42SEmmanuel Vadot regulator-max-microvolt = <850000>; 683*833e5d42SEmmanuel Vadot regulator-name = "vdda_0v85_s0"; 684*833e5d42SEmmanuel Vadot 685*833e5d42SEmmanuel Vadot regulator-state-mem { 686*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 687*833e5d42SEmmanuel Vadot }; 688*833e5d42SEmmanuel Vadot }; 689*833e5d42SEmmanuel Vadot 690*833e5d42SEmmanuel Vadot vdda_0v75_s0: nldo-reg5 { 691*833e5d42SEmmanuel Vadot regulator-always-on; 692*833e5d42SEmmanuel Vadot regulator-boot-on; 693*833e5d42SEmmanuel Vadot regulator-min-microvolt = <750000>; 694*833e5d42SEmmanuel Vadot regulator-max-microvolt = <750000>; 695*833e5d42SEmmanuel Vadot regulator-name = "vdda_0v75_s0"; 696*833e5d42SEmmanuel Vadot 697*833e5d42SEmmanuel Vadot regulator-state-mem { 698*833e5d42SEmmanuel Vadot regulator-off-in-suspend; 699*833e5d42SEmmanuel Vadot }; 700*833e5d42SEmmanuel Vadot }; 701*833e5d42SEmmanuel Vadot }; 702*833e5d42SEmmanuel Vadot }; 703*833e5d42SEmmanuel Vadot}; 704*833e5d42SEmmanuel Vadot 705*833e5d42SEmmanuel Vadot&i2c2 { 706*833e5d42SEmmanuel Vadot status = "okay"; 707*833e5d42SEmmanuel Vadot 708*833e5d42SEmmanuel Vadot hym8563: rtc@51 { 709*833e5d42SEmmanuel Vadot compatible = "haoyu,hym8563"; 710*833e5d42SEmmanuel Vadot reg = <0x51>; 711*833e5d42SEmmanuel Vadot #clock-cells = <0>; 712*833e5d42SEmmanuel Vadot clock-output-names = "hym8563"; 713*833e5d42SEmmanuel Vadot interrupt-parent = <&gpio0>; 714*833e5d42SEmmanuel Vadot interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>; 715*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 716*833e5d42SEmmanuel Vadot pinctrl-0 = <&hym8563_int>; 717*833e5d42SEmmanuel Vadot wakeup-source; 718*833e5d42SEmmanuel Vadot }; 719*833e5d42SEmmanuel Vadot}; 720*833e5d42SEmmanuel Vadot 721*833e5d42SEmmanuel Vadot&i2c5 { 722*833e5d42SEmmanuel Vadot clock-frequency = <200000>; 723*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 724*833e5d42SEmmanuel Vadot pinctrl-0 = <&i2c5m3_xfer>; 725*833e5d42SEmmanuel Vadot status = "okay"; 726*833e5d42SEmmanuel Vadot 727*833e5d42SEmmanuel Vadot rt5616: audio-codec@1b { 728*833e5d42SEmmanuel Vadot compatible = "realtek,rt5616"; 729*833e5d42SEmmanuel Vadot reg = <0x1b>; 730*833e5d42SEmmanuel Vadot assigned-clocks = <&cru CLK_SAI2_MCLKOUT>; 731*833e5d42SEmmanuel Vadot assigned-clock-rates = <12288000>; 732*833e5d42SEmmanuel Vadot clocks = <&cru CLK_SAI2_MCLKOUT>; 733*833e5d42SEmmanuel Vadot clock-names = "mclk"; 734*833e5d42SEmmanuel Vadot #sound-dai-cells = <0>; 735*833e5d42SEmmanuel Vadot }; 736*833e5d42SEmmanuel Vadot}; 737*833e5d42SEmmanuel Vadot 738*833e5d42SEmmanuel Vadot&mdio0 { 739*833e5d42SEmmanuel Vadot rgmii_phy0: phy@1 { 740*833e5d42SEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 741*833e5d42SEmmanuel Vadot reg = <0x1>; 742*833e5d42SEmmanuel Vadot clocks = <&cru REFCLKO25M_GMAC0_OUT>; 743*833e5d42SEmmanuel Vadot interrupt-parent = <&gpio2>; 744*833e5d42SEmmanuel Vadot interrupts = <RK_PB1 IRQ_TYPE_LEVEL_LOW>; 745*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 746*833e5d42SEmmanuel Vadot pinctrl-0 = <&gmac0_int>, <&gmac0_rst>; 747*833e5d42SEmmanuel Vadot reset-assert-us = <20000>; 748*833e5d42SEmmanuel Vadot reset-deassert-us = <100000>; 749*833e5d42SEmmanuel Vadot reset-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_LOW>; 750*833e5d42SEmmanuel Vadot }; 751*833e5d42SEmmanuel Vadot}; 752*833e5d42SEmmanuel Vadot 753*833e5d42SEmmanuel Vadot&mdio1 { 754*833e5d42SEmmanuel Vadot rgmii_phy1: phy@1 { 755*833e5d42SEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 756*833e5d42SEmmanuel Vadot reg = <0x1>; 757*833e5d42SEmmanuel Vadot clocks = <&cru REFCLKO25M_GMAC1_OUT>; 758*833e5d42SEmmanuel Vadot interrupt-parent = <&gpio3>; 759*833e5d42SEmmanuel Vadot interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 760*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 761*833e5d42SEmmanuel Vadot pinctrl-0 = <&gmac1_int>, <&gmac1_rst>; 762*833e5d42SEmmanuel Vadot reset-assert-us = <20000>; 763*833e5d42SEmmanuel Vadot reset-deassert-us = <100000>; 764*833e5d42SEmmanuel Vadot reset-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; 765*833e5d42SEmmanuel Vadot }; 766*833e5d42SEmmanuel Vadot}; 767*833e5d42SEmmanuel Vadot 768*833e5d42SEmmanuel Vadot&pcie0 { 769*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 770*833e5d42SEmmanuel Vadot pinctrl-0 = <&pcie0_perstn>; 771*833e5d42SEmmanuel Vadot reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>; 772*833e5d42SEmmanuel Vadot vpcie3v3-supply = <&vcc3v3_m2_keym>; 773*833e5d42SEmmanuel Vadot status = "okay"; 774*833e5d42SEmmanuel Vadot}; 775*833e5d42SEmmanuel Vadot 776*833e5d42SEmmanuel Vadot&pinctrl { 777*833e5d42SEmmanuel Vadot gmac { 778*833e5d42SEmmanuel Vadot gmac0_int: gmac0-int { 779*833e5d42SEmmanuel Vadot rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 780*833e5d42SEmmanuel Vadot }; 781*833e5d42SEmmanuel Vadot gmac0_rst: gmac0-rst { 782*833e5d42SEmmanuel Vadot rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 783*833e5d42SEmmanuel Vadot }; 784*833e5d42SEmmanuel Vadot gmac1_int: gmac1-int { 785*833e5d42SEmmanuel Vadot rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 786*833e5d42SEmmanuel Vadot }; 787*833e5d42SEmmanuel Vadot gmac1_rst: gmac1-rst { 788*833e5d42SEmmanuel Vadot rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 789*833e5d42SEmmanuel Vadot }; 790*833e5d42SEmmanuel Vadot }; 791*833e5d42SEmmanuel Vadot 792*833e5d42SEmmanuel Vadot hym8563 { 793*833e5d42SEmmanuel Vadot hym8563_int: hym8563-int { 794*833e5d42SEmmanuel Vadot rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 795*833e5d42SEmmanuel Vadot }; 796*833e5d42SEmmanuel Vadot }; 797*833e5d42SEmmanuel Vadot 798*833e5d42SEmmanuel Vadot keys { 799*833e5d42SEmmanuel Vadot usr_button_l: usr-button-l { 800*833e5d42SEmmanuel Vadot rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 801*833e5d42SEmmanuel Vadot }; 802*833e5d42SEmmanuel Vadot }; 803*833e5d42SEmmanuel Vadot 804*833e5d42SEmmanuel Vadot leds { 805*833e5d42SEmmanuel Vadot led_sys_h: led-sys-h { 806*833e5d42SEmmanuel Vadot rockchip,pins = <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 807*833e5d42SEmmanuel Vadot }; 808*833e5d42SEmmanuel Vadot led1_h: led1-h { 809*833e5d42SEmmanuel Vadot rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 810*833e5d42SEmmanuel Vadot }; 811*833e5d42SEmmanuel Vadot led2_h: led2-h { 812*833e5d42SEmmanuel Vadot rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 813*833e5d42SEmmanuel Vadot }; 814*833e5d42SEmmanuel Vadot }; 815*833e5d42SEmmanuel Vadot 816*833e5d42SEmmanuel Vadot pcie { 817*833e5d42SEmmanuel Vadot pcie0_pwren_h: pcie0-pwren-h { 818*833e5d42SEmmanuel Vadot rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 819*833e5d42SEmmanuel Vadot }; 820*833e5d42SEmmanuel Vadot pcie0_perstn: pcie0-perstn { 821*833e5d42SEmmanuel Vadot rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 822*833e5d42SEmmanuel Vadot }; 823*833e5d42SEmmanuel Vadot }; 824*833e5d42SEmmanuel Vadot 825*833e5d42SEmmanuel Vadot sdmmc { 826*833e5d42SEmmanuel Vadot sdmmc0_pwren_h: sdmmc0-pwren-h { 827*833e5d42SEmmanuel Vadot rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>; 828*833e5d42SEmmanuel Vadot }; 829*833e5d42SEmmanuel Vadot }; 830*833e5d42SEmmanuel Vadot 831*833e5d42SEmmanuel Vadot sound { 832*833e5d42SEmmanuel Vadot hp_det_l: hp-det-l { 833*833e5d42SEmmanuel Vadot rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 834*833e5d42SEmmanuel Vadot }; 835*833e5d42SEmmanuel Vadot }; 836*833e5d42SEmmanuel Vadot 837*833e5d42SEmmanuel Vadot usb { 838*833e5d42SEmmanuel Vadot usb3_host_pwren_h: usb3-host-pwren-h { 839*833e5d42SEmmanuel Vadot rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 840*833e5d42SEmmanuel Vadot }; 841*833e5d42SEmmanuel Vadot usb_otg0_pwren_h: usb-otg0-pwren-h { 842*833e5d42SEmmanuel Vadot rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>; 843*833e5d42SEmmanuel Vadot }; 844*833e5d42SEmmanuel Vadot }; 845*833e5d42SEmmanuel Vadot}; 846*833e5d42SEmmanuel Vadot 847*833e5d42SEmmanuel Vadot&sai2 { 848*833e5d42SEmmanuel Vadot status = "okay"; 849*833e5d42SEmmanuel Vadot}; 850*833e5d42SEmmanuel Vadot 851*833e5d42SEmmanuel Vadot&saradc { 852*833e5d42SEmmanuel Vadot vref-supply = <&vcca_1v8_s0>; 853*833e5d42SEmmanuel Vadot status = "okay"; 854*833e5d42SEmmanuel Vadot}; 855*833e5d42SEmmanuel Vadot 856*833e5d42SEmmanuel Vadot&sdmmc { 857*833e5d42SEmmanuel Vadot bus-width = <4>; 858*833e5d42SEmmanuel Vadot cap-mmc-highspeed; 859*833e5d42SEmmanuel Vadot cap-sd-highspeed; 860*833e5d42SEmmanuel Vadot disable-wp; 861*833e5d42SEmmanuel Vadot no-mmc; 862*833e5d42SEmmanuel Vadot no-sdio; 863*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 864*833e5d42SEmmanuel Vadot pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_det>, <&sdmmc0_bus4>; 865*833e5d42SEmmanuel Vadot sd-uhs-sdr104; 866*833e5d42SEmmanuel Vadot vmmc-supply = <&vcc_3v3_s3>; 867*833e5d42SEmmanuel Vadot vqmmc-supply = <&vcc3v3_sd_s0>; 868*833e5d42SEmmanuel Vadot status = "okay"; 869*833e5d42SEmmanuel Vadot}; 870*833e5d42SEmmanuel Vadot 871*833e5d42SEmmanuel Vadot&sfc1 { 872*833e5d42SEmmanuel Vadot pinctrl-names = "default"; 873*833e5d42SEmmanuel Vadot pinctrl-0 = <&fspi1m1_csn0>, <&fspi1m1_pins>; 874*833e5d42SEmmanuel Vadot status = "okay"; 875*833e5d42SEmmanuel Vadot 876*833e5d42SEmmanuel Vadot flash@0 { 877*833e5d42SEmmanuel Vadot compatible = "jedec,spi-nor"; 878*833e5d42SEmmanuel Vadot reg = <0>; 879*833e5d42SEmmanuel Vadot m25p,fast-read; 880*833e5d42SEmmanuel Vadot spi-max-frequency = <50000000>; 881*833e5d42SEmmanuel Vadot spi-rx-bus-width = <4>; 882*833e5d42SEmmanuel Vadot spi-tx-bus-width = <1>; 883*833e5d42SEmmanuel Vadot vcc-supply = <&vcc_1v8_s3>; 884*833e5d42SEmmanuel Vadot }; 885*833e5d42SEmmanuel Vadot}; 886*833e5d42SEmmanuel Vadot 887*833e5d42SEmmanuel Vadot&u2phy0 { 888*833e5d42SEmmanuel Vadot status = "okay"; 889*833e5d42SEmmanuel Vadot}; 890*833e5d42SEmmanuel Vadot 891*833e5d42SEmmanuel Vadot&u2phy0_otg { 892*833e5d42SEmmanuel Vadot phy-supply = <&vcc5v0_usb_otg0>; 893*833e5d42SEmmanuel Vadot status = "okay"; 894*833e5d42SEmmanuel Vadot}; 895*833e5d42SEmmanuel Vadot 896*833e5d42SEmmanuel Vadot&u2phy1 { 897*833e5d42SEmmanuel Vadot status = "okay"; 898*833e5d42SEmmanuel Vadot}; 899*833e5d42SEmmanuel Vadot 900*833e5d42SEmmanuel Vadot&u2phy1_otg { 901*833e5d42SEmmanuel Vadot phy-supply = <&usb3_port2_5v>; 902*833e5d42SEmmanuel Vadot status = "okay"; 903*833e5d42SEmmanuel Vadot}; 904*833e5d42SEmmanuel Vadot 905*833e5d42SEmmanuel Vadot&uart0 { 906*833e5d42SEmmanuel Vadot status = "okay"; 907*833e5d42SEmmanuel Vadot}; 908*833e5d42SEmmanuel Vadot 909*833e5d42SEmmanuel Vadot&usbdp_phy { 910*833e5d42SEmmanuel Vadot status = "okay"; 911*833e5d42SEmmanuel Vadot}; 912*833e5d42SEmmanuel Vadot 913*833e5d42SEmmanuel Vadot&usb_drd0_dwc3 { 914*833e5d42SEmmanuel Vadot dr_mode = "otg"; 915*833e5d42SEmmanuel Vadot extcon = <&u2phy0>; 916*833e5d42SEmmanuel Vadot status = "okay"; 917*833e5d42SEmmanuel Vadot}; 918*833e5d42SEmmanuel Vadot 919*833e5d42SEmmanuel Vadot&usb_drd1_dwc3 { 920*833e5d42SEmmanuel Vadot dr_mode = "host"; 921*833e5d42SEmmanuel Vadot status = "okay"; 922*833e5d42SEmmanuel Vadot}; 923*833e5d42SEmmanuel Vadot 924*833e5d42SEmmanuel Vadot&vop { 925*833e5d42SEmmanuel Vadot status = "okay"; 926*833e5d42SEmmanuel Vadot}; 927*833e5d42SEmmanuel Vadot 928*833e5d42SEmmanuel Vadot&vop_mmu { 929*833e5d42SEmmanuel Vadot status = "okay"; 930*833e5d42SEmmanuel Vadot}; 931*833e5d42SEmmanuel Vadot 932*833e5d42SEmmanuel Vadot&vp0 { 933*833e5d42SEmmanuel Vadot vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 934*833e5d42SEmmanuel Vadot reg = <ROCKCHIP_VOP2_EP_HDMI0>; 935*833e5d42SEmmanuel Vadot remote-endpoint = <&hdmi_in_vp0>; 936*833e5d42SEmmanuel Vadot }; 937*833e5d42SEmmanuel Vadot}; 938*833e5d42SEmmanuel Vadot 939*833e5d42SEmmanuel Vadot&wdt { 940*833e5d42SEmmanuel Vadot status = "okay"; 941*833e5d42SEmmanuel Vadot}; 942