1*4e946c44SChris Morgan// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4e946c44SChris Morgan 3*4e946c44SChris Morgan/dts-v1/; 4*4e946c44SChris Morgan 5*4e946c44SChris Morgan#include <dt-bindings/gpio/gpio.h> 6*4e946c44SChris Morgan#include <dt-bindings/input/linux-event-codes.h> 7*4e946c44SChris Morgan#include <dt-bindings/leds/common.h> 8*4e946c44SChris Morgan#include <dt-bindings/pinctrl/rockchip.h> 9*4e946c44SChris Morgan#include <dt-bindings/pwm/pwm.h> 10*4e946c44SChris Morgan#include <dt-bindings/thermal/thermal.h> 11*4e946c44SChris Morgan#include <dt-bindings/usb/pd.h> 12*4e946c44SChris Morgan#include "rk3588s.dtsi" 13*4e946c44SChris Morgan 14*4e946c44SChris Morgan/ { 15*4e946c44SChris Morgan model = "Gameforce Ace"; 16*4e946c44SChris Morgan chassis-type = "handset"; 17*4e946c44SChris Morgan compatible = "gameforce,ace", "rockchip,rk3588s"; 18*4e946c44SChris Morgan 19*4e946c44SChris Morgan aliases { 20*4e946c44SChris Morgan mmc0 = &sdhci; 21*4e946c44SChris Morgan mmc1 = &sdmmc; 22*4e946c44SChris Morgan mmc2 = &sdio; 23*4e946c44SChris Morgan }; 24*4e946c44SChris Morgan 25*4e946c44SChris Morgan chosen { 26*4e946c44SChris Morgan stdout-path = "serial2:1500000n8"; 27*4e946c44SChris Morgan }; 28*4e946c44SChris Morgan 29*4e946c44SChris Morgan adc_keys: adc-keys { 30*4e946c44SChris Morgan compatible = "adc-keys"; 31*4e946c44SChris Morgan io-channels = <&saradc 1>; 32*4e946c44SChris Morgan io-channel-names = "buttons"; 33*4e946c44SChris Morgan keyup-threshold-microvolt = <1800000>; 34*4e946c44SChris Morgan poll-interval = <60>; 35*4e946c44SChris Morgan 36*4e946c44SChris Morgan button-vol-up { 37*4e946c44SChris Morgan label = "VOLUMEUP"; 38*4e946c44SChris Morgan linux,code = <KEY_VOLUMEUP>; 39*4e946c44SChris Morgan press-threshold-microvolt = <17000>; 40*4e946c44SChris Morgan }; 41*4e946c44SChris Morgan 42*4e946c44SChris Morgan button-vol-down { 43*4e946c44SChris Morgan label = "VOLUMEDOWN"; 44*4e946c44SChris Morgan linux,code = <KEY_VOLUMEDOWN>; 45*4e946c44SChris Morgan press-threshold-microvolt = <417000>; 46*4e946c44SChris Morgan }; 47*4e946c44SChris Morgan }; 48*4e946c44SChris Morgan 49*4e946c44SChris Morgan /* Joystick range values based on hardware observation. */ 50*4e946c44SChris Morgan adc_joystick: adc-joystick { 51*4e946c44SChris Morgan compatible = "adc-joystick"; 52*4e946c44SChris Morgan io-channels = <&saradc 2>, <&saradc 3>, 53*4e946c44SChris Morgan <&saradc 4>, <&saradc 5>; 54*4e946c44SChris Morgan poll-interval = <60>; 55*4e946c44SChris Morgan #address-cells = <1>; 56*4e946c44SChris Morgan #size-cells = <0>; 57*4e946c44SChris Morgan 58*4e946c44SChris Morgan axis@0 { 59*4e946c44SChris Morgan reg = <0>; 60*4e946c44SChris Morgan abs-flat = <40>; 61*4e946c44SChris Morgan abs-fuzz = <30>; 62*4e946c44SChris Morgan abs-range = <0 4095>; 63*4e946c44SChris Morgan linux,code = <ABS_RX>; 64*4e946c44SChris Morgan }; 65*4e946c44SChris Morgan 66*4e946c44SChris Morgan axis@1 { 67*4e946c44SChris Morgan reg = <1>; 68*4e946c44SChris Morgan abs-flat = <40>; 69*4e946c44SChris Morgan abs-fuzz = <30>; 70*4e946c44SChris Morgan abs-range = <0 4095>; 71*4e946c44SChris Morgan linux,code = <ABS_RY>; 72*4e946c44SChris Morgan }; 73*4e946c44SChris Morgan 74*4e946c44SChris Morgan axis@2 { 75*4e946c44SChris Morgan reg = <2>; 76*4e946c44SChris Morgan abs-flat = <40>; 77*4e946c44SChris Morgan abs-fuzz = <30>; 78*4e946c44SChris Morgan abs-range = <0 4095>; 79*4e946c44SChris Morgan linux,code = <ABS_Y>; 80*4e946c44SChris Morgan }; 81*4e946c44SChris Morgan 82*4e946c44SChris Morgan axis@3 { 83*4e946c44SChris Morgan reg = <3>; 84*4e946c44SChris Morgan abs-flat = <40>; 85*4e946c44SChris Morgan abs-fuzz = <30>; 86*4e946c44SChris Morgan abs-range = <0 4095>; 87*4e946c44SChris Morgan linux,code = <ABS_X>; 88*4e946c44SChris Morgan }; 89*4e946c44SChris Morgan }; 90*4e946c44SChris Morgan 91*4e946c44SChris Morgan /* Trigger range values based on hardware observation. */ 92*4e946c44SChris Morgan adc_triggers: adc-trigger { 93*4e946c44SChris Morgan compatible = "adc-joystick"; 94*4e946c44SChris Morgan io-channels = <&ti_adc 6>, 95*4e946c44SChris Morgan <&ti_adc 7>; 96*4e946c44SChris Morgan poll-interval = <60>; 97*4e946c44SChris Morgan #address-cells = <1>; 98*4e946c44SChris Morgan #size-cells = <0>; 99*4e946c44SChris Morgan 100*4e946c44SChris Morgan axis@0 { 101*4e946c44SChris Morgan reg = <0>; 102*4e946c44SChris Morgan abs-flat = <15>; 103*4e946c44SChris Morgan abs-fuzz = <15>; 104*4e946c44SChris Morgan abs-range = <890 1530>; 105*4e946c44SChris Morgan linux,code = <ABS_HAT2X>; 106*4e946c44SChris Morgan }; 107*4e946c44SChris Morgan 108*4e946c44SChris Morgan axis@1 { 109*4e946c44SChris Morgan reg = <1>; 110*4e946c44SChris Morgan abs-flat = <15>; 111*4e946c44SChris Morgan abs-fuzz = <15>; 112*4e946c44SChris Morgan abs-range = <1010 1550>; 113*4e946c44SChris Morgan linux,code = <ABS_HAT2Y>; 114*4e946c44SChris Morgan }; 115*4e946c44SChris Morgan }; 116*4e946c44SChris Morgan 117*4e946c44SChris Morgan analog-sound { 118*4e946c44SChris Morgan compatible = "simple-audio-card"; 119*4e946c44SChris Morgan pinctrl-0 = <&hp_detect>; 120*4e946c44SChris Morgan pinctrl-names = "default"; 121*4e946c44SChris Morgan simple-audio-card,aux-devs = <&_headphone>, <&_speaker>; 122*4e946c44SChris Morgan simple-audio-card,bitclock-master = <&masterdai>; 123*4e946c44SChris Morgan simple-audio-card,format = "i2s"; 124*4e946c44SChris Morgan simple-audio-card,frame-master = <&masterdai>; 125*4e946c44SChris Morgan simple-audio-card,hp-det-gpio = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; 126*4e946c44SChris Morgan simple-audio-card,mclk-fs = <256>; 127*4e946c44SChris Morgan simple-audio-card,name = "rockchip,es8388-codec"; 128*4e946c44SChris Morgan simple-audio-card,pin-switches = "Headphones", "Speaker"; 129*4e946c44SChris Morgan simple-audio-card,routing = 130*4e946c44SChris Morgan "Speaker Amplifier INL", "LOUT2", 131*4e946c44SChris Morgan "Speaker Amplifier INR", "ROUT2", 132*4e946c44SChris Morgan "Speaker", "Speaker Amplifier OUTL", 133*4e946c44SChris Morgan "Speaker", "Speaker Amplifier OUTR", 134*4e946c44SChris Morgan "Headphones Amplifier INL", "LOUT1", 135*4e946c44SChris Morgan "Headphones Amplifier INR", "ROUT1", 136*4e946c44SChris Morgan "Headphones", "Headphones Amplifier OUTL", 137*4e946c44SChris Morgan "Headphones", "Headphones Amplifier OUTR", 138*4e946c44SChris Morgan "LINPUT1", "Microphone Jack", 139*4e946c44SChris Morgan "RINPUT1", "Microphone Jack", 140*4e946c44SChris Morgan "LINPUT2", "Onboard Microphone", 141*4e946c44SChris Morgan "RINPUT2", "Onboard Microphone"; 142*4e946c44SChris Morgan simple-audio-card,widgets = 143*4e946c44SChris Morgan "Microphone", "Microphone Jack", 144*4e946c44SChris Morgan "Microphone", "Onboard Microphone", 145*4e946c44SChris Morgan "Headphone", "Headphones", 146*4e946c44SChris Morgan "Speaker", "Speaker"; 147*4e946c44SChris Morgan 148*4e946c44SChris Morgan masterdai: simple-audio-card,codec { 149*4e946c44SChris Morgan sound-dai = <&es8388>; 150*4e946c44SChris Morgan system-clock-frequency = <12288000>; 151*4e946c44SChris Morgan }; 152*4e946c44SChris Morgan 153*4e946c44SChris Morgan simple-audio-card,cpu { 154*4e946c44SChris Morgan sound-dai = <&i2s0_8ch>; 155*4e946c44SChris Morgan }; 156*4e946c44SChris Morgan }; 157*4e946c44SChris Morgan 158*4e946c44SChris Morgan backlight: backlight { 159*4e946c44SChris Morgan compatible = "pwm-backlight"; 160*4e946c44SChris Morgan enable-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; 161*4e946c44SChris Morgan pinctrl-0 = <&lcd_bl_en>; 162*4e946c44SChris Morgan pinctrl-names = "default"; 163*4e946c44SChris Morgan pwms = <&pwm13 0 25000 PWM_POLARITY_INVERTED>; 164*4e946c44SChris Morgan }; 165*4e946c44SChris Morgan 166*4e946c44SChris Morgan battery: battery { 167*4e946c44SChris Morgan compatible = "simple-battery"; 168*4e946c44SChris Morgan charge-full-design-microamp-hours = <3700000>; 169*4e946c44SChris Morgan constant-charge-current-max-microamp = <2500000>; 170*4e946c44SChris Morgan constant-charge-voltage-max-microvolt = <8750000>; 171*4e946c44SChris Morgan voltage-min-design-microvolt = <7400000>; 172*4e946c44SChris Morgan }; 173*4e946c44SChris Morgan 174*4e946c44SChris Morgan gpio_keys: gpio-keys { 175*4e946c44SChris Morgan compatible = "gpio-keys"; 176*4e946c44SChris Morgan pinctrl-0 = <&btn_pins_ctrl>; 177*4e946c44SChris Morgan pinctrl-names = "default"; 178*4e946c44SChris Morgan 179*4e946c44SChris Morgan button-a { 180*4e946c44SChris Morgan gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>; 181*4e946c44SChris Morgan label = "EAST"; 182*4e946c44SChris Morgan linux,code = <BTN_EAST>; 183*4e946c44SChris Morgan }; 184*4e946c44SChris Morgan 185*4e946c44SChris Morgan button-b { 186*4e946c44SChris Morgan gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>; 187*4e946c44SChris Morgan label = "SOUTH"; 188*4e946c44SChris Morgan linux,code = <BTN_SOUTH>; 189*4e946c44SChris Morgan }; 190*4e946c44SChris Morgan 191*4e946c44SChris Morgan button-down { 192*4e946c44SChris Morgan gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>; 193*4e946c44SChris Morgan label = "DPAD-DOWN"; 194*4e946c44SChris Morgan linux,code = <BTN_DPAD_DOWN>; 195*4e946c44SChris Morgan }; 196*4e946c44SChris Morgan 197*4e946c44SChris Morgan button-home { 198*4e946c44SChris Morgan gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>; 199*4e946c44SChris Morgan label = "FUNCTION"; 200*4e946c44SChris Morgan linux,code = <BTN_MODE>; 201*4e946c44SChris Morgan }; 202*4e946c44SChris Morgan 203*4e946c44SChris Morgan button-l1 { 204*4e946c44SChris Morgan gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>; 205*4e946c44SChris Morgan label = "L1"; 206*4e946c44SChris Morgan linux,code = <BTN_TL>; 207*4e946c44SChris Morgan }; 208*4e946c44SChris Morgan 209*4e946c44SChris Morgan button-left { 210*4e946c44SChris Morgan gpios = <&gpio1 RK_PD7 GPIO_ACTIVE_LOW>; 211*4e946c44SChris Morgan label = "DPAD-LEFT"; 212*4e946c44SChris Morgan linux,code = <BTN_DPAD_LEFT>; 213*4e946c44SChris Morgan }; 214*4e946c44SChris Morgan 215*4e946c44SChris Morgan button-menu { 216*4e946c44SChris Morgan gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>; 217*4e946c44SChris Morgan label = "HOME"; 218*4e946c44SChris Morgan linux,code = <KEY_HOME>; 219*4e946c44SChris Morgan }; 220*4e946c44SChris Morgan 221*4e946c44SChris Morgan button-r1 { 222*4e946c44SChris Morgan gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>; 223*4e946c44SChris Morgan label = "R1"; 224*4e946c44SChris Morgan linux,code = <BTN_TR>; 225*4e946c44SChris Morgan }; 226*4e946c44SChris Morgan 227*4e946c44SChris Morgan button-right { 228*4e946c44SChris Morgan gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>; 229*4e946c44SChris Morgan label = "DPAD-RIGHT"; 230*4e946c44SChris Morgan linux,code = <BTN_DPAD_RIGHT>; 231*4e946c44SChris Morgan }; 232*4e946c44SChris Morgan 233*4e946c44SChris Morgan button-select { 234*4e946c44SChris Morgan gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_LOW>; 235*4e946c44SChris Morgan label = "SELECT"; 236*4e946c44SChris Morgan linux,code = <BTN_SELECT>; 237*4e946c44SChris Morgan }; 238*4e946c44SChris Morgan 239*4e946c44SChris Morgan button-start { 240*4e946c44SChris Morgan gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>; 241*4e946c44SChris Morgan label = "START"; 242*4e946c44SChris Morgan linux,code = <BTN_START>; 243*4e946c44SChris Morgan }; 244*4e946c44SChris Morgan 245*4e946c44SChris Morgan button-thumbl { 246*4e946c44SChris Morgan gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>; 247*4e946c44SChris Morgan label = "THUMBL"; 248*4e946c44SChris Morgan linux,code = <BTN_THUMBL>; 249*4e946c44SChris Morgan }; 250*4e946c44SChris Morgan 251*4e946c44SChris Morgan button-thumbr { 252*4e946c44SChris Morgan gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>; 253*4e946c44SChris Morgan label = "THUMBR"; 254*4e946c44SChris Morgan linux,code = <BTN_THUMBR>; 255*4e946c44SChris Morgan }; 256*4e946c44SChris Morgan 257*4e946c44SChris Morgan button-up { 258*4e946c44SChris Morgan gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>; 259*4e946c44SChris Morgan label = "DPAD-UP"; 260*4e946c44SChris Morgan linux,code = <BTN_DPAD_UP>; 261*4e946c44SChris Morgan }; 262*4e946c44SChris Morgan 263*4e946c44SChris Morgan button-x { 264*4e946c44SChris Morgan gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>; 265*4e946c44SChris Morgan label = "NORTH"; 266*4e946c44SChris Morgan linux,code = <BTN_NORTH>; 267*4e946c44SChris Morgan }; 268*4e946c44SChris Morgan 269*4e946c44SChris Morgan button-y { 270*4e946c44SChris Morgan gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_LOW>; 271*4e946c44SChris Morgan label = "WEST"; 272*4e946c44SChris Morgan linux,code = <BTN_WEST>; 273*4e946c44SChris Morgan }; 274*4e946c44SChris Morgan }; 275*4e946c44SChris Morgan 276*4e946c44SChris Morgan gpio_leds: gpio-leds { 277*4e946c44SChris Morgan compatible = "gpio-leds"; 278*4e946c44SChris Morgan pinctrl-names = "default"; 279*4e946c44SChris Morgan pinctrl-0 = <&led_pins>; 280*4e946c44SChris Morgan 281*4e946c44SChris Morgan green_led: led-0 { 282*4e946c44SChris Morgan color = <LED_COLOR_ID_GREEN>; 283*4e946c44SChris Morgan gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 284*4e946c44SChris Morgan function = LED_FUNCTION_STATUS; 285*4e946c44SChris Morgan }; 286*4e946c44SChris Morgan 287*4e946c44SChris Morgan red_led: led-1 { 288*4e946c44SChris Morgan color = <LED_COLOR_ID_RED>; 289*4e946c44SChris Morgan gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>; 290*4e946c44SChris Morgan function = LED_FUNCTION_CHARGING; 291*4e946c44SChris Morgan }; 292*4e946c44SChris Morgan }; 293*4e946c44SChris Morgan 294*4e946c44SChris Morgan amp_headphone: headphone-amplifier { 295*4e946c44SChris Morgan compatible = "simple-audio-amplifier"; 296*4e946c44SChris Morgan enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 297*4e946c44SChris Morgan pinctrl-0 = <&headphone_amplifier_en>; 298*4e946c44SChris Morgan pinctrl-names = "default"; 299*4e946c44SChris Morgan sound-name-prefix = "Headphones Amplifier"; 300*4e946c44SChris Morgan }; 301*4e946c44SChris Morgan 302*4e946c44SChris Morgan pwm_fan: pwm-fan { 303*4e946c44SChris Morgan compatible = "pwm-fan"; 304*4e946c44SChris Morgan #cooling-cells = <2>; 305*4e946c44SChris Morgan cooling-levels = <0 120 150 180 210 240 255>; 306*4e946c44SChris Morgan fan-supply = <&vcc5v0_sys>; 307*4e946c44SChris Morgan interrupt-parent = <&gpio4>; 308*4e946c44SChris Morgan interrupts = <RK_PB2 IRQ_TYPE_EDGE_RISING>; 309*4e946c44SChris Morgan pulses-per-revolution = <4>; 310*4e946c44SChris Morgan pwms = <&pwm12 0 50000 PWM_POLARITY_INVERTED>; 311*4e946c44SChris Morgan }; 312*4e946c44SChris Morgan 313*4e946c44SChris Morgan pwm_gpio33: pwm-33 { 314*4e946c44SChris Morgan compatible = "pwm-gpio"; 315*4e946c44SChris Morgan gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>; 316*4e946c44SChris Morgan pinctrl-0 = <&vib_right_h>; 317*4e946c44SChris Morgan pinctrl-names = "default"; 318*4e946c44SChris Morgan #pwm-cells = <3>; 319*4e946c44SChris Morgan }; 320*4e946c44SChris Morgan 321*4e946c44SChris Morgan pwm_gpio132: pwm-132 { 322*4e946c44SChris Morgan compatible = "pwm-gpio"; 323*4e946c44SChris Morgan gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>; 324*4e946c44SChris Morgan pinctrl-0 = <&vib_left_h>; 325*4e946c44SChris Morgan pinctrl-names = "default"; 326*4e946c44SChris Morgan #pwm-cells = <3>; 327*4e946c44SChris Morgan }; 328*4e946c44SChris Morgan 329*4e946c44SChris Morgan sdio_pwrseq: sdio-pwrseq { 330*4e946c44SChris Morgan compatible = "mmc-pwrseq-simple"; 331*4e946c44SChris Morgan clock-names = "ext_clock"; 332*4e946c44SChris Morgan clocks = <&rtc_hym8563>; 333*4e946c44SChris Morgan pinctrl-0 = <&wifi_enable_h>; 334*4e946c44SChris Morgan pinctrl-names = "default"; 335*4e946c44SChris Morgan post-power-on-delay-ms = <200>; 336*4e946c44SChris Morgan power-off-delay-us = <5000000>; 337*4e946c44SChris Morgan reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; 338*4e946c44SChris Morgan }; 339*4e946c44SChris Morgan 340*4e946c44SChris Morgan amp_speaker: speaker-amplifier { 341*4e946c44SChris Morgan compatible = "simple-audio-amplifier"; 342*4e946c44SChris Morgan enable-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 343*4e946c44SChris Morgan pinctrl-0 = <&speaker_amplifier_en>; 344*4e946c44SChris Morgan pinctrl-names = "default"; 345*4e946c44SChris Morgan sound-name-prefix = "Speaker Amplifier"; 346*4e946c44SChris Morgan VCC-supply = <&vcc5v0_spk>; 347*4e946c44SChris Morgan }; 348*4e946c44SChris Morgan 349*4e946c44SChris Morgan vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator { 350*4e946c44SChris Morgan compatible = "regulator-fixed"; 351*4e946c44SChris Morgan regulator-always-on; 352*4e946c44SChris Morgan regulator-boot-on; 353*4e946c44SChris Morgan regulator-max-microvolt = <1100000>; 354*4e946c44SChris Morgan regulator-min-microvolt = <1100000>; 355*4e946c44SChris Morgan regulator-name = "vcc_1v1_nldo_s3"; 356*4e946c44SChris Morgan vin-supply = <&vcc5v0_sys>; 357*4e946c44SChris Morgan }; 358*4e946c44SChris Morgan 359*4e946c44SChris Morgan vcc3v3_lcd0_n: vcc3v3-lcd0-n-regulator { 360*4e946c44SChris Morgan compatible = "regulator-fixed"; 361*4e946c44SChris Morgan enable-active-high; 362*4e946c44SChris Morgan gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; 363*4e946c44SChris Morgan pinctrl-0 = <&vcc_lcd_h>; 364*4e946c44SChris Morgan pinctrl-names = "default"; 365*4e946c44SChris Morgan regulator-max-microvolt = <3300000>; 366*4e946c44SChris Morgan regulator-min-microvolt = <3300000>; 367*4e946c44SChris Morgan regulator-name = "vcc3v3_lcd0_n"; 368*4e946c44SChris Morgan vin-supply = <&vcc_3v3_s3>; 369*4e946c44SChris Morgan regulator-state-mem { 370*4e946c44SChris Morgan regulator-off-in-suspend; 371*4e946c44SChris Morgan }; 372*4e946c44SChris Morgan }; 373*4e946c44SChris Morgan 374*4e946c44SChris Morgan vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator { 375*4e946c44SChris Morgan compatible = "regulator-fixed"; 376*4e946c44SChris Morgan enable-active-high; 377*4e946c44SChris Morgan gpio = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 378*4e946c44SChris Morgan pinctrl-0 = <&sd_s0_pwr>; 379*4e946c44SChris Morgan pinctrl-names = "default"; 380*4e946c44SChris Morgan regulator-max-microvolt = <3000000>; 381*4e946c44SChris Morgan regulator-min-microvolt = <3000000>; 382*4e946c44SChris Morgan regulator-name = "vcc_3v3_sd_s0"; 383*4e946c44SChris Morgan vin-supply = <&vcc_3v3_s3>; 384*4e946c44SChris Morgan }; 385*4e946c44SChris Morgan 386*4e946c44SChris Morgan vcc5v0_spk: vcc5v0-spk-regulator { 387*4e946c44SChris Morgan compatible = "regulator-fixed"; 388*4e946c44SChris Morgan enable-active-high; 389*4e946c44SChris Morgan gpio = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 390*4e946c44SChris Morgan pinctrl-0 = <&vcc5v0_spk_pwr>; 391*4e946c44SChris Morgan pinctrl-names = "default"; 392*4e946c44SChris Morgan regulator-max-microvolt = <5000000>; 393*4e946c44SChris Morgan regulator-min-microvolt = <5000000>; 394*4e946c44SChris Morgan regulator-name = "vcc5v0_spk"; 395*4e946c44SChris Morgan vin-supply = <&vcc5v0_sys>; 396*4e946c44SChris Morgan regulator-state-mem { 397*4e946c44SChris Morgan regulator-off-in-suspend; 398*4e946c44SChris Morgan }; 399*4e946c44SChris Morgan }; 400*4e946c44SChris Morgan 401*4e946c44SChris Morgan vcc5v0_sys: vcc5v0-sys-regulator { 402*4e946c44SChris Morgan compatible = "regulator-fixed"; 403*4e946c44SChris Morgan regulator-always-on; 404*4e946c44SChris Morgan regulator-boot-on; 405*4e946c44SChris Morgan regulator-max-microvolt = <5000000>; 406*4e946c44SChris Morgan regulator-min-microvolt = <5000000>; 407*4e946c44SChris Morgan regulator-name = "vcc5v0_sys"; 408*4e946c44SChris Morgan }; 409*4e946c44SChris Morgan 410*4e946c44SChris Morgan vibrator_l: vibrator-l { 411*4e946c44SChris Morgan compatible = "pwm-vibrator"; 412*4e946c44SChris Morgan pwm-names = "enable"; 413*4e946c44SChris Morgan pwms = <&pwm_gpio132 0 20000000 0>; 414*4e946c44SChris Morgan }; 415*4e946c44SChris Morgan 416*4e946c44SChris Morgan vibrator_r: vibrator-r { 417*4e946c44SChris Morgan compatible = "pwm-vibrator"; 418*4e946c44SChris Morgan pwm-names = "enable"; 419*4e946c44SChris Morgan pwms = <&pwm_gpio33 0 20000000 0>; 420*4e946c44SChris Morgan }; 421*4e946c44SChris Morgan}; 422*4e946c44SChris Morgan 423*4e946c44SChris Morgan&combphy2_psu { 424*4e946c44SChris Morgan status = "okay"; 425*4e946c44SChris Morgan}; 426*4e946c44SChris Morgan 427*4e946c44SChris Morgan&cpu_l0 { 428*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_lit_s0>; 429*4e946c44SChris Morgan}; 430*4e946c44SChris Morgan 431*4e946c44SChris Morgan&cpu_l1 { 432*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_lit_s0>; 433*4e946c44SChris Morgan}; 434*4e946c44SChris Morgan 435*4e946c44SChris Morgan&cpu_l2 { 436*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_lit_s0>; 437*4e946c44SChris Morgan}; 438*4e946c44SChris Morgan 439*4e946c44SChris Morgan&cpu_l3 { 440*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_lit_s0>; 441*4e946c44SChris Morgan}; 442*4e946c44SChris Morgan 443*4e946c44SChris Morgan&cpu_b0 { 444*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_big0_s0>; 445*4e946c44SChris Morgan}; 446*4e946c44SChris Morgan 447*4e946c44SChris Morgan&cpu_b1 { 448*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_big0_s0>; 449*4e946c44SChris Morgan}; 450*4e946c44SChris Morgan 451*4e946c44SChris Morgan&cpu_b2 { 452*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_big1_s0>; 453*4e946c44SChris Morgan}; 454*4e946c44SChris Morgan 455*4e946c44SChris Morgan&cpu_b3 { 456*4e946c44SChris Morgan cpu-supply = <&vdd_cpu_big1_s0>; 457*4e946c44SChris Morgan}; 458*4e946c44SChris Morgan 459*4e946c44SChris Morgan&gpu { 460*4e946c44SChris Morgan mali-supply = <&vdd_gpu_s0>; 461*4e946c44SChris Morgan status = "okay"; 462*4e946c44SChris Morgan}; 463*4e946c44SChris Morgan 464*4e946c44SChris Morgan&i2c0 { 465*4e946c44SChris Morgan pinctrl-0 = <&i2c0m2_xfer>; 466*4e946c44SChris Morgan pinctrl-names = "default"; 467*4e946c44SChris Morgan status = "okay"; 468*4e946c44SChris Morgan 469*4e946c44SChris Morgan vdd_cpu_big0_s0: regulator@42 { 470*4e946c44SChris Morgan compatible = "rockchip,rk8602"; 471*4e946c44SChris Morgan reg = <0x42>; 472*4e946c44SChris Morgan fcs,suspend-voltage-selector = <1>; 473*4e946c44SChris Morgan regulator-max-microvolt = <1050000>; 474*4e946c44SChris Morgan regulator-min-microvolt = <550000>; 475*4e946c44SChris Morgan regulator-name = "vdd_cpu_big0_s0"; 476*4e946c44SChris Morgan regulator-ramp-delay = <2300>; 477*4e946c44SChris Morgan vin-supply = <&vcc5v0_sys>; 478*4e946c44SChris Morgan 479*4e946c44SChris Morgan regulator-state-mem { 480*4e946c44SChris Morgan regulator-off-in-suspend; 481*4e946c44SChris Morgan }; 482*4e946c44SChris Morgan }; 483*4e946c44SChris Morgan 484*4e946c44SChris Morgan vdd_cpu_big1_s0: regulator@43 { 485*4e946c44SChris Morgan compatible = "rockchip,rk8603", "rockchip,rk8602"; 486*4e946c44SChris Morgan reg = <0x43>; 487*4e946c44SChris Morgan fcs,suspend-voltage-selector = <1>; 488*4e946c44SChris Morgan regulator-max-microvolt = <1050000>; 489*4e946c44SChris Morgan regulator-min-microvolt = <550000>; 490*4e946c44SChris Morgan regulator-name = "vdd_cpu_big1_s0"; 491*4e946c44SChris Morgan regulator-ramp-delay = <2300>; 492*4e946c44SChris Morgan vin-supply = <&vcc5v0_sys>; 493*4e946c44SChris Morgan 494*4e946c44SChris Morgan regulator-state-mem { 495*4e946c44SChris Morgan regulator-off-in-suspend; 496*4e946c44SChris Morgan }; 497*4e946c44SChris Morgan }; 498*4e946c44SChris Morgan}; 499*4e946c44SChris Morgan 500*4e946c44SChris Morgan&i2c2 { 501*4e946c44SChris Morgan status = "okay"; 502*4e946c44SChris Morgan 503*4e946c44SChris Morgan vdd_npu_s0: regulator@42 { 504*4e946c44SChris Morgan compatible = "rockchip,rk8602"; 505*4e946c44SChris Morgan reg = <0x42>; 506*4e946c44SChris Morgan fcs,suspend-voltage-selector = <1>; 507*4e946c44SChris Morgan regulator-max-microvolt = <950000>; 508*4e946c44SChris Morgan regulator-min-microvolt = <550000>; 509*4e946c44SChris Morgan regulator-name = "vdd_npu_s0"; 510*4e946c44SChris Morgan regulator-ramp-delay = <2300>; 511*4e946c44SChris Morgan vin-supply = <&vcc5v0_sys>; 512*4e946c44SChris Morgan 513*4e946c44SChris Morgan regulator-state-mem { 514*4e946c44SChris Morgan regulator-off-in-suspend; 515*4e946c44SChris Morgan }; 516*4e946c44SChris Morgan }; 517*4e946c44SChris Morgan}; 518*4e946c44SChris Morgan 519*4e946c44SChris Morgan&i2c3 { 520*4e946c44SChris Morgan status = "okay"; 521*4e946c44SChris Morgan 522*4e946c44SChris Morgan touchscreen@14 { 523*4e946c44SChris Morgan compatible = "goodix,gt911"; 524*4e946c44SChris Morgan reg = <0x14>; 525*4e946c44SChris Morgan interrupt-parent = <&gpio1>; 526*4e946c44SChris Morgan interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>; 527*4e946c44SChris Morgan irq-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>; 528*4e946c44SChris Morgan pinctrl-0 = <&touch_int>, <&touch_rst>; 529*4e946c44SChris Morgan pinctrl-names = "default"; 530*4e946c44SChris Morgan reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>; 531*4e946c44SChris Morgan touchscreen-inverted-x; 532*4e946c44SChris Morgan touchscreen-size-x = <1080>; 533*4e946c44SChris Morgan touchscreen-size-y = <1920>; 534*4e946c44SChris Morgan touchscreen-swapped-x-y; 535*4e946c44SChris Morgan }; 536*4e946c44SChris Morgan}; 537*4e946c44SChris Morgan 538*4e946c44SChris Morgan&i2c4 { 539*4e946c44SChris Morgan pinctrl-0 = <&i2c4m2_xfer>; 540*4e946c44SChris Morgan status = "okay"; 541*4e946c44SChris Morgan 542*4e946c44SChris Morgan ti_adc: adc@48 { 543*4e946c44SChris Morgan compatible = "ti,ads1015"; 544*4e946c44SChris Morgan reg = <0x48>; 545*4e946c44SChris Morgan #address-cells = <1>; 546*4e946c44SChris Morgan #io-channel-cells = <1>; 547*4e946c44SChris Morgan #size-cells = <0>; 548*4e946c44SChris Morgan 549*4e946c44SChris Morgan channel@4 { 550*4e946c44SChris Morgan reg = <4>; 551*4e946c44SChris Morgan }; 552*4e946c44SChris Morgan 553*4e946c44SChris Morgan channel@5 { 554*4e946c44SChris Morgan reg = <5>; 555*4e946c44SChris Morgan }; 556*4e946c44SChris Morgan 557*4e946c44SChris Morgan channel@6 { 558*4e946c44SChris Morgan reg = <6>; 559*4e946c44SChris Morgan }; 560*4e946c44SChris Morgan 561*4e946c44SChris Morgan channel@7 { 562*4e946c44SChris Morgan reg = <7>; 563*4e946c44SChris Morgan }; 564*4e946c44SChris Morgan }; 565*4e946c44SChris Morgan 566*4e946c44SChris Morgan imu@68 { 567*4e946c44SChris Morgan compatible = "invensense,mpu6880"; 568*4e946c44SChris Morgan reg = <0x68>; 569*4e946c44SChris Morgan interrupt-parent = <&gpio0>; 570*4e946c44SChris Morgan interrupts = <RK_PD3 IRQ_TYPE_EDGE_RISING>; 571*4e946c44SChris Morgan }; 572*4e946c44SChris Morgan}; 573*4e946c44SChris Morgan 574*4e946c44SChris Morgan&i2c6 { 575*4e946c44SChris Morgan pinctrl-0 = <&i2c6m3_xfer>; 576*4e946c44SChris Morgan status = "okay"; 577*4e946c44SChris Morgan 578*4e946c44SChris Morgan rtc_hym8563: rtc@51 { 579*4e946c44SChris Morgan compatible = "haoyu,hym8563"; 580*4e946c44SChris Morgan reg = <0x51>; 581*4e946c44SChris Morgan #clock-cells = <0>; 582*4e946c44SChris Morgan clock-output-names = "hym8563"; 583*4e946c44SChris Morgan interrupt-parent = <&gpio0>; 584*4e946c44SChris Morgan interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 585*4e946c44SChris Morgan pinctrl-0 = <&hym8563_int>, <&clk32k_in>; 586*4e946c44SChris Morgan pinctrl-names = "default"; 587*4e946c44SChris Morgan wakeup-source; 588*4e946c44SChris Morgan }; 589*4e946c44SChris Morgan 590*4e946c44SChris Morgan /* Battery profile from BSP device tree. */ 591*4e946c44SChris Morgan battery@62 { 592*4e946c44SChris Morgan compatible = "cellwise,cw2015"; 593*4e946c44SChris Morgan reg = <0x62>; 594*4e946c44SChris Morgan 595*4e946c44SChris Morgan cellwise,battery-profile = /bits/ 8 596*4e946c44SChris Morgan <0x18 0x0A 0x76 0x6A 0x6A 0x6A 0x68 0x66 597*4e946c44SChris Morgan 0x62 0x5E 0x5A 0x58 0x5F 0x59 0x46 0x3D 598*4e946c44SChris Morgan 0x35 0x2D 0x28 0x21 0x29 0x38 0x44 0x50 599*4e946c44SChris Morgan 0x1A 0x85 0x07 0xAE 0x14 0x28 0x48 0x56 600*4e946c44SChris Morgan 0x66 0x66 0x66 0x6A 0x3E 0x1A 0x6C 0x3D 601*4e946c44SChris Morgan 0x09 0x38 0x1A 0x49 0x7B 0x96 0xA2 0x15 602*4e946c44SChris Morgan 0x3B 0x77 0x9A 0xB1 0x80 0x87 0xB0 0xCB 603*4e946c44SChris Morgan 0x2F 0x00 0x64 0xA5 0xB5 0x1C 0xF0 0x49>; 604*4e946c44SChris Morgan cellwise,monitor-interval-ms = <5000>; 605*4e946c44SChris Morgan monitored-battery = <&battery>; 606*4e946c44SChris Morgan status = "okay"; 607*4e946c44SChris Morgan }; 608*4e946c44SChris Morgan}; 609*4e946c44SChris Morgan 610*4e946c44SChris Morgan&i2c7 { 611*4e946c44SChris Morgan status = "okay"; 612*4e946c44SChris Morgan 613*4e946c44SChris Morgan es8388: audio-codec@11 { 614*4e946c44SChris Morgan compatible = "everest,es8388"; 615*4e946c44SChris Morgan reg = <0x11>; 616*4e946c44SChris Morgan assigned-clock-rates = <12288000>; 617*4e946c44SChris Morgan assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 618*4e946c44SChris Morgan AVDD-supply = <&vcc_3v3_s3>; 619*4e946c44SChris Morgan clocks = <&cru I2S0_8CH_MCLKOUT>; 620*4e946c44SChris Morgan DVDD-supply = <&vcc_1v8_s3>; 621*4e946c44SChris Morgan HPVDD-supply = <&vcc_3v3_s3>; 622*4e946c44SChris Morgan PVDD-supply = <&vcc_1v8_s3>; 623*4e946c44SChris Morgan #sound-dai-cells = <0>; 624*4e946c44SChris Morgan }; 625*4e946c44SChris Morgan}; 626*4e946c44SChris Morgan 627*4e946c44SChris Morgan&i2s0_8ch { 628*4e946c44SChris Morgan pinctrl-0 = <&i2s0_lrck 629*4e946c44SChris Morgan &i2s0_mclk 630*4e946c44SChris Morgan &i2s0_sclk 631*4e946c44SChris Morgan &i2s0_sdi0 632*4e946c44SChris Morgan &i2s0_sdo0>; 633*4e946c44SChris Morgan status = "okay"; 634*4e946c44SChris Morgan}; 635*4e946c44SChris Morgan 636*4e946c44SChris Morgan&package_thermal { 637*4e946c44SChris Morgan polling-delay = <1000>; 638*4e946c44SChris Morgan 639*4e946c44SChris Morgan trips { 640*4e946c44SChris Morgan package_fan0: package-fan0 { 641*4e946c44SChris Morgan temperature = <55000>; 642*4e946c44SChris Morgan hysteresis = <2000>; 643*4e946c44SChris Morgan type = "active"; 644*4e946c44SChris Morgan }; 645*4e946c44SChris Morgan 646*4e946c44SChris Morgan package_fan1: package-fan1 { 647*4e946c44SChris Morgan temperature = <65000>; 648*4e946c44SChris Morgan hysteresis = <2000>; 649*4e946c44SChris Morgan type = "active"; 650*4e946c44SChris Morgan }; 651*4e946c44SChris Morgan }; 652*4e946c44SChris Morgan 653*4e946c44SChris Morgan cooling-maps { 654*4e946c44SChris Morgan map1 { 655*4e946c44SChris Morgan trip = <&package_fan0>; 656*4e946c44SChris Morgan cooling-device = <&pwm_fan THERMAL_NO_LIMIT 1>; 657*4e946c44SChris Morgan }; 658*4e946c44SChris Morgan 659*4e946c44SChris Morgan map2 { 660*4e946c44SChris Morgan trip = <&package_fan1>; 661*4e946c44SChris Morgan cooling-device = <&pwm_fan 2 THERMAL_NO_LIMIT>; 662*4e946c44SChris Morgan }; 663*4e946c44SChris Morgan }; 664*4e946c44SChris Morgan}; 665*4e946c44SChris Morgan 666*4e946c44SChris Morgan/* 667*4e946c44SChris Morgan * Attempts to use an M.2 SATA in this slot worked intermittently 668*4e946c44SChris Morgan * with the correct nodes enabled in device-tree, but eventually 669*4e946c44SChris Morgan * resulted in a destroyed board. Advise caution. 670*4e946c44SChris Morgan */ 671*4e946c44SChris Morgan&pcie2x1l1 { 672*4e946c44SChris Morgan pinctrl-0 = <&pcie_rst>; 673*4e946c44SChris Morgan pinctrl-names = "default"; 674*4e946c44SChris Morgan reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; 675*4e946c44SChris Morgan status = "okay"; 676*4e946c44SChris Morgan}; 677*4e946c44SChris Morgan 678*4e946c44SChris Morgan&pinctrl { 679*4e946c44SChris Morgan audio-amplifier { 680*4e946c44SChris Morgan headphone_amplifier_en: headphone-amplifier-en { 681*4e946c44SChris Morgan rockchip,pins = 682*4e946c44SChris Morgan <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 683*4e946c44SChris Morgan }; 684*4e946c44SChris Morgan 685*4e946c44SChris Morgan hp_detect: headphone-detect { 686*4e946c44SChris Morgan rockchip,pins = 687*4e946c44SChris Morgan <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 688*4e946c44SChris Morgan }; 689*4e946c44SChris Morgan 690*4e946c44SChris Morgan speaker_amplifier_en: speaker-amplifier-en { 691*4e946c44SChris Morgan rockchip,pins = 692*4e946c44SChris Morgan <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 693*4e946c44SChris Morgan }; 694*4e946c44SChris Morgan }; 695*4e946c44SChris Morgan 696*4e946c44SChris Morgan bt { 697*4e946c44SChris Morgan bt_enable_h: bt-enable-h { 698*4e946c44SChris Morgan rockchip,pins = 699*4e946c44SChris Morgan <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 700*4e946c44SChris Morgan }; 701*4e946c44SChris Morgan 702*4e946c44SChris Morgan bt_host_wake_l: bt-host-wake-l { 703*4e946c44SChris Morgan rockchip,pins = 704*4e946c44SChris Morgan <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; 705*4e946c44SChris Morgan }; 706*4e946c44SChris Morgan 707*4e946c44SChris Morgan bt_wake_l: bt-wake-l { 708*4e946c44SChris Morgan rockchip,pins = 709*4e946c44SChris Morgan <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 710*4e946c44SChris Morgan }; 711*4e946c44SChris Morgan }; 712*4e946c44SChris Morgan 713*4e946c44SChris Morgan charger { 714*4e946c44SChris Morgan boost_enable_h: boost-enable-h { 715*4e946c44SChris Morgan rockchip,pins = 716*4e946c44SChris Morgan <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 717*4e946c44SChris Morgan }; 718*4e946c44SChris Morgan charger_int_h: charger-int-h { 719*4e946c44SChris Morgan rockchip,pins = 720*4e946c44SChris Morgan <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 721*4e946c44SChris Morgan }; 722*4e946c44SChris Morgan }; 723*4e946c44SChris Morgan 724*4e946c44SChris Morgan hym8563 { 725*4e946c44SChris Morgan hym8563_int: hym8563-int { 726*4e946c44SChris Morgan rockchip,pins = 727*4e946c44SChris Morgan <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 728*4e946c44SChris Morgan }; 729*4e946c44SChris Morgan }; 730*4e946c44SChris Morgan 731*4e946c44SChris Morgan gpio-btns { 732*4e946c44SChris Morgan btn_pins_ctrl: btn-pins-ctrl { 733*4e946c44SChris Morgan rockchip,pins = 734*4e946c44SChris Morgan <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>, 735*4e946c44SChris Morgan <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 736*4e946c44SChris Morgan <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, 737*4e946c44SChris Morgan <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 738*4e946c44SChris Morgan <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, 739*4e946c44SChris Morgan <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>, 740*4e946c44SChris Morgan <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, 741*4e946c44SChris Morgan <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, 742*4e946c44SChris Morgan <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>, 743*4e946c44SChris Morgan <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, 744*4e946c44SChris Morgan <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, 745*4e946c44SChris Morgan <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, 746*4e946c44SChris Morgan <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>, 747*4e946c44SChris Morgan <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>, 748*4e946c44SChris Morgan <1 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>, 749*4e946c44SChris Morgan <1 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>; 750*4e946c44SChris Morgan }; 751*4e946c44SChris Morgan }; 752*4e946c44SChris Morgan 753*4e946c44SChris Morgan gpio-leds { 754*4e946c44SChris Morgan led_pins: led-pins { 755*4e946c44SChris Morgan rockchip,pins = 756*4e946c44SChris Morgan <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>, 757*4e946c44SChris Morgan <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>; 758*4e946c44SChris Morgan }; 759*4e946c44SChris Morgan }; 760*4e946c44SChris Morgan 761*4e946c44SChris Morgan lcd_bl_en { 762*4e946c44SChris Morgan lcd_bl_en: lcd-bl-en { 763*4e946c44SChris Morgan rockchip,pins = 764*4e946c44SChris Morgan <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 765*4e946c44SChris Morgan }; 766*4e946c44SChris Morgan }; 767*4e946c44SChris Morgan 768*4e946c44SChris Morgan pcie-pins { 769*4e946c44SChris Morgan pcie_rst: pcie-rst { 770*4e946c44SChris Morgan rockchip,pins = 771*4e946c44SChris Morgan <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>; 772*4e946c44SChris Morgan }; 773*4e946c44SChris Morgan }; 774*4e946c44SChris Morgan 775*4e946c44SChris Morgan sd-pwr { 776*4e946c44SChris Morgan sd_s0_pwr: sd-s0-pwr { 777*4e946c44SChris Morgan rockchip,pins = 778*4e946c44SChris Morgan <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 779*4e946c44SChris Morgan }; 780*4e946c44SChris Morgan }; 781*4e946c44SChris Morgan 782*4e946c44SChris Morgan spk-pwr { 783*4e946c44SChris Morgan vcc5v0_spk_pwr: vcc5v0-spk-pwr { 784*4e946c44SChris Morgan rockchip,pins = 785*4e946c44SChris Morgan <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 786*4e946c44SChris Morgan }; 787*4e946c44SChris Morgan }; 788*4e946c44SChris Morgan 789*4e946c44SChris Morgan touch { 790*4e946c44SChris Morgan touch_int: touch-int { 791*4e946c44SChris Morgan rockchip,pins = 792*4e946c44SChris Morgan <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; 793*4e946c44SChris Morgan }; 794*4e946c44SChris Morgan 795*4e946c44SChris Morgan touch_rst: touch-rst { 796*4e946c44SChris Morgan rockchip,pins = 797*4e946c44SChris Morgan <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 798*4e946c44SChris Morgan }; 799*4e946c44SChris Morgan }; 800*4e946c44SChris Morgan 801*4e946c44SChris Morgan usb-typec { 802*4e946c44SChris Morgan usbc0_int: usbc0-int { 803*4e946c44SChris Morgan rockchip,pins = 804*4e946c44SChris Morgan <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>; 805*4e946c44SChris Morgan }; 806*4e946c44SChris Morgan }; 807*4e946c44SChris Morgan 808*4e946c44SChris Morgan vcc3v3-lcd { 809*4e946c44SChris Morgan vcc_lcd_h: vcc-lcd-h { 810*4e946c44SChris Morgan rockchip,pins = 811*4e946c44SChris Morgan <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 812*4e946c44SChris Morgan }; 813*4e946c44SChris Morgan }; 814*4e946c44SChris Morgan 815*4e946c44SChris Morgan vibrator { 816*4e946c44SChris Morgan vib_left_h: vib-left-h { 817*4e946c44SChris Morgan rockchip,pins = 818*4e946c44SChris Morgan <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; 819*4e946c44SChris Morgan }; 820*4e946c44SChris Morgan 821*4e946c44SChris Morgan vib_right_h: vib-right-h { 822*4e946c44SChris Morgan rockchip,pins = 823*4e946c44SChris Morgan <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>; 824*4e946c44SChris Morgan }; 825*4e946c44SChris Morgan }; 826*4e946c44SChris Morgan 827*4e946c44SChris Morgan wifi { 828*4e946c44SChris Morgan wifi_enable_h: wifi-enable-h { 829*4e946c44SChris Morgan rockchip,pins = 830*4e946c44SChris Morgan <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 831*4e946c44SChris Morgan }; 832*4e946c44SChris Morgan 833*4e946c44SChris Morgan wifi_host_wake_irq: wifi-host-wake-irq { 834*4e946c44SChris Morgan rockchip,pins = 835*4e946c44SChris Morgan <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; 836*4e946c44SChris Morgan }; 837*4e946c44SChris Morgan }; 838*4e946c44SChris Morgan}; 839*4e946c44SChris Morgan 840*4e946c44SChris Morgan&pwm12 { 841*4e946c44SChris Morgan pinctrl-0 = <&pwm12m1_pins>; 842*4e946c44SChris Morgan status = "okay"; 843*4e946c44SChris Morgan}; 844*4e946c44SChris Morgan 845*4e946c44SChris Morgan&pwm13 { 846*4e946c44SChris Morgan pinctrl-0 = <&pwm13m1_pins>; 847*4e946c44SChris Morgan status = "okay"; 848*4e946c44SChris Morgan}; 849*4e946c44SChris Morgan 850*4e946c44SChris Morgan&saradc { 851*4e946c44SChris Morgan vref-supply = <&vcc_1v8_s0>; 852*4e946c44SChris Morgan status = "okay"; 853*4e946c44SChris Morgan}; 854*4e946c44SChris Morgan 855*4e946c44SChris Morgan&sdhci { 856*4e946c44SChris Morgan bus-width = <8>; 857*4e946c44SChris Morgan mmc-hs400-1_8v; 858*4e946c44SChris Morgan mmc-hs400-enhanced-strobe; 859*4e946c44SChris Morgan no-sd; 860*4e946c44SChris Morgan no-sdio; 861*4e946c44SChris Morgan non-removable; 862*4e946c44SChris Morgan status = "okay"; 863*4e946c44SChris Morgan}; 864*4e946c44SChris Morgan 865*4e946c44SChris Morgan&sdio { 866*4e946c44SChris Morgan #address-cells = <1>; 867*4e946c44SChris Morgan bus-width = <4>; 868*4e946c44SChris Morgan cap-sd-highspeed; 869*4e946c44SChris Morgan cap-sdio-irq; 870*4e946c44SChris Morgan disable-wp; 871*4e946c44SChris Morgan keep-power-in-suspend; 872*4e946c44SChris Morgan max-frequency = <150000000>; 873*4e946c44SChris Morgan mmc-pwrseq = <&sdio_pwrseq>; 874*4e946c44SChris Morgan no-mmc; 875*4e946c44SChris Morgan no-sd; 876*4e946c44SChris Morgan sd-uhs-sdr104; 877*4e946c44SChris Morgan #size-cells = <0>; 878*4e946c44SChris Morgan status = "okay"; 879*4e946c44SChris Morgan 880*4e946c44SChris Morgan brcmf: wifi@1 { 881*4e946c44SChris Morgan compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac"; 882*4e946c44SChris Morgan reg = <1>; 883*4e946c44SChris Morgan interrupt-parent = <&gpio0>; 884*4e946c44SChris Morgan interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>; 885*4e946c44SChris Morgan interrupt-names = "host-wake"; 886*4e946c44SChris Morgan pinctrl-0 = <&wifi_host_wake_irq>; 887*4e946c44SChris Morgan pinctrl-names = "default"; 888*4e946c44SChris Morgan }; 889*4e946c44SChris Morgan}; 890*4e946c44SChris Morgan 891*4e946c44SChris Morgan&sdmmc { 892*4e946c44SChris Morgan bus-width = <4>; 893*4e946c44SChris Morgan cap-mmc-highspeed; 894*4e946c44SChris Morgan cap-sd-highspeed; 895*4e946c44SChris Morgan disable-wp; 896*4e946c44SChris Morgan max-frequency = <150000000>; 897*4e946c44SChris Morgan no-sdio; 898*4e946c44SChris Morgan no-mmc; 899*4e946c44SChris Morgan sd-uhs-sdr104; 900*4e946c44SChris Morgan vmmc-supply = <&vcc_3v3_sd_s0>; 901*4e946c44SChris Morgan vqmmc-supply = <&vccio_sd_s0>; 902*4e946c44SChris Morgan status = "okay"; 903*4e946c44SChris Morgan}; 904*4e946c44SChris Morgan 905*4e946c44SChris Morgan&spi2 { 906*4e946c44SChris Morgan #address-cells = <1>; 907*4e946c44SChris Morgan assigned-clocks = <&cru CLK_SPI2>; 908*4e946c44SChris Morgan assigned-clock-rates = <200000000>; 909*4e946c44SChris Morgan num-cs = <1>; 910*4e946c44SChris Morgan pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>; 911*4e946c44SChris Morgan pinctrl-names = "default"; 912*4e946c44SChris Morgan #size-cells = <0>; 913*4e946c44SChris Morgan status = "okay"; 914*4e946c44SChris Morgan 915*4e946c44SChris Morgan pmic@0 { 916*4e946c44SChris Morgan compatible = "rockchip,rk806"; 917*4e946c44SChris Morgan reg = <0x0>; 918*4e946c44SChris Morgan #gpio-cells = <2>; 919*4e946c44SChris Morgan gpio-controller; 920*4e946c44SChris Morgan interrupt-parent = <&gpio0>; 921*4e946c44SChris Morgan interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 922*4e946c44SChris Morgan pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 923*4e946c44SChris Morgan <&rk806_dvs2_null>, <&rk806_dvs3_null>; 924*4e946c44SChris Morgan pinctrl-names = "default"; 925*4e946c44SChris Morgan spi-max-frequency = <1000000>; 926*4e946c44SChris Morgan system-power-controller; 927*4e946c44SChris Morgan 928*4e946c44SChris Morgan vcc1-supply = <&vcc5v0_sys>; 929*4e946c44SChris Morgan vcc2-supply = <&vcc5v0_sys>; 930*4e946c44SChris Morgan vcc3-supply = <&vcc5v0_sys>; 931*4e946c44SChris Morgan vcc4-supply = <&vcc5v0_sys>; 932*4e946c44SChris Morgan vcc5-supply = <&vcc5v0_sys>; 933*4e946c44SChris Morgan vcc6-supply = <&vcc5v0_sys>; 934*4e946c44SChris Morgan vcc7-supply = <&vcc5v0_sys>; 935*4e946c44SChris Morgan vcc8-supply = <&vcc5v0_sys>; 936*4e946c44SChris Morgan vcc9-supply = <&vcc5v0_sys>; 937*4e946c44SChris Morgan vcc10-supply = <&vcc5v0_sys>; 938*4e946c44SChris Morgan vcc11-supply = <&vcc_2v0_pldo_s3>; 939*4e946c44SChris Morgan vcc12-supply = <&vcc5v0_sys>; 940*4e946c44SChris Morgan vcc13-supply = <&vcc_1v1_nldo_s3>; 941*4e946c44SChris Morgan vcc14-supply = <&vcc_1v1_nldo_s3>; 942*4e946c44SChris Morgan vcca-supply = <&vcc5v0_sys>; 943*4e946c44SChris Morgan 944*4e946c44SChris Morgan rk806_dvs1_null: dvs1-null-pins { 945*4e946c44SChris Morgan pins = "gpio_pwrctrl1"; 946*4e946c44SChris Morgan function = "pin_fun0"; 947*4e946c44SChris Morgan }; 948*4e946c44SChris Morgan 949*4e946c44SChris Morgan rk806_dvs2_null: dvs2-null-pins { 950*4e946c44SChris Morgan pins = "gpio_pwrctrl2"; 951*4e946c44SChris Morgan function = "pin_fun0"; 952*4e946c44SChris Morgan }; 953*4e946c44SChris Morgan 954*4e946c44SChris Morgan rk806_dvs3_null: dvs3-null-pins { 955*4e946c44SChris Morgan pins = "gpio_pwrctrl3"; 956*4e946c44SChris Morgan function = "pin_fun0"; 957*4e946c44SChris Morgan }; 958*4e946c44SChris Morgan 959*4e946c44SChris Morgan regulators { 960*4e946c44SChris Morgan vdd_gpu_s0: dcdc-reg1 { 961*4e946c44SChris Morgan regulator-boot-on; 962*4e946c44SChris Morgan regulator-enable-ramp-delay = <400>; 963*4e946c44SChris Morgan regulator-max-microvolt = <950000>; 964*4e946c44SChris Morgan regulator-min-microvolt = <550000>; 965*4e946c44SChris Morgan regulator-name = "vdd_gpu_s0"; 966*4e946c44SChris Morgan regulator-ramp-delay = <12500>; 967*4e946c44SChris Morgan regulator-state-mem { 968*4e946c44SChris Morgan regulator-off-in-suspend; 969*4e946c44SChris Morgan }; 970*4e946c44SChris Morgan }; 971*4e946c44SChris Morgan 972*4e946c44SChris Morgan vdd_cpu_lit_s0: dcdc-reg2 { 973*4e946c44SChris Morgan regulator-always-on; 974*4e946c44SChris Morgan regulator-boot-on; 975*4e946c44SChris Morgan regulator-max-microvolt = <950000>; 976*4e946c44SChris Morgan regulator-min-microvolt = <550000>; 977*4e946c44SChris Morgan regulator-ramp-delay = <12500>; 978*4e946c44SChris Morgan regulator-name = "vdd_cpu_lit_s0"; 979*4e946c44SChris Morgan regulator-state-mem { 980*4e946c44SChris Morgan regulator-off-in-suspend; 981*4e946c44SChris Morgan }; 982*4e946c44SChris Morgan }; 983*4e946c44SChris Morgan 984*4e946c44SChris Morgan vdd_logic_s0: dcdc-reg3 { 985*4e946c44SChris Morgan regulator-always-on; 986*4e946c44SChris Morgan regulator-boot-on; 987*4e946c44SChris Morgan regulator-max-microvolt = <750000>; 988*4e946c44SChris Morgan regulator-min-microvolt = <675000>; 989*4e946c44SChris Morgan regulator-name = "vdd_logic_s0"; 990*4e946c44SChris Morgan regulator-ramp-delay = <12500>; 991*4e946c44SChris Morgan regulator-state-mem { 992*4e946c44SChris Morgan regulator-on-in-suspend; 993*4e946c44SChris Morgan regulator-suspend-microvolt = <750000>; 994*4e946c44SChris Morgan }; 995*4e946c44SChris Morgan }; 996*4e946c44SChris Morgan 997*4e946c44SChris Morgan vdd_vdenc_s0: dcdc-reg4 { 998*4e946c44SChris Morgan regulator-always-on; 999*4e946c44SChris Morgan regulator-boot-on; 1000*4e946c44SChris Morgan regulator-max-microvolt = <950000>; 1001*4e946c44SChris Morgan regulator-min-microvolt = <550000>; 1002*4e946c44SChris Morgan regulator-name = "vdd_vdenc_s0"; 1003*4e946c44SChris Morgan regulator-ramp-delay = <12500>; 1004*4e946c44SChris Morgan regulator-state-mem { 1005*4e946c44SChris Morgan regulator-off-in-suspend; 1006*4e946c44SChris Morgan }; 1007*4e946c44SChris Morgan }; 1008*4e946c44SChris Morgan 1009*4e946c44SChris Morgan vdd_ddr_s0: dcdc-reg5 { 1010*4e946c44SChris Morgan regulator-always-on; 1011*4e946c44SChris Morgan regulator-boot-on; 1012*4e946c44SChris Morgan regulator-min-microvolt = <675000>; 1013*4e946c44SChris Morgan regulator-max-microvolt = <900000>; 1014*4e946c44SChris Morgan regulator-ramp-delay = <12500>; 1015*4e946c44SChris Morgan regulator-name = "vdd_ddr_s0"; 1016*4e946c44SChris Morgan regulator-state-mem { 1017*4e946c44SChris Morgan regulator-off-in-suspend; 1018*4e946c44SChris Morgan regulator-suspend-microvolt = <850000>; 1019*4e946c44SChris Morgan }; 1020*4e946c44SChris Morgan }; 1021*4e946c44SChris Morgan 1022*4e946c44SChris Morgan vdd2_ddr_s3: dcdc-reg6 { 1023*4e946c44SChris Morgan regulator-always-on; 1024*4e946c44SChris Morgan regulator-boot-on; 1025*4e946c44SChris Morgan regulator-name = "vdd2_ddr_s3"; 1026*4e946c44SChris Morgan regulator-state-mem { 1027*4e946c44SChris Morgan regulator-on-in-suspend; 1028*4e946c44SChris Morgan }; 1029*4e946c44SChris Morgan }; 1030*4e946c44SChris Morgan 1031*4e946c44SChris Morgan vcc_2v0_pldo_s3: dcdc-reg7 { 1032*4e946c44SChris Morgan regulator-always-on; 1033*4e946c44SChris Morgan regulator-boot-on; 1034*4e946c44SChris Morgan regulator-max-microvolt = <2000000>; 1035*4e946c44SChris Morgan regulator-min-microvolt = <2000000>; 1036*4e946c44SChris Morgan regulator-name = "vdd_2v0_pldo_s3"; 1037*4e946c44SChris Morgan regulator-state-mem { 1038*4e946c44SChris Morgan regulator-on-in-suspend; 1039*4e946c44SChris Morgan regulator-suspend-microvolt = <2000000>; 1040*4e946c44SChris Morgan }; 1041*4e946c44SChris Morgan }; 1042*4e946c44SChris Morgan 1043*4e946c44SChris Morgan vcc_3v3_s3: dcdc-reg8 { 1044*4e946c44SChris Morgan regulator-always-on; 1045*4e946c44SChris Morgan regulator-boot-on; 1046*4e946c44SChris Morgan regulator-max-microvolt = <3300000>; 1047*4e946c44SChris Morgan regulator-min-microvolt = <3300000>; 1048*4e946c44SChris Morgan regulator-name = "vcc_3v3_s3"; 1049*4e946c44SChris Morgan regulator-state-mem { 1050*4e946c44SChris Morgan regulator-on-in-suspend; 1051*4e946c44SChris Morgan regulator-suspend-microvolt = <3300000>; 1052*4e946c44SChris Morgan }; 1053*4e946c44SChris Morgan }; 1054*4e946c44SChris Morgan 1055*4e946c44SChris Morgan vddq_ddr_s0: dcdc-reg9 { 1056*4e946c44SChris Morgan regulator-always-on; 1057*4e946c44SChris Morgan regulator-boot-on; 1058*4e946c44SChris Morgan regulator-name = "vddq_ddr_s0"; 1059*4e946c44SChris Morgan regulator-state-mem { 1060*4e946c44SChris Morgan regulator-off-in-suspend; 1061*4e946c44SChris Morgan }; 1062*4e946c44SChris Morgan }; 1063*4e946c44SChris Morgan 1064*4e946c44SChris Morgan vcc_1v8_s3: dcdc-reg10 { 1065*4e946c44SChris Morgan regulator-always-on; 1066*4e946c44SChris Morgan regulator-boot-on; 1067*4e946c44SChris Morgan regulator-max-microvolt = <1800000>; 1068*4e946c44SChris Morgan regulator-min-microvolt = <1800000>; 1069*4e946c44SChris Morgan regulator-name = "vcc_1v8_s3"; 1070*4e946c44SChris Morgan regulator-state-mem { 1071*4e946c44SChris Morgan regulator-on-in-suspend; 1072*4e946c44SChris Morgan regulator-suspend-microvolt = <1800000>; 1073*4e946c44SChris Morgan }; 1074*4e946c44SChris Morgan }; 1075*4e946c44SChris Morgan 1076*4e946c44SChris Morgan avcc_1v8_s0: pldo-reg1 { 1077*4e946c44SChris Morgan regulator-always-on; 1078*4e946c44SChris Morgan regulator-boot-on; 1079*4e946c44SChris Morgan regulator-max-microvolt = <1800000>; 1080*4e946c44SChris Morgan regulator-min-microvolt = <1800000>; 1081*4e946c44SChris Morgan regulator-name = "avcc_1v8_s0"; 1082*4e946c44SChris Morgan regulator-state-mem { 1083*4e946c44SChris Morgan regulator-off-in-suspend; 1084*4e946c44SChris Morgan }; 1085*4e946c44SChris Morgan }; 1086*4e946c44SChris Morgan 1087*4e946c44SChris Morgan vcc_1v8_s0: pldo-reg2 { 1088*4e946c44SChris Morgan regulator-always-on; 1089*4e946c44SChris Morgan regulator-boot-on; 1090*4e946c44SChris Morgan regulator-max-microvolt = <1800000>; 1091*4e946c44SChris Morgan regulator-min-microvolt = <1800000>; 1092*4e946c44SChris Morgan regulator-name = "vcc_1v8_s0"; 1093*4e946c44SChris Morgan regulator-state-mem { 1094*4e946c44SChris Morgan regulator-off-in-suspend; 1095*4e946c44SChris Morgan regulator-suspend-microvolt = <1800000>; 1096*4e946c44SChris Morgan }; 1097*4e946c44SChris Morgan }; 1098*4e946c44SChris Morgan 1099*4e946c44SChris Morgan avdd_1v2_s0: pldo-reg3 { 1100*4e946c44SChris Morgan regulator-always-on; 1101*4e946c44SChris Morgan regulator-boot-on; 1102*4e946c44SChris Morgan regulator-max-microvolt = <1200000>; 1103*4e946c44SChris Morgan regulator-min-microvolt = <1200000>; 1104*4e946c44SChris Morgan regulator-name = "avdd_1v2_s0"; 1105*4e946c44SChris Morgan regulator-state-mem { 1106*4e946c44SChris Morgan regulator-off-in-suspend; 1107*4e946c44SChris Morgan }; 1108*4e946c44SChris Morgan }; 1109*4e946c44SChris Morgan 1110*4e946c44SChris Morgan vcc_3v3_s0: pldo-reg4 { 1111*4e946c44SChris Morgan regulator-always-on; 1112*4e946c44SChris Morgan regulator-boot-on; 1113*4e946c44SChris Morgan regulator-max-microvolt = <3300000>; 1114*4e946c44SChris Morgan regulator-min-microvolt = <3300000>; 1115*4e946c44SChris Morgan regulator-name = "vcc_3v3_s0"; 1116*4e946c44SChris Morgan regulator-state-mem { 1117*4e946c44SChris Morgan regulator-off-in-suspend; 1118*4e946c44SChris Morgan }; 1119*4e946c44SChris Morgan }; 1120*4e946c44SChris Morgan 1121*4e946c44SChris Morgan vccio_sd_s0: pldo-reg5 { 1122*4e946c44SChris Morgan regulator-always-on; 1123*4e946c44SChris Morgan regulator-boot-on; 1124*4e946c44SChris Morgan regulator-max-microvolt = <3300000>; 1125*4e946c44SChris Morgan regulator-min-microvolt = <1800000>; 1126*4e946c44SChris Morgan regulator-name = "vccio_sd_s0"; 1127*4e946c44SChris Morgan regulator-state-mem { 1128*4e946c44SChris Morgan regulator-off-in-suspend; 1129*4e946c44SChris Morgan }; 1130*4e946c44SChris Morgan }; 1131*4e946c44SChris Morgan 1132*4e946c44SChris Morgan vcc_1v8_s3_pldo6: pldo-reg6 { 1133*4e946c44SChris Morgan regulator-always-on; 1134*4e946c44SChris Morgan regulator-boot-on; 1135*4e946c44SChris Morgan regulator-max-microvolt = <1800000>; 1136*4e946c44SChris Morgan regulator-min-microvolt = <1800000>; 1137*4e946c44SChris Morgan regulator-name = "vcc_1v8_s3_pldo6"; 1138*4e946c44SChris Morgan regulator-state-mem { 1139*4e946c44SChris Morgan regulator-on-in-suspend; 1140*4e946c44SChris Morgan regulator-suspend-microvolt = <1800000>; 1141*4e946c44SChris Morgan }; 1142*4e946c44SChris Morgan }; 1143*4e946c44SChris Morgan 1144*4e946c44SChris Morgan vdd_0v75_s3: nldo-reg1 { 1145*4e946c44SChris Morgan regulator-always-on; 1146*4e946c44SChris Morgan regulator-boot-on; 1147*4e946c44SChris Morgan regulator-max-microvolt = <750000>; 1148*4e946c44SChris Morgan regulator-min-microvolt = <750000>; 1149*4e946c44SChris Morgan regulator-name = "vdd_0v75_s3"; 1150*4e946c44SChris Morgan regulator-state-mem { 1151*4e946c44SChris Morgan regulator-on-in-suspend; 1152*4e946c44SChris Morgan regulator-suspend-microvolt = <750000>; 1153*4e946c44SChris Morgan }; 1154*4e946c44SChris Morgan }; 1155*4e946c44SChris Morgan 1156*4e946c44SChris Morgan vdd_ddr_pll_s0: nldo-reg2 { 1157*4e946c44SChris Morgan regulator-always-on; 1158*4e946c44SChris Morgan regulator-boot-on; 1159*4e946c44SChris Morgan regulator-max-microvolt = <850000>; 1160*4e946c44SChris Morgan regulator-min-microvolt = <850000>; 1161*4e946c44SChris Morgan regulator-name = "vdd_ddr_pll_s0"; 1162*4e946c44SChris Morgan regulator-state-mem { 1163*4e946c44SChris Morgan regulator-off-in-suspend; 1164*4e946c44SChris Morgan regulator-suspend-microvolt = <850000>; 1165*4e946c44SChris Morgan }; 1166*4e946c44SChris Morgan }; 1167*4e946c44SChris Morgan 1168*4e946c44SChris Morgan avdd_0v75_s0: nldo-reg3 { 1169*4e946c44SChris Morgan regulator-always-on; 1170*4e946c44SChris Morgan regulator-boot-on; 1171*4e946c44SChris Morgan regulator-max-microvolt = <837500>; 1172*4e946c44SChris Morgan regulator-min-microvolt = <837500>; 1173*4e946c44SChris Morgan regulator-name = "avdd_0v75_s0"; 1174*4e946c44SChris Morgan regulator-state-mem { 1175*4e946c44SChris Morgan regulator-off-in-suspend; 1176*4e946c44SChris Morgan }; 1177*4e946c44SChris Morgan }; 1178*4e946c44SChris Morgan 1179*4e946c44SChris Morgan vdd_0v85_s0: nldo-reg4 { 1180*4e946c44SChris Morgan regulator-always-on; 1181*4e946c44SChris Morgan regulator-boot-on; 1182*4e946c44SChris Morgan regulator-min-microvolt = <850000>; 1183*4e946c44SChris Morgan regulator-max-microvolt = <850000>; 1184*4e946c44SChris Morgan regulator-name = "vdd_0v85_s0"; 1185*4e946c44SChris Morgan regulator-state-mem { 1186*4e946c44SChris Morgan regulator-off-in-suspend; 1187*4e946c44SChris Morgan }; 1188*4e946c44SChris Morgan }; 1189*4e946c44SChris Morgan 1190*4e946c44SChris Morgan vdd_0v75_s0: nldo-reg5 { 1191*4e946c44SChris Morgan regulator-always-on; 1192*4e946c44SChris Morgan regulator-boot-on; 1193*4e946c44SChris Morgan regulator-min-microvolt = <750000>; 1194*4e946c44SChris Morgan regulator-max-microvolt = <750000>; 1195*4e946c44SChris Morgan regulator-name = "vdd_0v75_s0"; 1196*4e946c44SChris Morgan regulator-state-mem { 1197*4e946c44SChris Morgan regulator-off-in-suspend; 1198*4e946c44SChris Morgan }; 1199*4e946c44SChris Morgan }; 1200*4e946c44SChris Morgan }; 1201*4e946c44SChris Morgan }; 1202*4e946c44SChris Morgan}; 1203*4e946c44SChris Morgan 1204*4e946c44SChris Morgan&tsadc { 1205*4e946c44SChris Morgan status = "okay"; 1206*4e946c44SChris Morgan}; 1207*4e946c44SChris Morgan 1208*4e946c44SChris Morgan&u2phy0 { 1209*4e946c44SChris Morgan status = "okay"; 1210*4e946c44SChris Morgan}; 1211*4e946c44SChris Morgan 1212*4e946c44SChris Morgan&u2phy0_otg { 1213*4e946c44SChris Morgan status = "okay"; 1214*4e946c44SChris Morgan}; 1215*4e946c44SChris Morgan 1216*4e946c44SChris Morgan&uart2 { 1217*4e946c44SChris Morgan pinctrl-0 = <&uart2m0_xfer>; 1218*4e946c44SChris Morgan status = "okay"; 1219*4e946c44SChris Morgan}; 1220*4e946c44SChris Morgan 1221*4e946c44SChris Morgan&uart9 { 1222*4e946c44SChris Morgan pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>; 1223*4e946c44SChris Morgan uart-has-rtscts; 1224*4e946c44SChris Morgan status = "okay"; 1225*4e946c44SChris Morgan 1226*4e946c44SChris Morgan bluetooth { 1227*4e946c44SChris Morgan compatible = "brcm,bcm4345c5"; 1228*4e946c44SChris Morgan clocks = <&rtc_hym8563>; 1229*4e946c44SChris Morgan clock-names = "lpo"; 1230*4e946c44SChris Morgan device-wakeup-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>; 1231*4e946c44SChris Morgan interrupt-parent = <&gpio3>; 1232*4e946c44SChris Morgan interrupts = <RK_PB0 IRQ_TYPE_EDGE_FALLING>; 1233*4e946c44SChris Morgan pinctrl-0 = <&bt_enable_h>, <&bt_host_wake_l>, <&bt_wake_l>; 1234*4e946c44SChris Morgan pinctrl-names = "default"; 1235*4e946c44SChris Morgan shutdown-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>; 1236*4e946c44SChris Morgan }; 1237*4e946c44SChris Morgan}; 1238