1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*8d13bc63SEmmanuel Vadot 3*8d13bc63SEmmanuel Vadot/dts-v1/; 4*8d13bc63SEmmanuel Vadot 5*8d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 6*8d13bc63SEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h> 7*8d13bc63SEmmanuel Vadot#include <dt-bindings/leds/common.h> 8*8d13bc63SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 9*8d13bc63SEmmanuel Vadot#include <dt-bindings/soc/rockchip,vop2.h> 10*8d13bc63SEmmanuel Vadot#include "rk3566.dtsi" 11*8d13bc63SEmmanuel Vadot 12*8d13bc63SEmmanuel Vadot/ { 13*8d13bc63SEmmanuel Vadot aliases { 14*8d13bc63SEmmanuel Vadot mmc1 = &sdmmc0; 15*8d13bc63SEmmanuel Vadot mmc2 = &sdmmc1; 16*8d13bc63SEmmanuel Vadot mmc3 = &sdmmc2; 17*8d13bc63SEmmanuel Vadot }; 18*8d13bc63SEmmanuel Vadot 19*8d13bc63SEmmanuel Vadot adc-joystick { 20*8d13bc63SEmmanuel Vadot compatible = "adc-joystick"; 21*8d13bc63SEmmanuel Vadot io-channels = <&adc_mux 0>, 22*8d13bc63SEmmanuel Vadot <&adc_mux 1>, 23*8d13bc63SEmmanuel Vadot <&adc_mux 2>, 24*8d13bc63SEmmanuel Vadot <&adc_mux 3>; 25*8d13bc63SEmmanuel Vadot pinctrl-0 = <&joy_mux_en>; 26*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 27*8d13bc63SEmmanuel Vadot poll-interval = <60>; 28*8d13bc63SEmmanuel Vadot #address-cells = <1>; 29*8d13bc63SEmmanuel Vadot #size-cells = <0>; 30*8d13bc63SEmmanuel Vadot 31*8d13bc63SEmmanuel Vadot axis@0 { 32*8d13bc63SEmmanuel Vadot reg = <0>; 33*8d13bc63SEmmanuel Vadot abs-flat = <32>; 34*8d13bc63SEmmanuel Vadot abs-fuzz = <32>; 35*8d13bc63SEmmanuel Vadot abs-range = <1023 15>; 36*8d13bc63SEmmanuel Vadot linux,code = <ABS_X>; 37*8d13bc63SEmmanuel Vadot }; 38*8d13bc63SEmmanuel Vadot 39*8d13bc63SEmmanuel Vadot axis@1 { 40*8d13bc63SEmmanuel Vadot reg = <1>; 41*8d13bc63SEmmanuel Vadot abs-flat = <32>; 42*8d13bc63SEmmanuel Vadot abs-fuzz = <32>; 43*8d13bc63SEmmanuel Vadot abs-range = <15 1023>; 44*8d13bc63SEmmanuel Vadot linux,code = <ABS_RX>; 45*8d13bc63SEmmanuel Vadot }; 46*8d13bc63SEmmanuel Vadot 47*8d13bc63SEmmanuel Vadot axis@2 { 48*8d13bc63SEmmanuel Vadot reg = <2>; 49*8d13bc63SEmmanuel Vadot abs-flat = <32>; 50*8d13bc63SEmmanuel Vadot abs-fuzz = <32>; 51*8d13bc63SEmmanuel Vadot abs-range = <15 1023>; 52*8d13bc63SEmmanuel Vadot linux,code = <ABS_Y>; 53*8d13bc63SEmmanuel Vadot }; 54*8d13bc63SEmmanuel Vadot 55*8d13bc63SEmmanuel Vadot axis@3 { 56*8d13bc63SEmmanuel Vadot reg = <3>; 57*8d13bc63SEmmanuel Vadot abs-flat = <32>; 58*8d13bc63SEmmanuel Vadot abs-fuzz = <32>; 59*8d13bc63SEmmanuel Vadot abs-range = <1023 15>; 60*8d13bc63SEmmanuel Vadot linux,code = <ABS_RY>; 61*8d13bc63SEmmanuel Vadot }; 62*8d13bc63SEmmanuel Vadot }; 63*8d13bc63SEmmanuel Vadot 64*8d13bc63SEmmanuel Vadot adc_mux: adc-mux { 65*8d13bc63SEmmanuel Vadot compatible = "io-channel-mux"; 66*8d13bc63SEmmanuel Vadot channels = "left_x", "right_x", "left_y", "right_y"; 67*8d13bc63SEmmanuel Vadot #io-channel-cells = <1>; 68*8d13bc63SEmmanuel Vadot io-channels = <&saradc 3>; 69*8d13bc63SEmmanuel Vadot io-channel-names = "parent"; 70*8d13bc63SEmmanuel Vadot mux-controls = <&gpio_mux>; 71*8d13bc63SEmmanuel Vadot settle-time-us = <100>; 72*8d13bc63SEmmanuel Vadot }; 73*8d13bc63SEmmanuel Vadot 74*8d13bc63SEmmanuel Vadot backlight: backlight { 75*8d13bc63SEmmanuel Vadot compatible = "pwm-backlight"; 76*8d13bc63SEmmanuel Vadot power-supply = <&vcc_sys>; 77*8d13bc63SEmmanuel Vadot pwms = <&pwm4 0 25000 0>; 78*8d13bc63SEmmanuel Vadot }; 79*8d13bc63SEmmanuel Vadot 80*8d13bc63SEmmanuel Vadot battery: battery { 81*8d13bc63SEmmanuel Vadot compatible = "simple-battery"; 82*8d13bc63SEmmanuel Vadot charge-full-design-microamp-hours = <3151000>; 83*8d13bc63SEmmanuel Vadot charge-term-current-microamp = <300000>; 84*8d13bc63SEmmanuel Vadot constant-charge-current-max-microamp = <2000000>; 85*8d13bc63SEmmanuel Vadot constant-charge-voltage-max-microvolt = <4250000>; 86*8d13bc63SEmmanuel Vadot factory-internal-resistance-micro-ohms = <117000>; 87*8d13bc63SEmmanuel Vadot voltage-max-design-microvolt = <4172000>; 88*8d13bc63SEmmanuel Vadot voltage-min-design-microvolt = <3400000>; 89*8d13bc63SEmmanuel Vadot 90*8d13bc63SEmmanuel Vadot ocv-capacity-celsius = <20>; 91*8d13bc63SEmmanuel Vadot ocv-capacity-table-0 = <4172000 100>, <4092000 95>, <4035000 90>, <3990000 85>, 92*8d13bc63SEmmanuel Vadot <3939000 80>, <3895000 75>, <3852000 70>, <3807000 65>, 93*8d13bc63SEmmanuel Vadot <3762000 60>, <3713000 55>, <3672000 50>, <3647000 45>, 94*8d13bc63SEmmanuel Vadot <3629000 40>, <3613000 35>, <3598000 30>, <3578000 25>, 95*8d13bc63SEmmanuel Vadot <3550000 20>, <3519000 15>, <3479000 10>, <3438000 5>, 96*8d13bc63SEmmanuel Vadot <3400000 0>; 97*8d13bc63SEmmanuel Vadot }; 98*8d13bc63SEmmanuel Vadot 99*8d13bc63SEmmanuel Vadot gpio_keys_control: gpio-keys-control { 100*8d13bc63SEmmanuel Vadot compatible = "gpio-keys"; 101*8d13bc63SEmmanuel Vadot pinctrl-0 = <&btn_pins_ctrl>; 102*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 103*8d13bc63SEmmanuel Vadot 104*8d13bc63SEmmanuel Vadot button-a { 105*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; 106*8d13bc63SEmmanuel Vadot label = "EAST"; 107*8d13bc63SEmmanuel Vadot linux,code = <BTN_EAST>; 108*8d13bc63SEmmanuel Vadot }; 109*8d13bc63SEmmanuel Vadot 110*8d13bc63SEmmanuel Vadot button-b { 111*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; 112*8d13bc63SEmmanuel Vadot label = "SOUTH"; 113*8d13bc63SEmmanuel Vadot linux,code = <BTN_SOUTH>; 114*8d13bc63SEmmanuel Vadot }; 115*8d13bc63SEmmanuel Vadot 116*8d13bc63SEmmanuel Vadot button-down { 117*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; 118*8d13bc63SEmmanuel Vadot label = "DPAD-DOWN"; 119*8d13bc63SEmmanuel Vadot linux,code = <BTN_DPAD_DOWN>; 120*8d13bc63SEmmanuel Vadot }; 121*8d13bc63SEmmanuel Vadot 122*8d13bc63SEmmanuel Vadot button-l1 { 123*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; 124*8d13bc63SEmmanuel Vadot label = "TL"; 125*8d13bc63SEmmanuel Vadot linux,code = <BTN_TL>; 126*8d13bc63SEmmanuel Vadot }; 127*8d13bc63SEmmanuel Vadot 128*8d13bc63SEmmanuel Vadot button-l2 { 129*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; 130*8d13bc63SEmmanuel Vadot label = "TL2"; 131*8d13bc63SEmmanuel Vadot linux,code = <BTN_TL2>; 132*8d13bc63SEmmanuel Vadot }; 133*8d13bc63SEmmanuel Vadot 134*8d13bc63SEmmanuel Vadot button-left { 135*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; 136*8d13bc63SEmmanuel Vadot label = "DPAD-LEFT"; 137*8d13bc63SEmmanuel Vadot linux,code = <BTN_DPAD_LEFT>; 138*8d13bc63SEmmanuel Vadot }; 139*8d13bc63SEmmanuel Vadot 140*8d13bc63SEmmanuel Vadot button-r1 { 141*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; 142*8d13bc63SEmmanuel Vadot label = "TR"; 143*8d13bc63SEmmanuel Vadot linux,code = <BTN_TR>; 144*8d13bc63SEmmanuel Vadot }; 145*8d13bc63SEmmanuel Vadot 146*8d13bc63SEmmanuel Vadot button-r2 { 147*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; 148*8d13bc63SEmmanuel Vadot label = "TR2"; 149*8d13bc63SEmmanuel Vadot linux,code = <BTN_TR2>; 150*8d13bc63SEmmanuel Vadot }; 151*8d13bc63SEmmanuel Vadot 152*8d13bc63SEmmanuel Vadot button-right { 153*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; 154*8d13bc63SEmmanuel Vadot label = "DPAD-RIGHT"; 155*8d13bc63SEmmanuel Vadot linux,code = <BTN_DPAD_RIGHT>; 156*8d13bc63SEmmanuel Vadot }; 157*8d13bc63SEmmanuel Vadot 158*8d13bc63SEmmanuel Vadot button-select { 159*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; 160*8d13bc63SEmmanuel Vadot label = "SELECT"; 161*8d13bc63SEmmanuel Vadot linux,code = <BTN_SELECT>; 162*8d13bc63SEmmanuel Vadot }; 163*8d13bc63SEmmanuel Vadot 164*8d13bc63SEmmanuel Vadot button-start { 165*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; 166*8d13bc63SEmmanuel Vadot label = "START"; 167*8d13bc63SEmmanuel Vadot linux,code = <BTN_START>; 168*8d13bc63SEmmanuel Vadot }; 169*8d13bc63SEmmanuel Vadot 170*8d13bc63SEmmanuel Vadot button-thumbl { 171*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; 172*8d13bc63SEmmanuel Vadot label = "THUMBL"; 173*8d13bc63SEmmanuel Vadot linux,code = <BTN_THUMBL>; 174*8d13bc63SEmmanuel Vadot }; 175*8d13bc63SEmmanuel Vadot 176*8d13bc63SEmmanuel Vadot button-thumbr { 177*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; 178*8d13bc63SEmmanuel Vadot label = "THUMBR"; 179*8d13bc63SEmmanuel Vadot linux,code = <BTN_THUMBR>; 180*8d13bc63SEmmanuel Vadot }; 181*8d13bc63SEmmanuel Vadot 182*8d13bc63SEmmanuel Vadot button-up { 183*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; 184*8d13bc63SEmmanuel Vadot label = "DPAD-UP"; 185*8d13bc63SEmmanuel Vadot linux,code = <BTN_DPAD_UP>; 186*8d13bc63SEmmanuel Vadot }; 187*8d13bc63SEmmanuel Vadot 188*8d13bc63SEmmanuel Vadot button-x { 189*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; 190*8d13bc63SEmmanuel Vadot label = "NORTH"; 191*8d13bc63SEmmanuel Vadot linux,code = <BTN_NORTH>; 192*8d13bc63SEmmanuel Vadot }; 193*8d13bc63SEmmanuel Vadot 194*8d13bc63SEmmanuel Vadot button-y { 195*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; 196*8d13bc63SEmmanuel Vadot label = "WEST"; 197*8d13bc63SEmmanuel Vadot linux,code = <BTN_WEST>; 198*8d13bc63SEmmanuel Vadot }; 199*8d13bc63SEmmanuel Vadot }; 200*8d13bc63SEmmanuel Vadot 201*8d13bc63SEmmanuel Vadot gpio_keys_vol: gpio-keys-vol { 202*8d13bc63SEmmanuel Vadot compatible = "gpio-keys"; 203*8d13bc63SEmmanuel Vadot autorepeat; 204*8d13bc63SEmmanuel Vadot pinctrl-0 = <&btn_pins_vol>; 205*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 206*8d13bc63SEmmanuel Vadot 207*8d13bc63SEmmanuel Vadot button-vol-down { 208*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 209*8d13bc63SEmmanuel Vadot label = "VOLUMEDOWN"; 210*8d13bc63SEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 211*8d13bc63SEmmanuel Vadot }; 212*8d13bc63SEmmanuel Vadot 213*8d13bc63SEmmanuel Vadot button-vol-up { 214*8d13bc63SEmmanuel Vadot gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; 215*8d13bc63SEmmanuel Vadot label = "VOLUMEUP"; 216*8d13bc63SEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 217*8d13bc63SEmmanuel Vadot }; 218*8d13bc63SEmmanuel Vadot }; 219*8d13bc63SEmmanuel Vadot 220*8d13bc63SEmmanuel Vadot gpio_mux: mux-controller { 221*8d13bc63SEmmanuel Vadot compatible = "gpio-mux"; 222*8d13bc63SEmmanuel Vadot mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, 223*8d13bc63SEmmanuel Vadot <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; 224*8d13bc63SEmmanuel Vadot #mux-control-cells = <0>; 225*8d13bc63SEmmanuel Vadot }; 226*8d13bc63SEmmanuel Vadot 227*8d13bc63SEmmanuel Vadot hdmi-con { 228*8d13bc63SEmmanuel Vadot compatible = "hdmi-connector"; 229*8d13bc63SEmmanuel Vadot ddc-i2c-bus = <&i2c5>; 230*8d13bc63SEmmanuel Vadot type = "c"; 231*8d13bc63SEmmanuel Vadot 232*8d13bc63SEmmanuel Vadot port { 233*8d13bc63SEmmanuel Vadot hdmi_con_in: endpoint { 234*8d13bc63SEmmanuel Vadot remote-endpoint = <&hdmi_out_con>; 235*8d13bc63SEmmanuel Vadot }; 236*8d13bc63SEmmanuel Vadot }; 237*8d13bc63SEmmanuel Vadot }; 238*8d13bc63SEmmanuel Vadot 239*8d13bc63SEmmanuel Vadot /* 240*8d13bc63SEmmanuel Vadot * Device also includes an always on LED that is wired to the 5V input 241*8d13bc63SEmmanuel Vadot * voltage and is on when the device is plugged in. 242*8d13bc63SEmmanuel Vadot */ 243*8d13bc63SEmmanuel Vadot leds: pwm-leds { 244*8d13bc63SEmmanuel Vadot compatible = "pwm-leds"; 245*8d13bc63SEmmanuel Vadot 246*8d13bc63SEmmanuel Vadot green_led: led-0 { 247*8d13bc63SEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 248*8d13bc63SEmmanuel Vadot function = LED_FUNCTION_STATUS; 249*8d13bc63SEmmanuel Vadot max-brightness = <255>; 250*8d13bc63SEmmanuel Vadot pwms = <&pwm6 0 25000 0>; 251*8d13bc63SEmmanuel Vadot }; 252*8d13bc63SEmmanuel Vadot 253*8d13bc63SEmmanuel Vadot red_led: led-1 { 254*8d13bc63SEmmanuel Vadot color = <LED_COLOR_ID_RED>; 255*8d13bc63SEmmanuel Vadot function = LED_FUNCTION_CHARGING; 256*8d13bc63SEmmanuel Vadot max-brightness = <255>; 257*8d13bc63SEmmanuel Vadot pwms = <&pwm7 0 25000 0>; 258*8d13bc63SEmmanuel Vadot }; 259*8d13bc63SEmmanuel Vadot }; 260*8d13bc63SEmmanuel Vadot 261*8d13bc63SEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 262*8d13bc63SEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 263*8d13bc63SEmmanuel Vadot clocks = <&rk817 1>; 264*8d13bc63SEmmanuel Vadot clock-names = "ext_clock"; 265*8d13bc63SEmmanuel Vadot pinctrl-0 = <&wifi_enable_h>; 266*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 267*8d13bc63SEmmanuel Vadot post-power-on-delay-ms = <200>; 268*8d13bc63SEmmanuel Vadot reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>; 269*8d13bc63SEmmanuel Vadot }; 270*8d13bc63SEmmanuel Vadot 271*8d13bc63SEmmanuel Vadot /* 272*8d13bc63SEmmanuel Vadot * Channels reversed for speakers. Headphones automatically switch via hardware when 273*8d13bc63SEmmanuel Vadot * detected with no ability to control output in software. Headphones appear to be mono 274*8d13bc63SEmmanuel Vadot * (each output channel receives all audio). No microphone support on 3.5mm jack. 275*8d13bc63SEmmanuel Vadot */ 276*8d13bc63SEmmanuel Vadot sound { 277*8d13bc63SEmmanuel Vadot compatible = "simple-audio-card"; 278*8d13bc63SEmmanuel Vadot simple-audio-card,name = "rk817_ext"; 279*8d13bc63SEmmanuel Vadot simple-audio-card,format = "i2s"; 280*8d13bc63SEmmanuel Vadot simple-audio-card,mclk-fs = <256>; 281*8d13bc63SEmmanuel Vadot simple-audio-card,widgets = 282*8d13bc63SEmmanuel Vadot "Headphone", "Headphones"; 283*8d13bc63SEmmanuel Vadot simple-audio-card,routing = 284*8d13bc63SEmmanuel Vadot "Headphones", "HPOL", 285*8d13bc63SEmmanuel Vadot "Headphones", "HPOR"; 286*8d13bc63SEmmanuel Vadot 287*8d13bc63SEmmanuel Vadot simple-audio-card,codec { 288*8d13bc63SEmmanuel Vadot sound-dai = <&rk817>; 289*8d13bc63SEmmanuel Vadot }; 290*8d13bc63SEmmanuel Vadot 291*8d13bc63SEmmanuel Vadot simple-audio-card,cpu { 292*8d13bc63SEmmanuel Vadot sound-dai = <&i2s1_8ch>; 293*8d13bc63SEmmanuel Vadot }; 294*8d13bc63SEmmanuel Vadot }; 295*8d13bc63SEmmanuel Vadot 296*8d13bc63SEmmanuel Vadot vcc3v3_lcd0_n: regulator-vcc3v3-lcd0 { 297*8d13bc63SEmmanuel Vadot compatible = "regulator-fixed"; 298*8d13bc63SEmmanuel Vadot gpio = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; 299*8d13bc63SEmmanuel Vadot enable-active-high; 300*8d13bc63SEmmanuel Vadot pinctrl-0 = <&vcc_lcd_h>; 301*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 302*8d13bc63SEmmanuel Vadot regulator-boot-on; 303*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 304*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 305*8d13bc63SEmmanuel Vadot regulator-name = "vcc3v3_lcd0_n"; 306*8d13bc63SEmmanuel Vadot vin-supply = <&vcc_3v3>; 307*8d13bc63SEmmanuel Vadot regulator-state-mem { 308*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 309*8d13bc63SEmmanuel Vadot }; 310*8d13bc63SEmmanuel Vadot }; 311*8d13bc63SEmmanuel Vadot 312*8d13bc63SEmmanuel Vadot vcc_sys: regulator-vcc-sys { 313*8d13bc63SEmmanuel Vadot compatible = "regulator-fixed"; 314*8d13bc63SEmmanuel Vadot regulator-always-on; 315*8d13bc63SEmmanuel Vadot regulator-boot-on; 316*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3800000>; 317*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3800000>; 318*8d13bc63SEmmanuel Vadot regulator-name = "vcc_sys"; 319*8d13bc63SEmmanuel Vadot }; 320*8d13bc63SEmmanuel Vadot 321*8d13bc63SEmmanuel Vadot vcc_wifi: regulator-vcc-wifi { 322*8d13bc63SEmmanuel Vadot compatible = "regulator-fixed"; 323*8d13bc63SEmmanuel Vadot enable-active-high; 324*8d13bc63SEmmanuel Vadot gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 325*8d13bc63SEmmanuel Vadot pinctrl-0 = <&vcc_wifi_h>; 326*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 327*8d13bc63SEmmanuel Vadot regulator-always-on; 328*8d13bc63SEmmanuel Vadot regulator-boot-on; 329*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 330*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 331*8d13bc63SEmmanuel Vadot regulator-name = "vcc_wifi"; 332*8d13bc63SEmmanuel Vadot }; 333*8d13bc63SEmmanuel Vadot}; 334*8d13bc63SEmmanuel Vadot 335*8d13bc63SEmmanuel Vadot&combphy1 { 336*8d13bc63SEmmanuel Vadot status = "okay"; 337*8d13bc63SEmmanuel Vadot}; 338*8d13bc63SEmmanuel Vadot 339*8d13bc63SEmmanuel Vadot&cpu0 { 340*8d13bc63SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 341*8d13bc63SEmmanuel Vadot}; 342*8d13bc63SEmmanuel Vadot 343*8d13bc63SEmmanuel Vadot&cpu1 { 344*8d13bc63SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 345*8d13bc63SEmmanuel Vadot}; 346*8d13bc63SEmmanuel Vadot 347*8d13bc63SEmmanuel Vadot&cpu2 { 348*8d13bc63SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 349*8d13bc63SEmmanuel Vadot}; 350*8d13bc63SEmmanuel Vadot 351*8d13bc63SEmmanuel Vadot&cpu3 { 352*8d13bc63SEmmanuel Vadot cpu-supply = <&vdd_cpu>; 353*8d13bc63SEmmanuel Vadot}; 354*8d13bc63SEmmanuel Vadot 355*8d13bc63SEmmanuel Vadot&dsi0 { 356*8d13bc63SEmmanuel Vadot status = "okay"; 357*8d13bc63SEmmanuel Vadot #address-cells = <1>; 358*8d13bc63SEmmanuel Vadot #size-cells = <0>; 359*8d13bc63SEmmanuel Vadot 360*8d13bc63SEmmanuel Vadot ports { 361*8d13bc63SEmmanuel Vadot dsi0_in: port@0 { 362*8d13bc63SEmmanuel Vadot reg = <0>; 363*8d13bc63SEmmanuel Vadot dsi0_in_vp1: endpoint { 364*8d13bc63SEmmanuel Vadot remote-endpoint = <&vp1_out_dsi0>; 365*8d13bc63SEmmanuel Vadot }; 366*8d13bc63SEmmanuel Vadot }; 367*8d13bc63SEmmanuel Vadot 368*8d13bc63SEmmanuel Vadot dsi0_out: port@1 { 369*8d13bc63SEmmanuel Vadot reg = <1>; 370*8d13bc63SEmmanuel Vadot mipi_out_panel: endpoint { 371*8d13bc63SEmmanuel Vadot remote-endpoint = <&mipi_in_panel>; 372*8d13bc63SEmmanuel Vadot }; 373*8d13bc63SEmmanuel Vadot }; 374*8d13bc63SEmmanuel Vadot }; 375*8d13bc63SEmmanuel Vadot}; 376*8d13bc63SEmmanuel Vadot 377*8d13bc63SEmmanuel Vadot&dsi_dphy0 { 378*8d13bc63SEmmanuel Vadot status = "okay"; 379*8d13bc63SEmmanuel Vadot}; 380*8d13bc63SEmmanuel Vadot 381*8d13bc63SEmmanuel Vadot&gpu { 382*8d13bc63SEmmanuel Vadot mali-supply = <&vdd_gpu>; 383*8d13bc63SEmmanuel Vadot status = "okay"; 384*8d13bc63SEmmanuel Vadot}; 385*8d13bc63SEmmanuel Vadot 386*8d13bc63SEmmanuel Vadot&hdmi { 387*8d13bc63SEmmanuel Vadot ddc-i2c-bus = <&i2c5>; 388*8d13bc63SEmmanuel Vadot pinctrl-0 = <&hdmitxm0_cec>; 389*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 390*8d13bc63SEmmanuel Vadot status = "okay"; 391*8d13bc63SEmmanuel Vadot}; 392*8d13bc63SEmmanuel Vadot 393*8d13bc63SEmmanuel Vadot&hdmi_in { 394*8d13bc63SEmmanuel Vadot hdmi_in_vp0: endpoint { 395*8d13bc63SEmmanuel Vadot remote-endpoint = <&vp0_out_hdmi>; 396*8d13bc63SEmmanuel Vadot }; 397*8d13bc63SEmmanuel Vadot}; 398*8d13bc63SEmmanuel Vadot 399*8d13bc63SEmmanuel Vadot&hdmi_out { 400*8d13bc63SEmmanuel Vadot hdmi_out_con: endpoint { 401*8d13bc63SEmmanuel Vadot remote-endpoint = <&hdmi_con_in>; 402*8d13bc63SEmmanuel Vadot }; 403*8d13bc63SEmmanuel Vadot}; 404*8d13bc63SEmmanuel Vadot 405*8d13bc63SEmmanuel Vadot&hdmi_sound { 406*8d13bc63SEmmanuel Vadot status = "okay"; 407*8d13bc63SEmmanuel Vadot}; 408*8d13bc63SEmmanuel Vadot 409*8d13bc63SEmmanuel Vadot&i2c0 { 410*8d13bc63SEmmanuel Vadot status = "okay"; 411*8d13bc63SEmmanuel Vadot 412*8d13bc63SEmmanuel Vadot rk817: pmic@20 { 413*8d13bc63SEmmanuel Vadot compatible = "rockchip,rk817"; 414*8d13bc63SEmmanuel Vadot reg = <0x20>; 415*8d13bc63SEmmanuel Vadot interrupt-parent = <&gpio0>; 416*8d13bc63SEmmanuel Vadot interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 417*8d13bc63SEmmanuel Vadot clock-output-names = "rk808-clkout1", "rk808-clkout2"; 418*8d13bc63SEmmanuel Vadot clock-names = "mclk"; 419*8d13bc63SEmmanuel Vadot clocks = <&cru I2S1_MCLKOUT_TX>; 420*8d13bc63SEmmanuel Vadot assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 421*8d13bc63SEmmanuel Vadot assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 422*8d13bc63SEmmanuel Vadot #clock-cells = <1>; 423*8d13bc63SEmmanuel Vadot #sound-dai-cells = <0>; 424*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 425*8d13bc63SEmmanuel Vadot pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>; 426*8d13bc63SEmmanuel Vadot wakeup-source; 427*8d13bc63SEmmanuel Vadot 428*8d13bc63SEmmanuel Vadot vcc1-supply = <&vcc_sys>; 429*8d13bc63SEmmanuel Vadot vcc2-supply = <&vcc_sys>; 430*8d13bc63SEmmanuel Vadot vcc3-supply = <&vcc_sys>; 431*8d13bc63SEmmanuel Vadot vcc4-supply = <&vcc_sys>; 432*8d13bc63SEmmanuel Vadot vcc5-supply = <&vcc_sys>; 433*8d13bc63SEmmanuel Vadot vcc6-supply = <&vcc_sys>; 434*8d13bc63SEmmanuel Vadot vcc7-supply = <&vcc_sys>; 435*8d13bc63SEmmanuel Vadot vcc8-supply = <&vcc_sys>; 436*8d13bc63SEmmanuel Vadot vcc9-supply = <&dcdc_boost>; 437*8d13bc63SEmmanuel Vadot 438*8d13bc63SEmmanuel Vadot regulators { 439*8d13bc63SEmmanuel Vadot vdd_logic: DCDC_REG1 { 440*8d13bc63SEmmanuel Vadot regulator-always-on; 441*8d13bc63SEmmanuel Vadot regulator-boot-on; 442*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <500000>; 443*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1350000>; 444*8d13bc63SEmmanuel Vadot regulator-ramp-delay = <6001>; 445*8d13bc63SEmmanuel Vadot regulator-initial-mode = <0x2>; 446*8d13bc63SEmmanuel Vadot regulator-name = "vdd_logic"; 447*8d13bc63SEmmanuel Vadot regulator-state-mem { 448*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 449*8d13bc63SEmmanuel Vadot regulator-suspend-microvolt = <900000>; 450*8d13bc63SEmmanuel Vadot }; 451*8d13bc63SEmmanuel Vadot }; 452*8d13bc63SEmmanuel Vadot 453*8d13bc63SEmmanuel Vadot vdd_gpu: DCDC_REG2 { 454*8d13bc63SEmmanuel Vadot regulator-always-on; 455*8d13bc63SEmmanuel Vadot regulator-boot-on; 456*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <500000>; 457*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1350000>; 458*8d13bc63SEmmanuel Vadot regulator-ramp-delay = <6001>; 459*8d13bc63SEmmanuel Vadot regulator-initial-mode = <0x2>; 460*8d13bc63SEmmanuel Vadot regulator-name = "vdd_gpu"; 461*8d13bc63SEmmanuel Vadot regulator-state-mem { 462*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 463*8d13bc63SEmmanuel Vadot }; 464*8d13bc63SEmmanuel Vadot }; 465*8d13bc63SEmmanuel Vadot 466*8d13bc63SEmmanuel Vadot vcc_ddr: DCDC_REG3 { 467*8d13bc63SEmmanuel Vadot regulator-always-on; 468*8d13bc63SEmmanuel Vadot regulator-boot-on; 469*8d13bc63SEmmanuel Vadot regulator-initial-mode = <0x2>; 470*8d13bc63SEmmanuel Vadot regulator-name = "vcc_ddr"; 471*8d13bc63SEmmanuel Vadot regulator-state-mem { 472*8d13bc63SEmmanuel Vadot regulator-on-in-suspend; 473*8d13bc63SEmmanuel Vadot }; 474*8d13bc63SEmmanuel Vadot }; 475*8d13bc63SEmmanuel Vadot 476*8d13bc63SEmmanuel Vadot vcc_3v3: DCDC_REG4 { 477*8d13bc63SEmmanuel Vadot regulator-always-on; 478*8d13bc63SEmmanuel Vadot regulator-boot-on; 479*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 480*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 481*8d13bc63SEmmanuel Vadot regulator-initial-mode = <0x2>; 482*8d13bc63SEmmanuel Vadot regulator-name = "vcc_3v3"; 483*8d13bc63SEmmanuel Vadot regulator-state-mem { 484*8d13bc63SEmmanuel Vadot regulator-on-in-suspend; 485*8d13bc63SEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 486*8d13bc63SEmmanuel Vadot }; 487*8d13bc63SEmmanuel Vadot }; 488*8d13bc63SEmmanuel Vadot 489*8d13bc63SEmmanuel Vadot vcca1v8_pmu: LDO_REG1 { 490*8d13bc63SEmmanuel Vadot regulator-always-on; 491*8d13bc63SEmmanuel Vadot regulator-boot-on; 492*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 493*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 494*8d13bc63SEmmanuel Vadot regulator-name = "vcca1v8_pmu"; 495*8d13bc63SEmmanuel Vadot regulator-state-mem { 496*8d13bc63SEmmanuel Vadot regulator-on-in-suspend; 497*8d13bc63SEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 498*8d13bc63SEmmanuel Vadot }; 499*8d13bc63SEmmanuel Vadot }; 500*8d13bc63SEmmanuel Vadot 501*8d13bc63SEmmanuel Vadot vdda_0v9: LDO_REG2 { 502*8d13bc63SEmmanuel Vadot regulator-always-on; 503*8d13bc63SEmmanuel Vadot regulator-boot-on; 504*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <900000>; 505*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <900000>; 506*8d13bc63SEmmanuel Vadot regulator-name = "vdda_0v9"; 507*8d13bc63SEmmanuel Vadot regulator-state-mem { 508*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 509*8d13bc63SEmmanuel Vadot }; 510*8d13bc63SEmmanuel Vadot }; 511*8d13bc63SEmmanuel Vadot 512*8d13bc63SEmmanuel Vadot vdda0v9_pmu: LDO_REG3 { 513*8d13bc63SEmmanuel Vadot regulator-always-on; 514*8d13bc63SEmmanuel Vadot regulator-boot-on; 515*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <900000>; 516*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <900000>; 517*8d13bc63SEmmanuel Vadot regulator-name = "vdda0v9_pmu"; 518*8d13bc63SEmmanuel Vadot regulator-state-mem { 519*8d13bc63SEmmanuel Vadot regulator-on-in-suspend; 520*8d13bc63SEmmanuel Vadot regulator-suspend-microvolt = <900000>; 521*8d13bc63SEmmanuel Vadot }; 522*8d13bc63SEmmanuel Vadot }; 523*8d13bc63SEmmanuel Vadot 524*8d13bc63SEmmanuel Vadot vccio_acodec: LDO_REG4 { 525*8d13bc63SEmmanuel Vadot regulator-always-on; 526*8d13bc63SEmmanuel Vadot regulator-boot-on; 527*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 528*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 529*8d13bc63SEmmanuel Vadot regulator-name = "vccio_acodec"; 530*8d13bc63SEmmanuel Vadot regulator-state-mem { 531*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 532*8d13bc63SEmmanuel Vadot }; 533*8d13bc63SEmmanuel Vadot }; 534*8d13bc63SEmmanuel Vadot 535*8d13bc63SEmmanuel Vadot vccio_sd: LDO_REG5 { 536*8d13bc63SEmmanuel Vadot regulator-always-on; 537*8d13bc63SEmmanuel Vadot regulator-boot-on; 538*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 539*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 540*8d13bc63SEmmanuel Vadot regulator-name = "vccio_sd"; 541*8d13bc63SEmmanuel Vadot regulator-state-mem { 542*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 543*8d13bc63SEmmanuel Vadot }; 544*8d13bc63SEmmanuel Vadot }; 545*8d13bc63SEmmanuel Vadot 546*8d13bc63SEmmanuel Vadot vcc3v3_pmu: LDO_REG6 { 547*8d13bc63SEmmanuel Vadot regulator-always-on; 548*8d13bc63SEmmanuel Vadot regulator-boot-on; 549*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 550*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 551*8d13bc63SEmmanuel Vadot regulator-name = "vcc3v3_pmu"; 552*8d13bc63SEmmanuel Vadot regulator-state-mem { 553*8d13bc63SEmmanuel Vadot regulator-on-in-suspend; 554*8d13bc63SEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 555*8d13bc63SEmmanuel Vadot }; 556*8d13bc63SEmmanuel Vadot }; 557*8d13bc63SEmmanuel Vadot 558*8d13bc63SEmmanuel Vadot vcc_1v8: LDO_REG7 { 559*8d13bc63SEmmanuel Vadot regulator-always-on; 560*8d13bc63SEmmanuel Vadot regulator-boot-on; 561*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 562*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 563*8d13bc63SEmmanuel Vadot regulator-name = "vcc_1v8"; 564*8d13bc63SEmmanuel Vadot regulator-state-mem { 565*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 566*8d13bc63SEmmanuel Vadot }; 567*8d13bc63SEmmanuel Vadot }; 568*8d13bc63SEmmanuel Vadot 569*8d13bc63SEmmanuel Vadot vcc1v8_dvp: LDO_REG8 { 570*8d13bc63SEmmanuel Vadot regulator-always-on; 571*8d13bc63SEmmanuel Vadot regulator-boot-on; 572*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 573*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 574*8d13bc63SEmmanuel Vadot regulator-name = "vcc1v8_dvp"; 575*8d13bc63SEmmanuel Vadot regulator-state-mem { 576*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 577*8d13bc63SEmmanuel Vadot }; 578*8d13bc63SEmmanuel Vadot }; 579*8d13bc63SEmmanuel Vadot 580*8d13bc63SEmmanuel Vadot vcc2v8_dvp: LDO_REG9 { 581*8d13bc63SEmmanuel Vadot regulator-always-on; 582*8d13bc63SEmmanuel Vadot regulator-boot-on; 583*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <2800000>; 584*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2800000>; 585*8d13bc63SEmmanuel Vadot regulator-name = "vcc2v8_dvp"; 586*8d13bc63SEmmanuel Vadot regulator-state-mem { 587*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 588*8d13bc63SEmmanuel Vadot }; 589*8d13bc63SEmmanuel Vadot }; 590*8d13bc63SEmmanuel Vadot 591*8d13bc63SEmmanuel Vadot dcdc_boost: BOOST { 592*8d13bc63SEmmanuel Vadot regulator-always-on; 593*8d13bc63SEmmanuel Vadot regulator-boot-on; 594*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <4700000>; 595*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <5400000>; 596*8d13bc63SEmmanuel Vadot regulator-name = "boost"; 597*8d13bc63SEmmanuel Vadot regulator-state-mem { 598*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 599*8d13bc63SEmmanuel Vadot }; 600*8d13bc63SEmmanuel Vadot }; 601*8d13bc63SEmmanuel Vadot 602*8d13bc63SEmmanuel Vadot otg_switch: OTG_SWITCH { 603*8d13bc63SEmmanuel Vadot regulator-name = "otg_switch"; 604*8d13bc63SEmmanuel Vadot regulator-state-mem { 605*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 606*8d13bc63SEmmanuel Vadot }; 607*8d13bc63SEmmanuel Vadot }; 608*8d13bc63SEmmanuel Vadot }; 609*8d13bc63SEmmanuel Vadot 610*8d13bc63SEmmanuel Vadot rk817_charger: charger { 611*8d13bc63SEmmanuel Vadot monitored-battery = <&battery>; 612*8d13bc63SEmmanuel Vadot rockchip,resistor-sense-micro-ohms = <10000>; 613*8d13bc63SEmmanuel Vadot rockchip,sleep-enter-current-microamp = <300000>; 614*8d13bc63SEmmanuel Vadot rockchip,sleep-filter-current-microamp = <100000>; 615*8d13bc63SEmmanuel Vadot }; 616*8d13bc63SEmmanuel Vadot }; 617*8d13bc63SEmmanuel Vadot 618*8d13bc63SEmmanuel Vadot vdd_cpu: regulator@1c { 619*8d13bc63SEmmanuel Vadot compatible = "tcs,tcs4525"; 620*8d13bc63SEmmanuel Vadot reg = <0x1c>; 621*8d13bc63SEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 622*8d13bc63SEmmanuel Vadot regulator-always-on; 623*8d13bc63SEmmanuel Vadot regulator-boot-on; 624*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <712500>; 625*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1390000>; 626*8d13bc63SEmmanuel Vadot regulator-name = "vdd_cpu"; 627*8d13bc63SEmmanuel Vadot regulator-ramp-delay = <2300>; 628*8d13bc63SEmmanuel Vadot vin-supply = <&vcc_sys>; 629*8d13bc63SEmmanuel Vadot regulator-state-mem { 630*8d13bc63SEmmanuel Vadot regulator-off-in-suspend; 631*8d13bc63SEmmanuel Vadot }; 632*8d13bc63SEmmanuel Vadot }; 633*8d13bc63SEmmanuel Vadot}; 634*8d13bc63SEmmanuel Vadot 635*8d13bc63SEmmanuel Vadot&i2c5 { 636*8d13bc63SEmmanuel Vadot pinctrl-0 = <&i2c5m1_xfer>; 637*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 638*8d13bc63SEmmanuel Vadot status = "okay"; 639*8d13bc63SEmmanuel Vadot}; 640*8d13bc63SEmmanuel Vadot 641*8d13bc63SEmmanuel Vadot&i2s0_8ch { 642*8d13bc63SEmmanuel Vadot status = "okay"; 643*8d13bc63SEmmanuel Vadot}; 644*8d13bc63SEmmanuel Vadot 645*8d13bc63SEmmanuel Vadot&i2s1_8ch { 646*8d13bc63SEmmanuel Vadot pinctrl-0 = <&i2s1m0_sclktx 647*8d13bc63SEmmanuel Vadot &i2s1m0_lrcktx 648*8d13bc63SEmmanuel Vadot &i2s1m0_sdi0 649*8d13bc63SEmmanuel Vadot &i2s1m0_sdo0>; 650*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 651*8d13bc63SEmmanuel Vadot rockchip,trcm-sync-tx-only; 652*8d13bc63SEmmanuel Vadot status = "okay"; 653*8d13bc63SEmmanuel Vadot}; 654*8d13bc63SEmmanuel Vadot 655*8d13bc63SEmmanuel Vadot&pinctrl { 656*8d13bc63SEmmanuel Vadot gpio-btns { 657*8d13bc63SEmmanuel Vadot btn_pins_ctrl: btn-pins-ctrl { 658*8d13bc63SEmmanuel Vadot rockchip,pins = 659*8d13bc63SEmmanuel Vadot <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>, 660*8d13bc63SEmmanuel Vadot <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 661*8d13bc63SEmmanuel Vadot <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, 662*8d13bc63SEmmanuel Vadot <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 663*8d13bc63SEmmanuel Vadot <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, 664*8d13bc63SEmmanuel Vadot <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, 665*8d13bc63SEmmanuel Vadot <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, 666*8d13bc63SEmmanuel Vadot <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, 667*8d13bc63SEmmanuel Vadot <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>, 668*8d13bc63SEmmanuel Vadot <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, 669*8d13bc63SEmmanuel Vadot <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, 670*8d13bc63SEmmanuel Vadot <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, 671*8d13bc63SEmmanuel Vadot <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>, 672*8d13bc63SEmmanuel Vadot <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>, 673*8d13bc63SEmmanuel Vadot <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>, 674*8d13bc63SEmmanuel Vadot <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>; 675*8d13bc63SEmmanuel Vadot }; 676*8d13bc63SEmmanuel Vadot 677*8d13bc63SEmmanuel Vadot btn_pins_vol: btn-pins-vol { 678*8d13bc63SEmmanuel Vadot rockchip,pins = 679*8d13bc63SEmmanuel Vadot <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 680*8d13bc63SEmmanuel Vadot <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 681*8d13bc63SEmmanuel Vadot }; 682*8d13bc63SEmmanuel Vadot }; 683*8d13bc63SEmmanuel Vadot 684*8d13bc63SEmmanuel Vadot joy-mux { 685*8d13bc63SEmmanuel Vadot joy_mux_en: joy-mux-en { 686*8d13bc63SEmmanuel Vadot rockchip,pins = 687*8d13bc63SEmmanuel Vadot <0 RK_PB5 RK_FUNC_GPIO &pcfg_output_low>; 688*8d13bc63SEmmanuel Vadot }; 689*8d13bc63SEmmanuel Vadot }; 690*8d13bc63SEmmanuel Vadot 691*8d13bc63SEmmanuel Vadot gpio-lcd { 692*8d13bc63SEmmanuel Vadot lcd_rst: lcd-rst { 693*8d13bc63SEmmanuel Vadot rockchip,pins = 694*8d13bc63SEmmanuel Vadot <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 695*8d13bc63SEmmanuel Vadot }; 696*8d13bc63SEmmanuel Vadot }; 697*8d13bc63SEmmanuel Vadot 698*8d13bc63SEmmanuel Vadot pmic { 699*8d13bc63SEmmanuel Vadot pmic_int_l: pmic-int-l { 700*8d13bc63SEmmanuel Vadot rockchip,pins = 701*8d13bc63SEmmanuel Vadot <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 702*8d13bc63SEmmanuel Vadot }; 703*8d13bc63SEmmanuel Vadot }; 704*8d13bc63SEmmanuel Vadot 705*8d13bc63SEmmanuel Vadot sdio-pwrseq { 706*8d13bc63SEmmanuel Vadot wifi_enable_h: wifi-enable-h { 707*8d13bc63SEmmanuel Vadot rockchip,pins = 708*8d13bc63SEmmanuel Vadot <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 709*8d13bc63SEmmanuel Vadot }; 710*8d13bc63SEmmanuel Vadot }; 711*8d13bc63SEmmanuel Vadot 712*8d13bc63SEmmanuel Vadot vcc3v3-lcd { 713*8d13bc63SEmmanuel Vadot vcc_lcd_h: vcc-lcd-h { 714*8d13bc63SEmmanuel Vadot rockchip,pins = 715*8d13bc63SEmmanuel Vadot <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 716*8d13bc63SEmmanuel Vadot }; 717*8d13bc63SEmmanuel Vadot }; 718*8d13bc63SEmmanuel Vadot 719*8d13bc63SEmmanuel Vadot vcc-wifi { 720*8d13bc63SEmmanuel Vadot vcc_wifi_h: vcc-wifi-h { 721*8d13bc63SEmmanuel Vadot rockchip,pins = 722*8d13bc63SEmmanuel Vadot <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 723*8d13bc63SEmmanuel Vadot }; 724*8d13bc63SEmmanuel Vadot }; 725*8d13bc63SEmmanuel Vadot}; 726*8d13bc63SEmmanuel Vadot 727*8d13bc63SEmmanuel Vadot&pmu_io_domains { 728*8d13bc63SEmmanuel Vadot status = "okay"; 729*8d13bc63SEmmanuel Vadot pmuio1-supply = <&vcc3v3_pmu>; 730*8d13bc63SEmmanuel Vadot pmuio2-supply = <&vcc3v3_pmu>; 731*8d13bc63SEmmanuel Vadot vccio1-supply = <&vccio_acodec>; 732*8d13bc63SEmmanuel Vadot vccio3-supply = <&vccio_sd>; 733*8d13bc63SEmmanuel Vadot vccio4-supply = <&vcc_1v8>; 734*8d13bc63SEmmanuel Vadot vccio5-supply = <&vcc_3v3>; 735*8d13bc63SEmmanuel Vadot vccio6-supply = <&vcc1v8_dvp>; 736*8d13bc63SEmmanuel Vadot vccio7-supply = <&vcc_3v3>; 737*8d13bc63SEmmanuel Vadot}; 738*8d13bc63SEmmanuel Vadot 739*8d13bc63SEmmanuel Vadot&pwm4 { 740*8d13bc63SEmmanuel Vadot status = "okay"; 741*8d13bc63SEmmanuel Vadot}; 742*8d13bc63SEmmanuel Vadot 743*8d13bc63SEmmanuel Vadot&pwm6 { 744*8d13bc63SEmmanuel Vadot status = "okay"; 745*8d13bc63SEmmanuel Vadot}; 746*8d13bc63SEmmanuel Vadot 747*8d13bc63SEmmanuel Vadot&pwm7 { 748*8d13bc63SEmmanuel Vadot status = "okay"; 749*8d13bc63SEmmanuel Vadot}; 750*8d13bc63SEmmanuel Vadot 751*8d13bc63SEmmanuel Vadot&saradc { 752*8d13bc63SEmmanuel Vadot vref-supply = <&vcc_1v8>; 753*8d13bc63SEmmanuel Vadot status = "okay"; 754*8d13bc63SEmmanuel Vadot}; 755*8d13bc63SEmmanuel Vadot 756*8d13bc63SEmmanuel Vadot&sdmmc0 { 757*8d13bc63SEmmanuel Vadot bus-width = <4>; 758*8d13bc63SEmmanuel Vadot cap-sd-highspeed; 759*8d13bc63SEmmanuel Vadot cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 760*8d13bc63SEmmanuel Vadot disable-wp; 761*8d13bc63SEmmanuel Vadot pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 762*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 763*8d13bc63SEmmanuel Vadot sd-uhs-sdr104; 764*8d13bc63SEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 765*8d13bc63SEmmanuel Vadot vqmmc-supply = <&vccio_sd>; 766*8d13bc63SEmmanuel Vadot status = "okay"; 767*8d13bc63SEmmanuel Vadot}; 768*8d13bc63SEmmanuel Vadot 769*8d13bc63SEmmanuel Vadot&sdmmc1 { 770*8d13bc63SEmmanuel Vadot bus-width = <4>; 771*8d13bc63SEmmanuel Vadot cap-sd-highspeed; 772*8d13bc63SEmmanuel Vadot cd-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>; 773*8d13bc63SEmmanuel Vadot disable-wp; 774*8d13bc63SEmmanuel Vadot pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &sdmmc1_det>; 775*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 776*8d13bc63SEmmanuel Vadot sd-uhs-sdr104; 777*8d13bc63SEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 778*8d13bc63SEmmanuel Vadot vqmmc-supply = <&vcc1v8_dvp>; 779*8d13bc63SEmmanuel Vadot status = "okay"; 780*8d13bc63SEmmanuel Vadot}; 781*8d13bc63SEmmanuel Vadot 782*8d13bc63SEmmanuel Vadot&sdmmc2 { 783*8d13bc63SEmmanuel Vadot bus-width = <4>; 784*8d13bc63SEmmanuel Vadot cap-sd-highspeed; 785*8d13bc63SEmmanuel Vadot cap-sdio-irq; 786*8d13bc63SEmmanuel Vadot keep-power-in-suspend; 787*8d13bc63SEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 788*8d13bc63SEmmanuel Vadot non-removable; 789*8d13bc63SEmmanuel Vadot pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; 790*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 791*8d13bc63SEmmanuel Vadot vmmc-supply = <&vcc_wifi>; 792*8d13bc63SEmmanuel Vadot vqmmc-supply = <&vcca1v8_pmu>; 793*8d13bc63SEmmanuel Vadot status = "okay"; 794*8d13bc63SEmmanuel Vadot}; 795*8d13bc63SEmmanuel Vadot 796*8d13bc63SEmmanuel Vadot&tsadc { 797*8d13bc63SEmmanuel Vadot rockchip,hw-tshut-mode = <1>; 798*8d13bc63SEmmanuel Vadot rockchip,hw-tshut-polarity = <0>; 799*8d13bc63SEmmanuel Vadot status = "okay"; 800*8d13bc63SEmmanuel Vadot}; 801*8d13bc63SEmmanuel Vadot 802*8d13bc63SEmmanuel Vadot&uart1 { 803*8d13bc63SEmmanuel Vadot pinctrl-0 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>; 804*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 805*8d13bc63SEmmanuel Vadot uart-has-rtscts; 806*8d13bc63SEmmanuel Vadot status = "okay"; 807*8d13bc63SEmmanuel Vadot 808*8d13bc63SEmmanuel Vadot bluetooth { 809*8d13bc63SEmmanuel Vadot compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt"; 810*8d13bc63SEmmanuel Vadot device-wake-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; 811*8d13bc63SEmmanuel Vadot enable-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; 812*8d13bc63SEmmanuel Vadot host-wake-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; 813*8d13bc63SEmmanuel Vadot }; 814*8d13bc63SEmmanuel Vadot}; 815*8d13bc63SEmmanuel Vadot 816*8d13bc63SEmmanuel Vadot&usb_host0_xhci { 817*8d13bc63SEmmanuel Vadot dr_mode = "peripheral"; 818*8d13bc63SEmmanuel Vadot phys = <&usb2phy0_otg>; 819*8d13bc63SEmmanuel Vadot phy-names = "usb2-phy"; 820*8d13bc63SEmmanuel Vadot status = "okay"; 821*8d13bc63SEmmanuel Vadot}; 822*8d13bc63SEmmanuel Vadot 823*8d13bc63SEmmanuel Vadot&usb_host1_ehci { 824*8d13bc63SEmmanuel Vadot status = "okay"; 825*8d13bc63SEmmanuel Vadot}; 826*8d13bc63SEmmanuel Vadot 827*8d13bc63SEmmanuel Vadot&usb_host1_ohci { 828*8d13bc63SEmmanuel Vadot status = "okay"; 829*8d13bc63SEmmanuel Vadot}; 830*8d13bc63SEmmanuel Vadot 831*8d13bc63SEmmanuel Vadot&usb_host1_xhci { 832*8d13bc63SEmmanuel Vadot phy-names = "usb2-phy", "usb3-phy"; 833*8d13bc63SEmmanuel Vadot phys = <&usb2phy1_host>, <&combphy1 PHY_TYPE_USB3>; 834*8d13bc63SEmmanuel Vadot status = "okay"; 835*8d13bc63SEmmanuel Vadot}; 836*8d13bc63SEmmanuel Vadot 837*8d13bc63SEmmanuel Vadot&usb2phy0 { 838*8d13bc63SEmmanuel Vadot status = "okay"; 839*8d13bc63SEmmanuel Vadot}; 840*8d13bc63SEmmanuel Vadot 841*8d13bc63SEmmanuel Vadot&usb2phy0_otg { 842*8d13bc63SEmmanuel Vadot status = "okay"; 843*8d13bc63SEmmanuel Vadot}; 844*8d13bc63SEmmanuel Vadot 845*8d13bc63SEmmanuel Vadot&usb2phy1 { 846*8d13bc63SEmmanuel Vadot status = "okay"; 847*8d13bc63SEmmanuel Vadot}; 848*8d13bc63SEmmanuel Vadot 849*8d13bc63SEmmanuel Vadot&usb2phy1_host { 850*8d13bc63SEmmanuel Vadot status = "okay"; 851*8d13bc63SEmmanuel Vadot}; 852*8d13bc63SEmmanuel Vadot 853*8d13bc63SEmmanuel Vadot&vop { 854*8d13bc63SEmmanuel Vadot assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 855*8d13bc63SEmmanuel Vadot assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 856*8d13bc63SEmmanuel Vadot status = "okay"; 857*8d13bc63SEmmanuel Vadot}; 858*8d13bc63SEmmanuel Vadot 859*8d13bc63SEmmanuel Vadot&vop_mmu { 860*8d13bc63SEmmanuel Vadot status = "okay"; 861*8d13bc63SEmmanuel Vadot}; 862*8d13bc63SEmmanuel Vadot 863*8d13bc63SEmmanuel Vadot&vp0 { 864*8d13bc63SEmmanuel Vadot vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 865*8d13bc63SEmmanuel Vadot reg = <ROCKCHIP_VOP2_EP_HDMI0>; 866*8d13bc63SEmmanuel Vadot remote-endpoint = <&hdmi_in_vp0>; 867*8d13bc63SEmmanuel Vadot }; 868*8d13bc63SEmmanuel Vadot}; 869*8d13bc63SEmmanuel Vadot 870*8d13bc63SEmmanuel Vadot&vp1 { 871*8d13bc63SEmmanuel Vadot vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { 872*8d13bc63SEmmanuel Vadot reg = <ROCKCHIP_VOP2_EP_MIPI0>; 873*8d13bc63SEmmanuel Vadot remote-endpoint = <&dsi0_in_vp1>; 874*8d13bc63SEmmanuel Vadot }; 875*8d13bc63SEmmanuel Vadot}; 876