1*01950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*01950c46SEmmanuel Vadot 3*01950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 4*01950c46SEmmanuel Vadot#include <dt-bindings/input/gpio-keys.h> 5*01950c46SEmmanuel Vadot#include <dt-bindings/input/input.h> 6*01950c46SEmmanuel Vadot#include <dt-bindings/leds/common.h> 7*01950c46SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 8*01950c46SEmmanuel Vadot#include <dt-bindings/soc/rockchip,vop2.h> 9*01950c46SEmmanuel Vadot#include <dt-bindings/usb/pd.h> 10*01950c46SEmmanuel Vadot#include "rk3566.dtsi" 11*01950c46SEmmanuel Vadot 12*01950c46SEmmanuel Vadot/ { 13*01950c46SEmmanuel Vadot chassis-type = "tablet"; 14*01950c46SEmmanuel Vadot 15*01950c46SEmmanuel Vadot aliases { 16*01950c46SEmmanuel Vadot mmc0 = &sdhci; 17*01950c46SEmmanuel Vadot mmc1 = &sdmmc0; 18*01950c46SEmmanuel Vadot }; 19*01950c46SEmmanuel Vadot 20*01950c46SEmmanuel Vadot chosen { 21*01950c46SEmmanuel Vadot stdout-path = "serial2:1500000n8"; 22*01950c46SEmmanuel Vadot }; 23*01950c46SEmmanuel Vadot 24*01950c46SEmmanuel Vadot adc-keys { 25*01950c46SEmmanuel Vadot compatible = "adc-keys"; 26*01950c46SEmmanuel Vadot io-channels = <&saradc 0>; 27*01950c46SEmmanuel Vadot io-channel-names = "buttons"; 28*01950c46SEmmanuel Vadot keyup-threshold-microvolt = <1800000>; 29*01950c46SEmmanuel Vadot poll-interval = <25>; 30*01950c46SEmmanuel Vadot 31*01950c46SEmmanuel Vadot button-vol-up { 32*01950c46SEmmanuel Vadot label = "Volume Up"; 33*01950c46SEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 34*01950c46SEmmanuel Vadot press-threshold-microvolt = <297500>; 35*01950c46SEmmanuel Vadot }; 36*01950c46SEmmanuel Vadot 37*01950c46SEmmanuel Vadot button-vol-down { 38*01950c46SEmmanuel Vadot label = "Volume Down"; 39*01950c46SEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 40*01950c46SEmmanuel Vadot press-threshold-microvolt = <1750>; 41*01950c46SEmmanuel Vadot }; 42*01950c46SEmmanuel Vadot }; 43*01950c46SEmmanuel Vadot 44*01950c46SEmmanuel Vadot backlight: backlight { 45*01950c46SEmmanuel Vadot compatible = "pwm-backlight"; 46*01950c46SEmmanuel Vadot pwms = <&pwm4 0 25000 0>; 47*01950c46SEmmanuel Vadot brightness-levels = <20 220>; 48*01950c46SEmmanuel Vadot num-interpolated-steps = <200>; 49*01950c46SEmmanuel Vadot default-brightness-level = <100>; 50*01950c46SEmmanuel Vadot power-supply = <&vcc_sys>; 51*01950c46SEmmanuel Vadot }; 52*01950c46SEmmanuel Vadot 53*01950c46SEmmanuel Vadot battery: battery { 54*01950c46SEmmanuel Vadot compatible = "simple-battery"; 55*01950c46SEmmanuel Vadot charge-full-design-microamp-hours = <6000000>; 56*01950c46SEmmanuel Vadot charge-term-current-microamp = <300000>; 57*01950c46SEmmanuel Vadot constant-charge-current-max-microamp = <2000000>; 58*01950c46SEmmanuel Vadot constant-charge-voltage-max-microvolt = <4300000>; 59*01950c46SEmmanuel Vadot voltage-max-design-microvolt = <4350000>; 60*01950c46SEmmanuel Vadot voltage-min-design-microvolt = <3400000>; 61*01950c46SEmmanuel Vadot 62*01950c46SEmmanuel Vadot ocv-capacity-celsius = <20>; 63*01950c46SEmmanuel Vadot ocv-capacity-table-0 = <4322000 100>, <4250000 95>, <4192000 90>, <4136000 85>, 64*01950c46SEmmanuel Vadot <4080000 80>, <4022000 75>, <3972000 70>, <3928000 65>, 65*01950c46SEmmanuel Vadot <3885000 60>, <3833000 55>, <3798000 50>, <3780000 45>, 66*01950c46SEmmanuel Vadot <3776000 40>, <3773000 35>, <3755000 30>, <3706000 25>, 67*01950c46SEmmanuel Vadot <3640000 20>, <3589000 15>, <3535000 10>, <3492000 5>, 68*01950c46SEmmanuel Vadot <3400000 0>; 69*01950c46SEmmanuel Vadot }; 70*01950c46SEmmanuel Vadot 71*01950c46SEmmanuel Vadot gpio_keys: gpio-keys { 72*01950c46SEmmanuel Vadot compatible = "gpio-keys"; 73*01950c46SEmmanuel Vadot pinctrl-names = "default"; 74*01950c46SEmmanuel Vadot pinctrl-0 = <&kb_id_det>; 75*01950c46SEmmanuel Vadot 76*01950c46SEmmanuel Vadot tablet-mode-switch { 77*01950c46SEmmanuel Vadot debounce-interval = <20>; 78*01950c46SEmmanuel Vadot gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>; 79*01950c46SEmmanuel Vadot label = "Tablet Mode"; 80*01950c46SEmmanuel Vadot linux,input-type = <EV_SW>; 81*01950c46SEmmanuel Vadot linux,code = <SW_TABLET_MODE>; 82*01950c46SEmmanuel Vadot }; 83*01950c46SEmmanuel Vadot }; 84*01950c46SEmmanuel Vadot 85*01950c46SEmmanuel Vadot hdmi-connector { 86*01950c46SEmmanuel Vadot compatible = "hdmi-connector"; 87*01950c46SEmmanuel Vadot type = "d"; 88*01950c46SEmmanuel Vadot 89*01950c46SEmmanuel Vadot port { 90*01950c46SEmmanuel Vadot hdmi_con_in: endpoint { 91*01950c46SEmmanuel Vadot remote-endpoint = <&hdmi_out_con>; 92*01950c46SEmmanuel Vadot }; 93*01950c46SEmmanuel Vadot }; 94*01950c46SEmmanuel Vadot }; 95*01950c46SEmmanuel Vadot 96*01950c46SEmmanuel Vadot led-0 { 97*01950c46SEmmanuel Vadot compatible = "regulator-led"; 98*01950c46SEmmanuel Vadot vled-supply = <&vcc5v0_flashled>; 99*01950c46SEmmanuel Vadot color = <LED_COLOR_ID_WHITE>; 100*01950c46SEmmanuel Vadot function = LED_FUNCTION_FLASH; 101*01950c46SEmmanuel Vadot }; 102*01950c46SEmmanuel Vadot 103*01950c46SEmmanuel Vadot rk817-sound { 104*01950c46SEmmanuel Vadot compatible = "simple-audio-card"; 105*01950c46SEmmanuel Vadot pinctrl-names = "default"; 106*01950c46SEmmanuel Vadot pinctrl-0 = <&hp_det_l>; 107*01950c46SEmmanuel Vadot simple-audio-card,format = "i2s"; 108*01950c46SEmmanuel Vadot simple-audio-card,name = "rk817_ext"; 109*01950c46SEmmanuel Vadot simple-audio-card,mclk-fs = <256>; 110*01950c46SEmmanuel Vadot 111*01950c46SEmmanuel Vadot simple-audio-card,widgets = 112*01950c46SEmmanuel Vadot "Microphone", "Mic Jack", 113*01950c46SEmmanuel Vadot "Headphone", "Headphones", 114*01950c46SEmmanuel Vadot "Speaker", "Internal Speakers"; 115*01950c46SEmmanuel Vadot 116*01950c46SEmmanuel Vadot simple-audio-card,routing = 117*01950c46SEmmanuel Vadot "MICR", "Mic Jack", 118*01950c46SEmmanuel Vadot "Headphones", "HPOL", 119*01950c46SEmmanuel Vadot "Headphones", "HPOR", 120*01950c46SEmmanuel Vadot "Internal Speakers", "Speaker Amplifier OUTL", 121*01950c46SEmmanuel Vadot "Internal Speakers", "Speaker Amplifier OUTR", 122*01950c46SEmmanuel Vadot "Speaker Amplifier INL", "HPOL", 123*01950c46SEmmanuel Vadot "Speaker Amplifier INR", "HPOR"; 124*01950c46SEmmanuel Vadot simple-audio-card,hp-det-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>; 125*01950c46SEmmanuel Vadot simple-audio-card,aux-devs = <&speaker_amp>; 126*01950c46SEmmanuel Vadot simple-audio-card,pin-switches = "Internal Speakers"; 127*01950c46SEmmanuel Vadot 128*01950c46SEmmanuel Vadot simple-audio-card,cpu { 129*01950c46SEmmanuel Vadot sound-dai = <&i2s1_8ch>; 130*01950c46SEmmanuel Vadot }; 131*01950c46SEmmanuel Vadot 132*01950c46SEmmanuel Vadot simple-audio-card,codec { 133*01950c46SEmmanuel Vadot sound-dai = <&rk817>; 134*01950c46SEmmanuel Vadot }; 135*01950c46SEmmanuel Vadot }; 136*01950c46SEmmanuel Vadot 137*01950c46SEmmanuel Vadot speaker_amp: speaker-amplifier { 138*01950c46SEmmanuel Vadot compatible = "simple-audio-amplifier"; 139*01950c46SEmmanuel Vadot pinctrl-names = "default"; 140*01950c46SEmmanuel Vadot pinctrl-0 = <&spk_ctl>; 141*01950c46SEmmanuel Vadot enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; 142*01950c46SEmmanuel Vadot sound-name-prefix = "Speaker Amplifier"; 143*01950c46SEmmanuel Vadot VCC-supply = <&vcc_bat>; 144*01950c46SEmmanuel Vadot }; 145*01950c46SEmmanuel Vadot 146*01950c46SEmmanuel Vadot vcc_3v3: vcc-3v3-regulator { 147*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 148*01950c46SEmmanuel Vadot regulator-name = "vcc_3v3"; 149*01950c46SEmmanuel Vadot regulator-always-on; 150*01950c46SEmmanuel Vadot regulator-boot-on; 151*01950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 152*01950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 153*01950c46SEmmanuel Vadot vin-supply = <&vcc3v3_sys>; 154*01950c46SEmmanuel Vadot }; 155*01950c46SEmmanuel Vadot 156*01950c46SEmmanuel Vadot vcc3v3_minipcie: vcc3v3-minipcie-regulator { 157*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 158*01950c46SEmmanuel Vadot enable-active-high; 159*01950c46SEmmanuel Vadot gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_HIGH>; 160*01950c46SEmmanuel Vadot pinctrl-names = "default"; 161*01950c46SEmmanuel Vadot pinctrl-0 = <&pcie_pwren_h>; 162*01950c46SEmmanuel Vadot regulator-name = "vcc3v3_minipcie"; 163*01950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 164*01950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 165*01950c46SEmmanuel Vadot vin-supply = <&vcc_sys>; 166*01950c46SEmmanuel Vadot }; 167*01950c46SEmmanuel Vadot 168*01950c46SEmmanuel Vadot vcc3v3_sd: vcc3v3-sd-regulator { 169*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 170*01950c46SEmmanuel Vadot gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 171*01950c46SEmmanuel Vadot pinctrl-names = "default"; 172*01950c46SEmmanuel Vadot pinctrl-0 = <&sdmmc_pwren_l>; 173*01950c46SEmmanuel Vadot regulator-name = "vcc3v3_sd"; 174*01950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 175*01950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 176*01950c46SEmmanuel Vadot vin-supply = <&vcc3v3_sys>; 177*01950c46SEmmanuel Vadot }; 178*01950c46SEmmanuel Vadot 179*01950c46SEmmanuel Vadot vcc5v0_flashled: vcc5v0-flashled-regulator { 180*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 181*01950c46SEmmanuel Vadot enable-active-high; 182*01950c46SEmmanuel Vadot gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 183*01950c46SEmmanuel Vadot pinctrl-names = "default"; 184*01950c46SEmmanuel Vadot pinctrl-0 = <&flash_led_en_h>; 185*01950c46SEmmanuel Vadot regulator-name = "vcc5v0_flashled"; 186*01950c46SEmmanuel Vadot regulator-min-microvolt = <5000000>; 187*01950c46SEmmanuel Vadot regulator-max-microvolt = <5000000>; 188*01950c46SEmmanuel Vadot vin-supply = <&vcc5v_midu>; 189*01950c46SEmmanuel Vadot }; 190*01950c46SEmmanuel Vadot 191*01950c46SEmmanuel Vadot vcc5v0_usb_host0: vcc5v0-usb-host0-regulator { 192*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 193*01950c46SEmmanuel Vadot enable-active-high; 194*01950c46SEmmanuel Vadot gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; 195*01950c46SEmmanuel Vadot pinctrl-names = "default"; 196*01950c46SEmmanuel Vadot pinctrl-0 = <&usb_host_pwren1_h>; 197*01950c46SEmmanuel Vadot regulator-name = "vcc5v0_usb_host0"; 198*01950c46SEmmanuel Vadot regulator-min-microvolt = <5000000>; 199*01950c46SEmmanuel Vadot regulator-max-microvolt = <5000000>; 200*01950c46SEmmanuel Vadot vin-supply = <&vcc5v_midu>; 201*01950c46SEmmanuel Vadot }; 202*01950c46SEmmanuel Vadot 203*01950c46SEmmanuel Vadot vcc5v0_usb_host2: vcc5v0-usb-host2-regulator { 204*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 205*01950c46SEmmanuel Vadot enable-active-high; 206*01950c46SEmmanuel Vadot gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; 207*01950c46SEmmanuel Vadot pinctrl-names = "default"; 208*01950c46SEmmanuel Vadot pinctrl-0 = <&usb_host_pwren2_h>; 209*01950c46SEmmanuel Vadot regulator-name = "vcc5v0_usb_host2"; 210*01950c46SEmmanuel Vadot regulator-min-microvolt = <5000000>; 211*01950c46SEmmanuel Vadot regulator-max-microvolt = <5000000>; 212*01950c46SEmmanuel Vadot vin-supply = <&vcc5v_midu>; 213*01950c46SEmmanuel Vadot }; 214*01950c46SEmmanuel Vadot 215*01950c46SEmmanuel Vadot vcc_bat: vcc-bat-regulator { 216*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 217*01950c46SEmmanuel Vadot regulator-name = "vcc_bat"; 218*01950c46SEmmanuel Vadot regulator-always-on; 219*01950c46SEmmanuel Vadot regulator-boot-on; 220*01950c46SEmmanuel Vadot }; 221*01950c46SEmmanuel Vadot 222*01950c46SEmmanuel Vadot vcc_sys: vcc-sys-regulator { 223*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 224*01950c46SEmmanuel Vadot regulator-name = "vcc_sys"; 225*01950c46SEmmanuel Vadot regulator-always-on; 226*01950c46SEmmanuel Vadot regulator-boot-on; 227*01950c46SEmmanuel Vadot vin-supply = <&vcc_bat>; 228*01950c46SEmmanuel Vadot }; 229*01950c46SEmmanuel Vadot 230*01950c46SEmmanuel Vadot vdd1v2_dvp: vdd1v2-dvp-regulator { 231*01950c46SEmmanuel Vadot compatible = "regulator-fixed"; 232*01950c46SEmmanuel Vadot regulator-name = "vdd1v2_dvp"; 233*01950c46SEmmanuel Vadot regulator-min-microvolt = <1200000>; 234*01950c46SEmmanuel Vadot regulator-max-microvolt = <1200000>; 235*01950c46SEmmanuel Vadot vin-supply = <&vcc_3v3>; 236*01950c46SEmmanuel Vadot }; 237*01950c46SEmmanuel Vadot}; 238*01950c46SEmmanuel Vadot 239*01950c46SEmmanuel Vadot&combphy1 { 240*01950c46SEmmanuel Vadot status = "okay"; 241*01950c46SEmmanuel Vadot}; 242*01950c46SEmmanuel Vadot 243*01950c46SEmmanuel Vadot&combphy2 { 244*01950c46SEmmanuel Vadot status = "okay"; 245*01950c46SEmmanuel Vadot}; 246*01950c46SEmmanuel Vadot 247*01950c46SEmmanuel Vadot&cpu0 { 248*01950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 249*01950c46SEmmanuel Vadot}; 250*01950c46SEmmanuel Vadot 251*01950c46SEmmanuel Vadot&cpu1 { 252*01950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 253*01950c46SEmmanuel Vadot}; 254*01950c46SEmmanuel Vadot 255*01950c46SEmmanuel Vadot&cpu2 { 256*01950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 257*01950c46SEmmanuel Vadot}; 258*01950c46SEmmanuel Vadot 259*01950c46SEmmanuel Vadot&cpu3 { 260*01950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 261*01950c46SEmmanuel Vadot}; 262*01950c46SEmmanuel Vadot 263*01950c46SEmmanuel Vadot&cru { 264*01950c46SEmmanuel Vadot assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, 265*01950c46SEmmanuel Vadot <&pmucru PLL_PPLL>, <&cru PLL_VPLL>; 266*01950c46SEmmanuel Vadot assigned-clock-rates = <32768>, <1200000000>, <200000000>, <500000000>; 267*01950c46SEmmanuel Vadot assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>; 268*01950c46SEmmanuel Vadot}; 269*01950c46SEmmanuel Vadot 270*01950c46SEmmanuel Vadot&csi_dphy { 271*01950c46SEmmanuel Vadot status = "okay"; 272*01950c46SEmmanuel Vadot}; 273*01950c46SEmmanuel Vadot 274*01950c46SEmmanuel Vadot&dsi0 { 275*01950c46SEmmanuel Vadot status = "okay"; 276*01950c46SEmmanuel Vadot clock-master; 277*01950c46SEmmanuel Vadot #address-cells = <1>; 278*01950c46SEmmanuel Vadot #size-cells = <0>; 279*01950c46SEmmanuel Vadot 280*01950c46SEmmanuel Vadot lcd: panel@0 { 281*01950c46SEmmanuel Vadot compatible = "boe,th101mb31ig002-28a"; 282*01950c46SEmmanuel Vadot reg = <0>; 283*01950c46SEmmanuel Vadot backlight = <&backlight>; 284*01950c46SEmmanuel Vadot enable-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 285*01950c46SEmmanuel Vadot rotation = <90>; 286*01950c46SEmmanuel Vadot power-supply = <&vcc_3v3>; 287*01950c46SEmmanuel Vadot 288*01950c46SEmmanuel Vadot port@0 { 289*01950c46SEmmanuel Vadot panel_in_dsi: endpoint@0 { 290*01950c46SEmmanuel Vadot remote-endpoint = <&dsi0_out_con>; 291*01950c46SEmmanuel Vadot }; 292*01950c46SEmmanuel Vadot }; 293*01950c46SEmmanuel Vadot }; 294*01950c46SEmmanuel Vadot}; 295*01950c46SEmmanuel Vadot 296*01950c46SEmmanuel Vadot&dsi0_in { 297*01950c46SEmmanuel Vadot dsi0_in_vp1: endpoint { 298*01950c46SEmmanuel Vadot remote-endpoint = <&vp1_out_dsi0>; 299*01950c46SEmmanuel Vadot }; 300*01950c46SEmmanuel Vadot}; 301*01950c46SEmmanuel Vadot 302*01950c46SEmmanuel Vadot&dsi0_out { 303*01950c46SEmmanuel Vadot dsi0_out_con: endpoint { 304*01950c46SEmmanuel Vadot remote-endpoint = <&panel_in_dsi>; 305*01950c46SEmmanuel Vadot }; 306*01950c46SEmmanuel Vadot}; 307*01950c46SEmmanuel Vadot 308*01950c46SEmmanuel Vadot&dsi_dphy0 { 309*01950c46SEmmanuel Vadot status = "okay"; 310*01950c46SEmmanuel Vadot}; 311*01950c46SEmmanuel Vadot 312*01950c46SEmmanuel Vadot&gpu { 313*01950c46SEmmanuel Vadot mali-supply = <&vdd_gpu_npu>; 314*01950c46SEmmanuel Vadot status = "okay"; 315*01950c46SEmmanuel Vadot}; 316*01950c46SEmmanuel Vadot 317*01950c46SEmmanuel Vadot&hdmi { 318*01950c46SEmmanuel Vadot avdd-0v9-supply = <&vdda_0v9_p>; 319*01950c46SEmmanuel Vadot avdd-1v8-supply = <&vcc_1v8>; 320*01950c46SEmmanuel Vadot status = "okay"; 321*01950c46SEmmanuel Vadot}; 322*01950c46SEmmanuel Vadot 323*01950c46SEmmanuel Vadot&hdmi_in { 324*01950c46SEmmanuel Vadot hdmi_in_vp0: endpoint { 325*01950c46SEmmanuel Vadot remote-endpoint = <&vp0_out_hdmi>; 326*01950c46SEmmanuel Vadot }; 327*01950c46SEmmanuel Vadot}; 328*01950c46SEmmanuel Vadot 329*01950c46SEmmanuel Vadot&hdmi_out { 330*01950c46SEmmanuel Vadot hdmi_out_con: endpoint { 331*01950c46SEmmanuel Vadot remote-endpoint = <&hdmi_con_in>; 332*01950c46SEmmanuel Vadot }; 333*01950c46SEmmanuel Vadot}; 334*01950c46SEmmanuel Vadot 335*01950c46SEmmanuel Vadot&hdmi_sound { 336*01950c46SEmmanuel Vadot status = "okay"; 337*01950c46SEmmanuel Vadot}; 338*01950c46SEmmanuel Vadot 339*01950c46SEmmanuel Vadot&i2c0 { 340*01950c46SEmmanuel Vadot clock-frequency = <400000>; 341*01950c46SEmmanuel Vadot status = "okay"; 342*01950c46SEmmanuel Vadot 343*01950c46SEmmanuel Vadot vdd_cpu: regulator@1c { 344*01950c46SEmmanuel Vadot compatible = "tcs,tcs4525"; 345*01950c46SEmmanuel Vadot reg = <0x1c>; 346*01950c46SEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 347*01950c46SEmmanuel Vadot regulator-name = "vdd_cpu"; 348*01950c46SEmmanuel Vadot regulator-min-microvolt = <800000>; 349*01950c46SEmmanuel Vadot regulator-max-microvolt = <1150000>; 350*01950c46SEmmanuel Vadot regulator-ramp-delay = <2300>; 351*01950c46SEmmanuel Vadot regulator-always-on; 352*01950c46SEmmanuel Vadot regulator-boot-on; 353*01950c46SEmmanuel Vadot vin-supply = <&vcc_sys>; 354*01950c46SEmmanuel Vadot 355*01950c46SEmmanuel Vadot regulator-state-mem { 356*01950c46SEmmanuel Vadot regulator-off-in-suspend; 357*01950c46SEmmanuel Vadot }; 358*01950c46SEmmanuel Vadot }; 359*01950c46SEmmanuel Vadot 360*01950c46SEmmanuel Vadot rk817: pmic@20 { 361*01950c46SEmmanuel Vadot compatible = "rockchip,rk817"; 362*01950c46SEmmanuel Vadot reg = <0x20>; 363*01950c46SEmmanuel Vadot interrupt-parent = <&gpio0>; 364*01950c46SEmmanuel Vadot interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 365*01950c46SEmmanuel Vadot assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 366*01950c46SEmmanuel Vadot assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 367*01950c46SEmmanuel Vadot clock-names = "mclk"; 368*01950c46SEmmanuel Vadot clocks = <&cru I2S1_MCLKOUT_TX>; 369*01950c46SEmmanuel Vadot clock-output-names = "rk808-clkout1", "rk808-clkout2"; 370*01950c46SEmmanuel Vadot #clock-cells = <1>; 371*01950c46SEmmanuel Vadot pinctrl-names = "default"; 372*01950c46SEmmanuel Vadot pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>; 373*01950c46SEmmanuel Vadot rockchip,system-power-controller; 374*01950c46SEmmanuel Vadot #sound-dai-cells = <0>; 375*01950c46SEmmanuel Vadot wakeup-source; 376*01950c46SEmmanuel Vadot 377*01950c46SEmmanuel Vadot vcc1-supply = <&vcc_sys>; 378*01950c46SEmmanuel Vadot vcc2-supply = <&vcc_sys>; 379*01950c46SEmmanuel Vadot vcc3-supply = <&vcc_sys>; 380*01950c46SEmmanuel Vadot vcc4-supply = <&vcc_sys>; 381*01950c46SEmmanuel Vadot vcc5-supply = <&vcc_sys>; 382*01950c46SEmmanuel Vadot vcc6-supply = <&vcc_sys>; 383*01950c46SEmmanuel Vadot vcc7-supply = <&vcc_sys>; 384*01950c46SEmmanuel Vadot vcc8-supply = <&vcc_sys>; 385*01950c46SEmmanuel Vadot vcc9-supply = <&vcc5v_midu>; 386*01950c46SEmmanuel Vadot 387*01950c46SEmmanuel Vadot regulators { 388*01950c46SEmmanuel Vadot vdd_logic: DCDC_REG1 { 389*01950c46SEmmanuel Vadot regulator-always-on; 390*01950c46SEmmanuel Vadot regulator-boot-on; 391*01950c46SEmmanuel Vadot regulator-min-microvolt = <500000>; 392*01950c46SEmmanuel Vadot regulator-max-microvolt = <1350000>; 393*01950c46SEmmanuel Vadot regulator-ramp-delay = <6001>; 394*01950c46SEmmanuel Vadot regulator-initial-mode = <0x2>; 395*01950c46SEmmanuel Vadot regulator-name = "vdd_logic"; 396*01950c46SEmmanuel Vadot regulator-state-mem { 397*01950c46SEmmanuel Vadot regulator-off-in-suspend; 398*01950c46SEmmanuel Vadot }; 399*01950c46SEmmanuel Vadot }; 400*01950c46SEmmanuel Vadot 401*01950c46SEmmanuel Vadot vdd_gpu_npu: DCDC_REG2 { 402*01950c46SEmmanuel Vadot regulator-min-microvolt = <500000>; 403*01950c46SEmmanuel Vadot regulator-max-microvolt = <1350000>; 404*01950c46SEmmanuel Vadot regulator-ramp-delay = <6001>; 405*01950c46SEmmanuel Vadot regulator-initial-mode = <0x2>; 406*01950c46SEmmanuel Vadot regulator-name = "vdd_gpu_npu"; 407*01950c46SEmmanuel Vadot regulator-state-mem { 408*01950c46SEmmanuel Vadot regulator-off-in-suspend; 409*01950c46SEmmanuel Vadot }; 410*01950c46SEmmanuel Vadot }; 411*01950c46SEmmanuel Vadot 412*01950c46SEmmanuel Vadot vcc_ddr: DCDC_REG3 { 413*01950c46SEmmanuel Vadot regulator-always-on; 414*01950c46SEmmanuel Vadot regulator-boot-on; 415*01950c46SEmmanuel Vadot regulator-initial-mode = <0x2>; 416*01950c46SEmmanuel Vadot regulator-name = "vcc_ddr"; 417*01950c46SEmmanuel Vadot regulator-state-mem { 418*01950c46SEmmanuel Vadot regulator-on-in-suspend; 419*01950c46SEmmanuel Vadot }; 420*01950c46SEmmanuel Vadot }; 421*01950c46SEmmanuel Vadot 422*01950c46SEmmanuel Vadot vcc3v3_sys: DCDC_REG4 { 423*01950c46SEmmanuel Vadot regulator-always-on; 424*01950c46SEmmanuel Vadot regulator-boot-on; 425*01950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 426*01950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 427*01950c46SEmmanuel Vadot regulator-initial-mode = <0x2>; 428*01950c46SEmmanuel Vadot regulator-name = "vcc3v3_sys"; 429*01950c46SEmmanuel Vadot regulator-state-mem { 430*01950c46SEmmanuel Vadot regulator-off-in-suspend; 431*01950c46SEmmanuel Vadot }; 432*01950c46SEmmanuel Vadot }; 433*01950c46SEmmanuel Vadot 434*01950c46SEmmanuel Vadot vcca1v8_pmu: LDO_REG1 { 435*01950c46SEmmanuel Vadot regulator-always-on; 436*01950c46SEmmanuel Vadot regulator-boot-on; 437*01950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 438*01950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 439*01950c46SEmmanuel Vadot regulator-name = "vcca1v8_pmu"; 440*01950c46SEmmanuel Vadot regulator-state-mem { 441*01950c46SEmmanuel Vadot regulator-on-in-suspend; 442*01950c46SEmmanuel Vadot }; 443*01950c46SEmmanuel Vadot }; 444*01950c46SEmmanuel Vadot 445*01950c46SEmmanuel Vadot vdda_0v9_p: LDO_REG2 { 446*01950c46SEmmanuel Vadot regulator-always-on; 447*01950c46SEmmanuel Vadot regulator-boot-on; 448*01950c46SEmmanuel Vadot regulator-min-microvolt = <900000>; 449*01950c46SEmmanuel Vadot regulator-max-microvolt = <900000>; 450*01950c46SEmmanuel Vadot regulator-name = "vdda_0v9_p"; 451*01950c46SEmmanuel Vadot regulator-state-mem { 452*01950c46SEmmanuel Vadot regulator-off-in-suspend; 453*01950c46SEmmanuel Vadot }; 454*01950c46SEmmanuel Vadot }; 455*01950c46SEmmanuel Vadot 456*01950c46SEmmanuel Vadot vdda0v9_pmu: LDO_REG3 { 457*01950c46SEmmanuel Vadot regulator-always-on; 458*01950c46SEmmanuel Vadot regulator-boot-on; 459*01950c46SEmmanuel Vadot regulator-min-microvolt = <900000>; 460*01950c46SEmmanuel Vadot regulator-max-microvolt = <900000>; 461*01950c46SEmmanuel Vadot regulator-name = "vdda0v9_pmu"; 462*01950c46SEmmanuel Vadot regulator-state-mem { 463*01950c46SEmmanuel Vadot regulator-on-in-suspend; 464*01950c46SEmmanuel Vadot }; 465*01950c46SEmmanuel Vadot }; 466*01950c46SEmmanuel Vadot 467*01950c46SEmmanuel Vadot vccio_acodec: LDO_REG4 { 468*01950c46SEmmanuel Vadot regulator-always-on; 469*01950c46SEmmanuel Vadot regulator-boot-on; 470*01950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 471*01950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 472*01950c46SEmmanuel Vadot regulator-name = "vccio_acodec"; 473*01950c46SEmmanuel Vadot regulator-state-mem { 474*01950c46SEmmanuel Vadot regulator-off-in-suspend; 475*01950c46SEmmanuel Vadot }; 476*01950c46SEmmanuel Vadot }; 477*01950c46SEmmanuel Vadot 478*01950c46SEmmanuel Vadot vccio_sd: LDO_REG5 { 479*01950c46SEmmanuel Vadot regulator-always-on; 480*01950c46SEmmanuel Vadot regulator-boot-on; 481*01950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 482*01950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 483*01950c46SEmmanuel Vadot regulator-name = "vccio_sd"; 484*01950c46SEmmanuel Vadot regulator-state-mem { 485*01950c46SEmmanuel Vadot regulator-off-in-suspend; 486*01950c46SEmmanuel Vadot }; 487*01950c46SEmmanuel Vadot }; 488*01950c46SEmmanuel Vadot 489*01950c46SEmmanuel Vadot vcc3v3_pmu: LDO_REG6 { 490*01950c46SEmmanuel Vadot regulator-always-on; 491*01950c46SEmmanuel Vadot regulator-boot-on; 492*01950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 493*01950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 494*01950c46SEmmanuel Vadot regulator-name = "vcc3v3_pmu"; 495*01950c46SEmmanuel Vadot regulator-state-mem { 496*01950c46SEmmanuel Vadot regulator-on-in-suspend; 497*01950c46SEmmanuel Vadot }; 498*01950c46SEmmanuel Vadot }; 499*01950c46SEmmanuel Vadot 500*01950c46SEmmanuel Vadot vcc_1v8: LDO_REG7 { 501*01950c46SEmmanuel Vadot regulator-always-on; 502*01950c46SEmmanuel Vadot regulator-boot-on; 503*01950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 504*01950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 505*01950c46SEmmanuel Vadot regulator-name = "vcc_1v8"; 506*01950c46SEmmanuel Vadot regulator-state-mem { 507*01950c46SEmmanuel Vadot regulator-off-in-suspend; 508*01950c46SEmmanuel Vadot }; 509*01950c46SEmmanuel Vadot }; 510*01950c46SEmmanuel Vadot 511*01950c46SEmmanuel Vadot vcc1v8_dvp: LDO_REG8 { 512*01950c46SEmmanuel Vadot regulator-always-on; 513*01950c46SEmmanuel Vadot regulator-boot-on; 514*01950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 515*01950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 516*01950c46SEmmanuel Vadot regulator-name = "vcc1v8_dvp"; 517*01950c46SEmmanuel Vadot regulator-state-mem { 518*01950c46SEmmanuel Vadot regulator-off-in-suspend; 519*01950c46SEmmanuel Vadot }; 520*01950c46SEmmanuel Vadot }; 521*01950c46SEmmanuel Vadot 522*01950c46SEmmanuel Vadot vcc2v8_dvp: LDO_REG9 { 523*01950c46SEmmanuel Vadot regulator-always-on; 524*01950c46SEmmanuel Vadot regulator-boot-on; 525*01950c46SEmmanuel Vadot regulator-min-microvolt = <2800000>; 526*01950c46SEmmanuel Vadot regulator-max-microvolt = <2800000>; 527*01950c46SEmmanuel Vadot regulator-name = "vcc2v8_dvp"; 528*01950c46SEmmanuel Vadot regulator-state-mem { 529*01950c46SEmmanuel Vadot regulator-off-in-suspend; 530*01950c46SEmmanuel Vadot }; 531*01950c46SEmmanuel Vadot }; 532*01950c46SEmmanuel Vadot 533*01950c46SEmmanuel Vadot vcc5v_midu: BOOST { 534*01950c46SEmmanuel Vadot regulator-always-on; 535*01950c46SEmmanuel Vadot regulator-boot-on; 536*01950c46SEmmanuel Vadot regulator-min-microvolt = <5000000>; 537*01950c46SEmmanuel Vadot regulator-max-microvolt = <5000000>; 538*01950c46SEmmanuel Vadot regulator-name = "boost"; 539*01950c46SEmmanuel Vadot regulator-state-mem { 540*01950c46SEmmanuel Vadot regulator-off-in-suspend; 541*01950c46SEmmanuel Vadot }; 542*01950c46SEmmanuel Vadot }; 543*01950c46SEmmanuel Vadot 544*01950c46SEmmanuel Vadot vbus: OTG_SWITCH { 545*01950c46SEmmanuel Vadot regulator-min-microvolt = <5000000>; 546*01950c46SEmmanuel Vadot regulator-max-microvolt = <5000000>; 547*01950c46SEmmanuel Vadot regulator-name = "otg_switch"; 548*01950c46SEmmanuel Vadot regulator-state-mem { 549*01950c46SEmmanuel Vadot regulator-off-in-suspend; 550*01950c46SEmmanuel Vadot }; 551*01950c46SEmmanuel Vadot }; 552*01950c46SEmmanuel Vadot }; 553*01950c46SEmmanuel Vadot 554*01950c46SEmmanuel Vadot charger { 555*01950c46SEmmanuel Vadot monitored-battery = <&battery>; 556*01950c46SEmmanuel Vadot rockchip,resistor-sense-micro-ohms = <10000>; 557*01950c46SEmmanuel Vadot rockchip,sleep-enter-current-microamp = <300000>; 558*01950c46SEmmanuel Vadot rockchip,sleep-filter-current-microamp = <100000>; 559*01950c46SEmmanuel Vadot }; 560*01950c46SEmmanuel Vadot }; 561*01950c46SEmmanuel Vadot}; 562*01950c46SEmmanuel Vadot 563*01950c46SEmmanuel Vadot&i2c1 { 564*01950c46SEmmanuel Vadot clock-frequency = <400000>; 565*01950c46SEmmanuel Vadot status = "okay"; 566*01950c46SEmmanuel Vadot 567*01950c46SEmmanuel Vadot touchscreen@5d { 568*01950c46SEmmanuel Vadot compatible = "goodix,gt911"; 569*01950c46SEmmanuel Vadot reg = <0x5d>; 570*01950c46SEmmanuel Vadot interrupt-parent = <&gpio0>; 571*01950c46SEmmanuel Vadot interrupts = <RK_PB0 IRQ_TYPE_EDGE_FALLING>; 572*01950c46SEmmanuel Vadot pinctrl-names = "default"; 573*01950c46SEmmanuel Vadot pinctrl-0 = <&tp_int_l_pmuio2>, <&tp_rst_l_pmuio2>; 574*01950c46SEmmanuel Vadot AVDD28-supply = <&vcc3v3_pmu>; 575*01950c46SEmmanuel Vadot VDDIO-supply = <&vcca1v8_pmu>; 576*01950c46SEmmanuel Vadot irq-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 577*01950c46SEmmanuel Vadot reset-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; 578*01950c46SEmmanuel Vadot }; 579*01950c46SEmmanuel Vadot}; 580*01950c46SEmmanuel Vadot 581*01950c46SEmmanuel Vadot&i2c2 { 582*01950c46SEmmanuel Vadot clock-frequency = <400000>; 583*01950c46SEmmanuel Vadot pinctrl-0 = <&i2c2m1_xfer>; 584*01950c46SEmmanuel Vadot status = "okay"; 585*01950c46SEmmanuel Vadot 586*01950c46SEmmanuel Vadot vcm@c { 587*01950c46SEmmanuel Vadot compatible = "dongwoon,dw9714"; 588*01950c46SEmmanuel Vadot reg = <0x0c>; 589*01950c46SEmmanuel Vadot vcc-supply = <&vcc1v8_dvp>; 590*01950c46SEmmanuel Vadot }; 591*01950c46SEmmanuel Vadot 592*01950c46SEmmanuel Vadot camera@36 { 593*01950c46SEmmanuel Vadot compatible = "ovti,ov5648"; 594*01950c46SEmmanuel Vadot reg = <0x36>; 595*01950c46SEmmanuel Vadot pinctrl-names = "default"; 596*01950c46SEmmanuel Vadot pinctrl-0 = <&camerab_pdn_l &camerab_rst_l>; 597*01950c46SEmmanuel Vadot 598*01950c46SEmmanuel Vadot clocks = <&cru CLK_CIF_OUT>; 599*01950c46SEmmanuel Vadot assigned-clocks = <&cru CLK_CIF_OUT>; 600*01950c46SEmmanuel Vadot assigned-clock-rates = <24000000>; 601*01950c46SEmmanuel Vadot 602*01950c46SEmmanuel Vadot avdd-supply = <&vcc2v8_dvp>; 603*01950c46SEmmanuel Vadot dvdd-supply = <&vdd1v2_dvp>; 604*01950c46SEmmanuel Vadot dovdd-supply = <&vcc1v8_dvp>; 605*01950c46SEmmanuel Vadot powerdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>; 606*01950c46SEmmanuel Vadot reset-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_LOW>; 607*01950c46SEmmanuel Vadot 608*01950c46SEmmanuel Vadot port { 609*01950c46SEmmanuel Vadot endpoint { 610*01950c46SEmmanuel Vadot data-lanes = <1 2>; 611*01950c46SEmmanuel Vadot remote-endpoint = <0>; 612*01950c46SEmmanuel Vadot link-frequencies = /bits/ 64 <210000000 168000000>; 613*01950c46SEmmanuel Vadot }; 614*01950c46SEmmanuel Vadot }; 615*01950c46SEmmanuel Vadot }; 616*01950c46SEmmanuel Vadot}; 617*01950c46SEmmanuel Vadot 618*01950c46SEmmanuel Vadot&i2c5 { 619*01950c46SEmmanuel Vadot clock-frequency = <400000>; 620*01950c46SEmmanuel Vadot status = "okay"; 621*01950c46SEmmanuel Vadot 622*01950c46SEmmanuel Vadot accelerometer@18 { 623*01950c46SEmmanuel Vadot compatible = "silan,sc7a20"; 624*01950c46SEmmanuel Vadot reg = <0x18>; 625*01950c46SEmmanuel Vadot interrupt-parent = <&gpio3>; 626*01950c46SEmmanuel Vadot interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 627*01950c46SEmmanuel Vadot pinctrl-names = "default"; 628*01950c46SEmmanuel Vadot pinctrl-0 = <&gsensor_int_l>; 629*01950c46SEmmanuel Vadot st,drdy-int-pin = <1>; 630*01950c46SEmmanuel Vadot vdd-supply = <&vcc_1v8>; 631*01950c46SEmmanuel Vadot vddio-supply = <&vcc_1v8>; 632*01950c46SEmmanuel Vadot mount-matrix = "1", "0", "0", 633*01950c46SEmmanuel Vadot "0", "0", "1", 634*01950c46SEmmanuel Vadot "0", "1", "0"; 635*01950c46SEmmanuel Vadot }; 636*01950c46SEmmanuel Vadot}; 637*01950c46SEmmanuel Vadot 638*01950c46SEmmanuel Vadot&i2s0_8ch { 639*01950c46SEmmanuel Vadot status = "okay"; 640*01950c46SEmmanuel Vadot}; 641*01950c46SEmmanuel Vadot 642*01950c46SEmmanuel Vadot&i2s1_8ch { 643*01950c46SEmmanuel Vadot pinctrl-names = "default"; 644*01950c46SEmmanuel Vadot pinctrl-0 = <&i2s1m0_sclktx 645*01950c46SEmmanuel Vadot &i2s1m0_lrcktx 646*01950c46SEmmanuel Vadot &i2s1m0_sdi0 647*01950c46SEmmanuel Vadot &i2s1m0_sdo0>; 648*01950c46SEmmanuel Vadot rockchip,trcm-sync-tx-only; 649*01950c46SEmmanuel Vadot status = "okay"; 650*01950c46SEmmanuel Vadot}; 651*01950c46SEmmanuel Vadot 652*01950c46SEmmanuel Vadot&pcie2x1 { 653*01950c46SEmmanuel Vadot pinctrl-names = "default"; 654*01950c46SEmmanuel Vadot pinctrl-0 = <&pcie_reset_h>; 655*01950c46SEmmanuel Vadot reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; 656*01950c46SEmmanuel Vadot vpcie3v3-supply = <&vcc3v3_minipcie>; 657*01950c46SEmmanuel Vadot status = "okay"; 658*01950c46SEmmanuel Vadot}; 659*01950c46SEmmanuel Vadot 660*01950c46SEmmanuel Vadot&pinctrl { 661*01950c46SEmmanuel Vadot camerab { 662*01950c46SEmmanuel Vadot camerab_pdn_l: camerab-pdn-l { 663*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 664*01950c46SEmmanuel Vadot }; 665*01950c46SEmmanuel Vadot 666*01950c46SEmmanuel Vadot camerab_rst_l: camerab-rst-l { 667*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 668*01950c46SEmmanuel Vadot }; 669*01950c46SEmmanuel Vadot }; 670*01950c46SEmmanuel Vadot 671*01950c46SEmmanuel Vadot cameraf { 672*01950c46SEmmanuel Vadot cameraf_pdn_l: cameraf-pdn-l { 673*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 674*01950c46SEmmanuel Vadot }; 675*01950c46SEmmanuel Vadot 676*01950c46SEmmanuel Vadot cameraf_rst_l: cameraf-rst-l { 677*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 678*01950c46SEmmanuel Vadot }; 679*01950c46SEmmanuel Vadot }; 680*01950c46SEmmanuel Vadot 681*01950c46SEmmanuel Vadot flash { 682*01950c46SEmmanuel Vadot flash_led_en_h: flash-led-en-h { 683*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 684*01950c46SEmmanuel Vadot }; 685*01950c46SEmmanuel Vadot }; 686*01950c46SEmmanuel Vadot 687*01950c46SEmmanuel Vadot fspi { 688*01950c46SEmmanuel Vadot fspi_dual_io_pins: fspi-dual-io-pins { 689*01950c46SEmmanuel Vadot rockchip,pins = 690*01950c46SEmmanuel Vadot /* fspi_clk */ 691*01950c46SEmmanuel Vadot <1 RK_PD0 1 &pcfg_pull_none>, 692*01950c46SEmmanuel Vadot /* fspi_cs0n */ 693*01950c46SEmmanuel Vadot <1 RK_PD3 1 &pcfg_pull_none>, 694*01950c46SEmmanuel Vadot /* fspi_d0 */ 695*01950c46SEmmanuel Vadot <1 RK_PD1 1 &pcfg_pull_none>, 696*01950c46SEmmanuel Vadot /* fspi_d1 */ 697*01950c46SEmmanuel Vadot <1 RK_PD2 1 &pcfg_pull_none>; 698*01950c46SEmmanuel Vadot }; 699*01950c46SEmmanuel Vadot }; 700*01950c46SEmmanuel Vadot 701*01950c46SEmmanuel Vadot gsensor { 702*01950c46SEmmanuel Vadot gsensor_int_l: gsensor-int-l { 703*01950c46SEmmanuel Vadot rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 704*01950c46SEmmanuel Vadot }; 705*01950c46SEmmanuel Vadot }; 706*01950c46SEmmanuel Vadot 707*01950c46SEmmanuel Vadot kb { 708*01950c46SEmmanuel Vadot kb_id_det: kb-id-det { 709*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 710*01950c46SEmmanuel Vadot }; 711*01950c46SEmmanuel Vadot }; 712*01950c46SEmmanuel Vadot 713*01950c46SEmmanuel Vadot lcd { 714*01950c46SEmmanuel Vadot lcd_pwren_h: lcd-pwren-h { 715*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 716*01950c46SEmmanuel Vadot }; 717*01950c46SEmmanuel Vadot }; 718*01950c46SEmmanuel Vadot 719*01950c46SEmmanuel Vadot pcie { 720*01950c46SEmmanuel Vadot pcie_pwren_h: pcie-pwren-h { 721*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 722*01950c46SEmmanuel Vadot }; 723*01950c46SEmmanuel Vadot 724*01950c46SEmmanuel Vadot pcie_reset_h: pcie-reset-h { 725*01950c46SEmmanuel Vadot rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 726*01950c46SEmmanuel Vadot }; 727*01950c46SEmmanuel Vadot }; 728*01950c46SEmmanuel Vadot 729*01950c46SEmmanuel Vadot pmic { 730*01950c46SEmmanuel Vadot pmic_int_l: pmic-int-l { 731*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 732*01950c46SEmmanuel Vadot }; 733*01950c46SEmmanuel Vadot }; 734*01950c46SEmmanuel Vadot 735*01950c46SEmmanuel Vadot sdmmc { 736*01950c46SEmmanuel Vadot sdmmc_pwren_l: sdmmc-pwren-l { 737*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 738*01950c46SEmmanuel Vadot }; 739*01950c46SEmmanuel Vadot }; 740*01950c46SEmmanuel Vadot 741*01950c46SEmmanuel Vadot sound { 742*01950c46SEmmanuel Vadot hp_det_l: hp-det-l { 743*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 744*01950c46SEmmanuel Vadot }; 745*01950c46SEmmanuel Vadot 746*01950c46SEmmanuel Vadot spk_ctl: spk-ctl { 747*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 748*01950c46SEmmanuel Vadot }; 749*01950c46SEmmanuel Vadot }; 750*01950c46SEmmanuel Vadot 751*01950c46SEmmanuel Vadot tp { 752*01950c46SEmmanuel Vadot tp_int_l_pmuio2: tp-int-l-pmuio2 { 753*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 754*01950c46SEmmanuel Vadot }; 755*01950c46SEmmanuel Vadot 756*01950c46SEmmanuel Vadot tp_rst_l_pmuio2: tp-rst-l-pmuio2 { 757*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 758*01950c46SEmmanuel Vadot }; 759*01950c46SEmmanuel Vadot }; 760*01950c46SEmmanuel Vadot 761*01950c46SEmmanuel Vadot usb { 762*01950c46SEmmanuel Vadot usbcc_int_l: usbcc-int-l { 763*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 764*01950c46SEmmanuel Vadot }; 765*01950c46SEmmanuel Vadot 766*01950c46SEmmanuel Vadot usb_host_pwren1_h: usb-host-pwren1-h { 767*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 768*01950c46SEmmanuel Vadot }; 769*01950c46SEmmanuel Vadot 770*01950c46SEmmanuel Vadot usb_host_pwren2_h: usb-host-pwren2-h { 771*01950c46SEmmanuel Vadot rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 772*01950c46SEmmanuel Vadot }; 773*01950c46SEmmanuel Vadot }; 774*01950c46SEmmanuel Vadot 775*01950c46SEmmanuel Vadot wifi { 776*01950c46SEmmanuel Vadot host_wake_wl: host-wake-wl { 777*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 778*01950c46SEmmanuel Vadot }; 779*01950c46SEmmanuel Vadot 780*01950c46SEmmanuel Vadot wifi_wake_host_h: wifi-wake-host-h { 781*01950c46SEmmanuel Vadot rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>; 782*01950c46SEmmanuel Vadot }; 783*01950c46SEmmanuel Vadot }; 784*01950c46SEmmanuel Vadot}; 785*01950c46SEmmanuel Vadot 786*01950c46SEmmanuel Vadot&pmu_io_domains { 787*01950c46SEmmanuel Vadot pmuio1-supply = <&vcc3v3_pmu>; 788*01950c46SEmmanuel Vadot pmuio2-supply = <&vcca1v8_pmu>; 789*01950c46SEmmanuel Vadot vccio1-supply = <&vccio_acodec>; 790*01950c46SEmmanuel Vadot vccio2-supply = <&vcc_1v8>; 791*01950c46SEmmanuel Vadot vccio3-supply = <&vccio_sd>; 792*01950c46SEmmanuel Vadot vccio4-supply = <&vcc_1v8>; 793*01950c46SEmmanuel Vadot vccio5-supply = <&vcc_1v8>; 794*01950c46SEmmanuel Vadot vccio6-supply = <&vcc1v8_dvp>; 795*01950c46SEmmanuel Vadot vccio7-supply = <&vcc_3v3>; 796*01950c46SEmmanuel Vadot status = "okay"; 797*01950c46SEmmanuel Vadot}; 798*01950c46SEmmanuel Vadot 799*01950c46SEmmanuel Vadot&pwm4 { 800*01950c46SEmmanuel Vadot status = "okay"; 801*01950c46SEmmanuel Vadot}; 802*01950c46SEmmanuel Vadot 803*01950c46SEmmanuel Vadot&saradc { 804*01950c46SEmmanuel Vadot vref-supply = <&vcc_1v8>; 805*01950c46SEmmanuel Vadot status = "okay"; 806*01950c46SEmmanuel Vadot}; 807*01950c46SEmmanuel Vadot 808*01950c46SEmmanuel Vadot&sdhci { 809*01950c46SEmmanuel Vadot bus-width = <8>; 810*01950c46SEmmanuel Vadot no-sdio; 811*01950c46SEmmanuel Vadot no-sd; 812*01950c46SEmmanuel Vadot non-removable; 813*01950c46SEmmanuel Vadot max-frequency = <200000000>; 814*01950c46SEmmanuel Vadot mmc-hs200-1_8v; 815*01950c46SEmmanuel Vadot pinctrl-names = "default"; 816*01950c46SEmmanuel Vadot pinctrl-0 = <&emmc_bus8 817*01950c46SEmmanuel Vadot &emmc_clk 818*01950c46SEmmanuel Vadot &emmc_cmd 819*01950c46SEmmanuel Vadot &emmc_datastrobe 820*01950c46SEmmanuel Vadot &emmc_rstnout>; 821*01950c46SEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 822*01950c46SEmmanuel Vadot vqmmc-supply = <&vcc_1v8>; 823*01950c46SEmmanuel Vadot status = "okay"; 824*01950c46SEmmanuel Vadot}; 825*01950c46SEmmanuel Vadot 826*01950c46SEmmanuel Vadot&sdmmc0 { 827*01950c46SEmmanuel Vadot bus-width = <4>; 828*01950c46SEmmanuel Vadot cap-sd-highspeed; 829*01950c46SEmmanuel Vadot cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 830*01950c46SEmmanuel Vadot disable-wp; 831*01950c46SEmmanuel Vadot pinctrl-names = "default"; 832*01950c46SEmmanuel Vadot pinctrl-0 = <&sdmmc0_bus4 833*01950c46SEmmanuel Vadot &sdmmc0_clk 834*01950c46SEmmanuel Vadot &sdmmc0_cmd 835*01950c46SEmmanuel Vadot &sdmmc0_det>; 836*01950c46SEmmanuel Vadot sd-uhs-sdr104; 837*01950c46SEmmanuel Vadot vmmc-supply = <&vcc3v3_sd>; 838*01950c46SEmmanuel Vadot vqmmc-supply = <&vccio_sd>; 839*01950c46SEmmanuel Vadot status = "okay"; 840*01950c46SEmmanuel Vadot}; 841*01950c46SEmmanuel Vadot 842*01950c46SEmmanuel Vadot&sdmmc1 { 843*01950c46SEmmanuel Vadot bus-width = <4>; 844*01950c46SEmmanuel Vadot cap-sd-highspeed; 845*01950c46SEmmanuel Vadot cap-sdio-irq; 846*01950c46SEmmanuel Vadot keep-power-in-suspend; 847*01950c46SEmmanuel Vadot non-removable; 848*01950c46SEmmanuel Vadot pinctrl-names = "default"; 849*01950c46SEmmanuel Vadot pinctrl-0 = <&sdmmc1_bus4 850*01950c46SEmmanuel Vadot &sdmmc1_cmd 851*01950c46SEmmanuel Vadot &sdmmc1_clk>; 852*01950c46SEmmanuel Vadot sd-uhs-sdr104; 853*01950c46SEmmanuel Vadot vqmmc-supply = <&vcca1v8_pmu>; 854*01950c46SEmmanuel Vadot status = "okay"; 855*01950c46SEmmanuel Vadot}; 856*01950c46SEmmanuel Vadot 857*01950c46SEmmanuel Vadot&sfc { 858*01950c46SEmmanuel Vadot pinctrl-names = "default"; 859*01950c46SEmmanuel Vadot pinctrl-0 = <&fspi_dual_io_pins>; 860*01950c46SEmmanuel Vadot status = "okay"; 861*01950c46SEmmanuel Vadot #address-cells = <1>; 862*01950c46SEmmanuel Vadot #size-cells = <0>; 863*01950c46SEmmanuel Vadot 864*01950c46SEmmanuel Vadot flash@0 { 865*01950c46SEmmanuel Vadot compatible = "jedec,spi-nor"; 866*01950c46SEmmanuel Vadot reg = <0>; 867*01950c46SEmmanuel Vadot spi-max-frequency = <100000000>; 868*01950c46SEmmanuel Vadot spi-rx-bus-width = <2>; 869*01950c46SEmmanuel Vadot spi-tx-bus-width = <1>; 870*01950c46SEmmanuel Vadot }; 871*01950c46SEmmanuel Vadot}; 872*01950c46SEmmanuel Vadot 873*01950c46SEmmanuel Vadot&tsadc { 874*01950c46SEmmanuel Vadot rockchip,hw-tshut-mode = <1>; 875*01950c46SEmmanuel Vadot rockchip,hw-tshut-polarity = <0>; 876*01950c46SEmmanuel Vadot status = "okay"; 877*01950c46SEmmanuel Vadot}; 878*01950c46SEmmanuel Vadot 879*01950c46SEmmanuel Vadot&uart2 { 880*01950c46SEmmanuel Vadot status = "okay"; 881*01950c46SEmmanuel Vadot}; 882*01950c46SEmmanuel Vadot 883*01950c46SEmmanuel Vadot&usb_host0_ehci { 884*01950c46SEmmanuel Vadot status = "okay"; 885*01950c46SEmmanuel Vadot}; 886*01950c46SEmmanuel Vadot 887*01950c46SEmmanuel Vadot&usb_host0_ohci { 888*01950c46SEmmanuel Vadot status = "okay"; 889*01950c46SEmmanuel Vadot}; 890*01950c46SEmmanuel Vadot 891*01950c46SEmmanuel Vadot&usb_host0_xhci { 892*01950c46SEmmanuel Vadot status = "okay"; 893*01950c46SEmmanuel Vadot}; 894*01950c46SEmmanuel Vadot 895*01950c46SEmmanuel Vadot&usb_host1_xhci { 896*01950c46SEmmanuel Vadot status = "okay"; 897*01950c46SEmmanuel Vadot}; 898*01950c46SEmmanuel Vadot 899*01950c46SEmmanuel Vadot&usb2phy0 { 900*01950c46SEmmanuel Vadot status = "okay"; 901*01950c46SEmmanuel Vadot}; 902*01950c46SEmmanuel Vadot 903*01950c46SEmmanuel Vadot&usb2phy0_host { 904*01950c46SEmmanuel Vadot phy-supply = <&vcc5v0_usb_host0>; 905*01950c46SEmmanuel Vadot status = "okay"; 906*01950c46SEmmanuel Vadot}; 907*01950c46SEmmanuel Vadot 908*01950c46SEmmanuel Vadot&usb2phy0_otg { 909*01950c46SEmmanuel Vadot status = "okay"; 910*01950c46SEmmanuel Vadot}; 911*01950c46SEmmanuel Vadot 912*01950c46SEmmanuel Vadot&usb2phy1 { 913*01950c46SEmmanuel Vadot status = "okay"; 914*01950c46SEmmanuel Vadot}; 915*01950c46SEmmanuel Vadot 916*01950c46SEmmanuel Vadot&usb2phy1_otg { 917*01950c46SEmmanuel Vadot phy-supply = <&vcc5v0_usb_host2>; 918*01950c46SEmmanuel Vadot status = "okay"; 919*01950c46SEmmanuel Vadot}; 920*01950c46SEmmanuel Vadot 921*01950c46SEmmanuel Vadot&vop { 922*01950c46SEmmanuel Vadot assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 923*01950c46SEmmanuel Vadot assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 924*01950c46SEmmanuel Vadot status = "okay"; 925*01950c46SEmmanuel Vadot}; 926*01950c46SEmmanuel Vadot 927*01950c46SEmmanuel Vadot&vop_mmu { 928*01950c46SEmmanuel Vadot status = "okay"; 929*01950c46SEmmanuel Vadot}; 930*01950c46SEmmanuel Vadot 931*01950c46SEmmanuel Vadot&vp0 { 932*01950c46SEmmanuel Vadot vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 933*01950c46SEmmanuel Vadot reg = <ROCKCHIP_VOP2_EP_HDMI0>; 934*01950c46SEmmanuel Vadot remote-endpoint = <&hdmi_in_vp0>; 935*01950c46SEmmanuel Vadot }; 936*01950c46SEmmanuel Vadot}; 937*01950c46SEmmanuel Vadot 938*01950c46SEmmanuel Vadot&vp1 { 939*01950c46SEmmanuel Vadot vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { 940*01950c46SEmmanuel Vadot reg = <ROCKCHIP_VOP2_EP_MIPI0>; 941*01950c46SEmmanuel Vadot remote-endpoint = <&dsi0_in_vp1>; 942*01950c46SEmmanuel Vadot }; 943*01950c46SEmmanuel Vadot}; 944