1*7d0873ebSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*7d0873ebSEmmanuel Vadot/* 3*7d0873ebSEmmanuel Vadot * Copyright (c) 2024 Chris Morgan <macromorgan@hotmail.com> 4*7d0873ebSEmmanuel Vadot */ 5*7d0873ebSEmmanuel Vadot 6*7d0873ebSEmmanuel Vadot/dts-v1/; 7*7d0873ebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 8*7d0873ebSEmmanuel Vadot#include <dt-bindings/input/input.h> 9*7d0873ebSEmmanuel Vadot#include <dt-bindings/leds/common.h> 10*7d0873ebSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 11*7d0873ebSEmmanuel Vadot#include "rk3326.dtsi" 12*7d0873ebSEmmanuel Vadot 13*7d0873ebSEmmanuel Vadot/ { 14*7d0873ebSEmmanuel Vadot model = "GameForce Chi"; 15*7d0873ebSEmmanuel Vadot compatible = "gameforce,chi", "rockchip,rk3326"; 16*7d0873ebSEmmanuel Vadot chassis-type = "handset"; 17*7d0873ebSEmmanuel Vadot 18*7d0873ebSEmmanuel Vadot aliases { 19*7d0873ebSEmmanuel Vadot mmc0 = &sdmmc; 20*7d0873ebSEmmanuel Vadot mmc1 = &sdio; 21*7d0873ebSEmmanuel Vadot }; 22*7d0873ebSEmmanuel Vadot 23*7d0873ebSEmmanuel Vadot chosen { 24*7d0873ebSEmmanuel Vadot stdout-path = "serial2:115200n8"; 25*7d0873ebSEmmanuel Vadot }; 26*7d0873ebSEmmanuel Vadot 27*7d0873ebSEmmanuel Vadot adc_joystick: adc-joystick { 28*7d0873ebSEmmanuel Vadot compatible = "adc-joystick"; 29*7d0873ebSEmmanuel Vadot io-channels = <&saradc 0>, 30*7d0873ebSEmmanuel Vadot <&saradc 1>; 31*7d0873ebSEmmanuel Vadot poll-interval = <100>; 32*7d0873ebSEmmanuel Vadot #address-cells = <1>; 33*7d0873ebSEmmanuel Vadot #size-cells = <0>; 34*7d0873ebSEmmanuel Vadot 35*7d0873ebSEmmanuel Vadot axis@0 { 36*7d0873ebSEmmanuel Vadot reg = <0>; 37*7d0873ebSEmmanuel Vadot abs-flat = <10>; 38*7d0873ebSEmmanuel Vadot abs-fuzz = <10>; 39*7d0873ebSEmmanuel Vadot abs-range = <850 175>; 40*7d0873ebSEmmanuel Vadot linux,code = <ABS_Y>; 41*7d0873ebSEmmanuel Vadot }; 42*7d0873ebSEmmanuel Vadot 43*7d0873ebSEmmanuel Vadot axis@1 { 44*7d0873ebSEmmanuel Vadot reg = <1>; 45*7d0873ebSEmmanuel Vadot abs-flat = <10>; 46*7d0873ebSEmmanuel Vadot abs-fuzz = <10>; 47*7d0873ebSEmmanuel Vadot abs-range = <800 190>; 48*7d0873ebSEmmanuel Vadot linux,code = <ABS_X>; 49*7d0873ebSEmmanuel Vadot }; 50*7d0873ebSEmmanuel Vadot }; 51*7d0873ebSEmmanuel Vadot 52*7d0873ebSEmmanuel Vadot adc_keys: adc-keys { 53*7d0873ebSEmmanuel Vadot compatible = "adc-keys"; 54*7d0873ebSEmmanuel Vadot io-channels = <&saradc 2>; 55*7d0873ebSEmmanuel Vadot io-channel-names = "buttons"; 56*7d0873ebSEmmanuel Vadot keyup-threshold-microvolt = <1800000>; 57*7d0873ebSEmmanuel Vadot poll-interval = <60>; 58*7d0873ebSEmmanuel Vadot 59*7d0873ebSEmmanuel Vadot button-1 { 60*7d0873ebSEmmanuel Vadot label = "HAPPY1"; 61*7d0873ebSEmmanuel Vadot linux,code = <BTN_TRIGGER_HAPPY1>; 62*7d0873ebSEmmanuel Vadot press-threshold-microvolt = <15000>; 63*7d0873ebSEmmanuel Vadot }; 64*7d0873ebSEmmanuel Vadot 65*7d0873ebSEmmanuel Vadot button-2 { 66*7d0873ebSEmmanuel Vadot label = "HAPPY2"; 67*7d0873ebSEmmanuel Vadot linux,code = <BTN_TRIGGER_HAPPY2>; 68*7d0873ebSEmmanuel Vadot press-threshold-microvolt = <300000>; 69*7d0873ebSEmmanuel Vadot }; 70*7d0873ebSEmmanuel Vadot }; 71*7d0873ebSEmmanuel Vadot 72*7d0873ebSEmmanuel Vadot backlight: backlight { 73*7d0873ebSEmmanuel Vadot compatible = "pwm-backlight"; 74*7d0873ebSEmmanuel Vadot power-supply = <&vcc_bl>; 75*7d0873ebSEmmanuel Vadot pwms = <&pwm1 0 25000 0>; 76*7d0873ebSEmmanuel Vadot }; 77*7d0873ebSEmmanuel Vadot 78*7d0873ebSEmmanuel Vadot battery: battery { 79*7d0873ebSEmmanuel Vadot compatible = "simple-battery"; 80*7d0873ebSEmmanuel Vadot charge-full-design-microamp-hours = <3000000>; 81*7d0873ebSEmmanuel Vadot charge-term-current-microamp = <300000>; 82*7d0873ebSEmmanuel Vadot constant-charge-current-max-microamp = <1500000>; 83*7d0873ebSEmmanuel Vadot constant-charge-voltage-max-microvolt = <4200000>; 84*7d0873ebSEmmanuel Vadot factory-internal-resistance-micro-ohms = <180000>; 85*7d0873ebSEmmanuel Vadot ocv-capacity-celsius = <20>; 86*7d0873ebSEmmanuel Vadot ocv-capacity-table-0 = <4106000 100>, <4071000 95>, <4018000 90>, <3975000 85>, 87*7d0873ebSEmmanuel Vadot <3946000 80>, <3908000 75>, <3877000 70>, <3853000 65>, 88*7d0873ebSEmmanuel Vadot <3834000 60>, <3816000 55>, <3802000 50>, <3788000 45>, 89*7d0873ebSEmmanuel Vadot <3774000 40>, <3760000 35>, <3748000 30>, <3735000 25>, 90*7d0873ebSEmmanuel Vadot <3718000 20>, <3697000 15>, <3685000 10>, <3625000 5>, 91*7d0873ebSEmmanuel Vadot <3400000 0>; 92*7d0873ebSEmmanuel Vadot voltage-max-design-microvolt = <4250000>; 93*7d0873ebSEmmanuel Vadot voltage-min-design-microvolt = <3400000>; 94*7d0873ebSEmmanuel Vadot }; 95*7d0873ebSEmmanuel Vadot 96*7d0873ebSEmmanuel Vadot gpio_leds: gpio-leds { 97*7d0873ebSEmmanuel Vadot compatible = "gpio-leds"; 98*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 99*7d0873ebSEmmanuel Vadot pinctrl-0 = <&led_pins>; 100*7d0873ebSEmmanuel Vadot 101*7d0873ebSEmmanuel Vadot red_led: led-0 { 102*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 103*7d0873ebSEmmanuel Vadot gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; 104*7d0873ebSEmmanuel Vadot }; 105*7d0873ebSEmmanuel Vadot 106*7d0873ebSEmmanuel Vadot green_led: led-1 { 107*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 108*7d0873ebSEmmanuel Vadot gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; 109*7d0873ebSEmmanuel Vadot }; 110*7d0873ebSEmmanuel Vadot 111*7d0873ebSEmmanuel Vadot blue_led: led-2 { 112*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 113*7d0873ebSEmmanuel Vadot gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; 114*7d0873ebSEmmanuel Vadot }; 115*7d0873ebSEmmanuel Vadot 116*7d0873ebSEmmanuel Vadot white_led: led-3 { 117*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_WHITE>; 118*7d0873ebSEmmanuel Vadot function = LED_FUNCTION_STATUS; 119*7d0873ebSEmmanuel Vadot gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>; 120*7d0873ebSEmmanuel Vadot }; 121*7d0873ebSEmmanuel Vadot 122*7d0873ebSEmmanuel Vadot chg_led: led-4 { 123*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 124*7d0873ebSEmmanuel Vadot function = LED_FUNCTION_CHARGING; 125*7d0873ebSEmmanuel Vadot gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>; 126*7d0873ebSEmmanuel Vadot }; 127*7d0873ebSEmmanuel Vadot 128*7d0873ebSEmmanuel Vadot }; 129*7d0873ebSEmmanuel Vadot 130*7d0873ebSEmmanuel Vadot gpio_keys: gpio-keys { 131*7d0873ebSEmmanuel Vadot compatible = "gpio-keys"; 132*7d0873ebSEmmanuel Vadot pinctrl-0 = <&btn_pins_ctrl>; 133*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 134*7d0873ebSEmmanuel Vadot 135*7d0873ebSEmmanuel Vadot button-a { 136*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>; 137*7d0873ebSEmmanuel Vadot label = "EAST"; 138*7d0873ebSEmmanuel Vadot linux,code = <BTN_EAST>; 139*7d0873ebSEmmanuel Vadot }; 140*7d0873ebSEmmanuel Vadot 141*7d0873ebSEmmanuel Vadot button-b { 142*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; 143*7d0873ebSEmmanuel Vadot label = "SOUTH"; 144*7d0873ebSEmmanuel Vadot linux,code = <BTN_SOUTH>; 145*7d0873ebSEmmanuel Vadot }; 146*7d0873ebSEmmanuel Vadot 147*7d0873ebSEmmanuel Vadot button-down { 148*7d0873ebSEmmanuel Vadot gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>; 149*7d0873ebSEmmanuel Vadot label = "DPAD-DOWN"; 150*7d0873ebSEmmanuel Vadot linux,code = <BTN_DPAD_DOWN>; 151*7d0873ebSEmmanuel Vadot }; 152*7d0873ebSEmmanuel Vadot 153*7d0873ebSEmmanuel Vadot button-home { 154*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>; 155*7d0873ebSEmmanuel Vadot label = "HOME"; 156*7d0873ebSEmmanuel Vadot linux,code = <BTN_MODE>; 157*7d0873ebSEmmanuel Vadot }; 158*7d0873ebSEmmanuel Vadot 159*7d0873ebSEmmanuel Vadot button-l1 { 160*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>; 161*7d0873ebSEmmanuel Vadot label = "TL"; 162*7d0873ebSEmmanuel Vadot linux,code = <BTN_TL>; 163*7d0873ebSEmmanuel Vadot }; 164*7d0873ebSEmmanuel Vadot 165*7d0873ebSEmmanuel Vadot button-l2 { 166*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>; 167*7d0873ebSEmmanuel Vadot label = "TL2"; 168*7d0873ebSEmmanuel Vadot linux,code = <BTN_TL2>; 169*7d0873ebSEmmanuel Vadot }; 170*7d0873ebSEmmanuel Vadot 171*7d0873ebSEmmanuel Vadot button-left { 172*7d0873ebSEmmanuel Vadot gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>; 173*7d0873ebSEmmanuel Vadot label = "DPAD-LEFT"; 174*7d0873ebSEmmanuel Vadot linux,code = <BTN_DPAD_LEFT>; 175*7d0873ebSEmmanuel Vadot }; 176*7d0873ebSEmmanuel Vadot 177*7d0873ebSEmmanuel Vadot button-r1 { 178*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>; 179*7d0873ebSEmmanuel Vadot label = "TR"; 180*7d0873ebSEmmanuel Vadot linux,code = <BTN_TR>; 181*7d0873ebSEmmanuel Vadot }; 182*7d0873ebSEmmanuel Vadot 183*7d0873ebSEmmanuel Vadot button-r2 { 184*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>; 185*7d0873ebSEmmanuel Vadot label = "TR2"; 186*7d0873ebSEmmanuel Vadot linux,code = <BTN_TR2>; 187*7d0873ebSEmmanuel Vadot }; 188*7d0873ebSEmmanuel Vadot 189*7d0873ebSEmmanuel Vadot button-right { 190*7d0873ebSEmmanuel Vadot gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>; 191*7d0873ebSEmmanuel Vadot label = "DPAD-RIGHT"; 192*7d0873ebSEmmanuel Vadot linux,code = <BTN_DPAD_RIGHT>; 193*7d0873ebSEmmanuel Vadot }; 194*7d0873ebSEmmanuel Vadot 195*7d0873ebSEmmanuel Vadot button-select { 196*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>; 197*7d0873ebSEmmanuel Vadot label = "SELECT"; 198*7d0873ebSEmmanuel Vadot linux,code = <BTN_SELECT>; 199*7d0873ebSEmmanuel Vadot }; 200*7d0873ebSEmmanuel Vadot 201*7d0873ebSEmmanuel Vadot button-start { 202*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; 203*7d0873ebSEmmanuel Vadot label = "START"; 204*7d0873ebSEmmanuel Vadot linux,code = <BTN_START>; 205*7d0873ebSEmmanuel Vadot }; 206*7d0873ebSEmmanuel Vadot 207*7d0873ebSEmmanuel Vadot button-up { 208*7d0873ebSEmmanuel Vadot gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>; 209*7d0873ebSEmmanuel Vadot label = "DPAD-UP"; 210*7d0873ebSEmmanuel Vadot linux,code = <BTN_DPAD_UP>; 211*7d0873ebSEmmanuel Vadot }; 212*7d0873ebSEmmanuel Vadot 213*7d0873ebSEmmanuel Vadot button-x { 214*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>; 215*7d0873ebSEmmanuel Vadot label = "NORTH"; 216*7d0873ebSEmmanuel Vadot linux,code = <BTN_NORTH>; 217*7d0873ebSEmmanuel Vadot }; 218*7d0873ebSEmmanuel Vadot 219*7d0873ebSEmmanuel Vadot button-y { 220*7d0873ebSEmmanuel Vadot gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>; 221*7d0873ebSEmmanuel Vadot label = "WEST"; 222*7d0873ebSEmmanuel Vadot linux,code = <BTN_WEST>; 223*7d0873ebSEmmanuel Vadot }; 224*7d0873ebSEmmanuel Vadot }; 225*7d0873ebSEmmanuel Vadot 226*7d0873ebSEmmanuel Vadot multi-led { 227*7d0873ebSEmmanuel Vadot compatible = "leds-group-multicolor"; 228*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_RGB>; 229*7d0873ebSEmmanuel Vadot function = LED_FUNCTION_KBD_BACKLIGHT; 230*7d0873ebSEmmanuel Vadot leds = <&red_led>, <&green_led>, <&blue_led>; 231*7d0873ebSEmmanuel Vadot }; 232*7d0873ebSEmmanuel Vadot 233*7d0873ebSEmmanuel Vadot spk_amp: audio-amplifier { 234*7d0873ebSEmmanuel Vadot compatible = "simple-audio-amplifier"; 235*7d0873ebSEmmanuel Vadot enable-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>; 236*7d0873ebSEmmanuel Vadot pinctrl-0 = <&spk_amp_enable_h>; 237*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 238*7d0873ebSEmmanuel Vadot sound-name-prefix = "Speaker Amp"; 239*7d0873ebSEmmanuel Vadot }; 240*7d0873ebSEmmanuel Vadot 241*7d0873ebSEmmanuel Vadot sound { 242*7d0873ebSEmmanuel Vadot compatible = "simple-audio-card"; 243*7d0873ebSEmmanuel Vadot pinctrl-0 = <&hp_det>; 244*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 245*7d0873ebSEmmanuel Vadot simple-audio-card,name = "rk817_ext"; 246*7d0873ebSEmmanuel Vadot simple-audio-card,aux-devs = <&spk_amp>; 247*7d0873ebSEmmanuel Vadot simple-audio-card,format = "i2s"; 248*7d0873ebSEmmanuel Vadot simple-audio-card,hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>; 249*7d0873ebSEmmanuel Vadot simple-audio-card,mclk-fs = <256>; 250*7d0873ebSEmmanuel Vadot simple-audio-card,widgets = 251*7d0873ebSEmmanuel Vadot "Microphone", "Mic Jack", 252*7d0873ebSEmmanuel Vadot "Headphone", "Headphones", 253*7d0873ebSEmmanuel Vadot "Speaker", "Internal Speakers"; 254*7d0873ebSEmmanuel Vadot simple-audio-card,routing = 255*7d0873ebSEmmanuel Vadot "MICL", "Mic Jack", 256*7d0873ebSEmmanuel Vadot "Headphones", "HPOL", 257*7d0873ebSEmmanuel Vadot "Headphones", "HPOR", 258*7d0873ebSEmmanuel Vadot "Internal Speakers", "Speaker Amp OUTL", 259*7d0873ebSEmmanuel Vadot "Internal Speakers", "Speaker Amp OUTR", 260*7d0873ebSEmmanuel Vadot "Speaker Amp INL", "HPOL", 261*7d0873ebSEmmanuel Vadot "Speaker Amp INR", "HPOR"; 262*7d0873ebSEmmanuel Vadot simple-audio-card,pin-switches = "Internal Speakers"; 263*7d0873ebSEmmanuel Vadot 264*7d0873ebSEmmanuel Vadot simple-audio-card,codec { 265*7d0873ebSEmmanuel Vadot sound-dai = <&rk817>; 266*7d0873ebSEmmanuel Vadot }; 267*7d0873ebSEmmanuel Vadot 268*7d0873ebSEmmanuel Vadot simple-audio-card,cpu { 269*7d0873ebSEmmanuel Vadot sound-dai = <&i2s1_2ch>; 270*7d0873ebSEmmanuel Vadot }; 271*7d0873ebSEmmanuel Vadot }; 272*7d0873ebSEmmanuel Vadot 273*7d0873ebSEmmanuel Vadot vibrator_left: pwm-vibrator-l { 274*7d0873ebSEmmanuel Vadot compatible = "pwm-vibrator"; 275*7d0873ebSEmmanuel Vadot pwm-names = "enable"; 276*7d0873ebSEmmanuel Vadot pwms = <&pwm4 0 25000 0>; 277*7d0873ebSEmmanuel Vadot }; 278*7d0873ebSEmmanuel Vadot 279*7d0873ebSEmmanuel Vadot vibrator_right: pwm-vibrator-r { 280*7d0873ebSEmmanuel Vadot compatible = "pwm-vibrator"; 281*7d0873ebSEmmanuel Vadot pwm-names = "enable"; 282*7d0873ebSEmmanuel Vadot pwms = <&pwm5 0 25000 0>; 283*7d0873ebSEmmanuel Vadot }; 284*7d0873ebSEmmanuel Vadot 285*7d0873ebSEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 286*7d0873ebSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 287*7d0873ebSEmmanuel Vadot clocks = <&rk817 1>; 288*7d0873ebSEmmanuel Vadot clock-names = "ext_clock"; 289*7d0873ebSEmmanuel Vadot pinctrl-0 = <&wifi_enable_h>; 290*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 291*7d0873ebSEmmanuel Vadot post-power-on-delay-ms = <200>; 292*7d0873ebSEmmanuel Vadot reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; 293*7d0873ebSEmmanuel Vadot }; 294*7d0873ebSEmmanuel Vadot 295*7d0873ebSEmmanuel Vadot vccsys: vccsys-regulator { 296*7d0873ebSEmmanuel Vadot compatible = "regulator-fixed"; 297*7d0873ebSEmmanuel Vadot regulator-name = "vcc3v8_sys"; 298*7d0873ebSEmmanuel Vadot regulator-always-on; 299*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3800000>; 300*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3800000>; 301*7d0873ebSEmmanuel Vadot }; 302*7d0873ebSEmmanuel Vadot}; 303*7d0873ebSEmmanuel Vadot 304*7d0873ebSEmmanuel Vadot&cpu0 { 305*7d0873ebSEmmanuel Vadot cpu-supply = <&vdd_arm>; 306*7d0873ebSEmmanuel Vadot}; 307*7d0873ebSEmmanuel Vadot 308*7d0873ebSEmmanuel Vadot&cpu1 { 309*7d0873ebSEmmanuel Vadot cpu-supply = <&vdd_arm>; 310*7d0873ebSEmmanuel Vadot}; 311*7d0873ebSEmmanuel Vadot 312*7d0873ebSEmmanuel Vadot&cpu2 { 313*7d0873ebSEmmanuel Vadot cpu-supply = <&vdd_arm>; 314*7d0873ebSEmmanuel Vadot}; 315*7d0873ebSEmmanuel Vadot 316*7d0873ebSEmmanuel Vadot&cpu3 { 317*7d0873ebSEmmanuel Vadot cpu-supply = <&vdd_arm>; 318*7d0873ebSEmmanuel Vadot}; 319*7d0873ebSEmmanuel Vadot 320*7d0873ebSEmmanuel Vadot&display_subsystem { 321*7d0873ebSEmmanuel Vadot status = "okay"; 322*7d0873ebSEmmanuel Vadot}; 323*7d0873ebSEmmanuel Vadot 324*7d0873ebSEmmanuel Vadot&dsi { 325*7d0873ebSEmmanuel Vadot status = "okay"; 326*7d0873ebSEmmanuel Vadot 327*7d0873ebSEmmanuel Vadot internal_display: panel@0 { 328*7d0873ebSEmmanuel Vadot reg = <0>; 329*7d0873ebSEmmanuel Vadot compatible = "gameforce,chi-panel"; 330*7d0873ebSEmmanuel Vadot backlight = <&backlight>; 331*7d0873ebSEmmanuel Vadot iovcc-supply = <&vcc_lcd>; 332*7d0873ebSEmmanuel Vadot vcc-supply = <&vcc_lcd>; 333*7d0873ebSEmmanuel Vadot reset-gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>; 334*7d0873ebSEmmanuel Vadot 335*7d0873ebSEmmanuel Vadot port { 336*7d0873ebSEmmanuel Vadot mipi_in_panel: endpoint { 337*7d0873ebSEmmanuel Vadot remote-endpoint = <&mipi_out_panel>; 338*7d0873ebSEmmanuel Vadot }; 339*7d0873ebSEmmanuel Vadot }; 340*7d0873ebSEmmanuel Vadot }; 341*7d0873ebSEmmanuel Vadot 342*7d0873ebSEmmanuel Vadot ports { 343*7d0873ebSEmmanuel Vadot mipi_out: port@1 { 344*7d0873ebSEmmanuel Vadot reg = <1>; 345*7d0873ebSEmmanuel Vadot 346*7d0873ebSEmmanuel Vadot mipi_out_panel: endpoint { 347*7d0873ebSEmmanuel Vadot remote-endpoint = <&mipi_in_panel>; 348*7d0873ebSEmmanuel Vadot }; 349*7d0873ebSEmmanuel Vadot }; 350*7d0873ebSEmmanuel Vadot }; 351*7d0873ebSEmmanuel Vadot}; 352*7d0873ebSEmmanuel Vadot 353*7d0873ebSEmmanuel Vadot&dsi_dphy { 354*7d0873ebSEmmanuel Vadot status = "okay"; 355*7d0873ebSEmmanuel Vadot}; 356*7d0873ebSEmmanuel Vadot 357*7d0873ebSEmmanuel Vadot&gpu { 358*7d0873ebSEmmanuel Vadot mali-supply = <&vdd_logic>; 359*7d0873ebSEmmanuel Vadot status = "okay"; 360*7d0873ebSEmmanuel Vadot}; 361*7d0873ebSEmmanuel Vadot 362*7d0873ebSEmmanuel Vadot&i2c0 { 363*7d0873ebSEmmanuel Vadot clock-frequency = <400000>; 364*7d0873ebSEmmanuel Vadot i2c-scl-falling-time-ns = <16>; 365*7d0873ebSEmmanuel Vadot i2c-scl-rising-time-ns = <280>; 366*7d0873ebSEmmanuel Vadot status = "okay"; 367*7d0873ebSEmmanuel Vadot 368*7d0873ebSEmmanuel Vadot rk817: pmic@20 { 369*7d0873ebSEmmanuel Vadot compatible = "rockchip,rk817"; 370*7d0873ebSEmmanuel Vadot reg = <0x20>; 371*7d0873ebSEmmanuel Vadot #clock-cells = <1>; 372*7d0873ebSEmmanuel Vadot clock-names = "mclk"; 373*7d0873ebSEmmanuel Vadot clock-output-names = "rk808-clkout1", "xin32k"; 374*7d0873ebSEmmanuel Vadot clocks = <&cru SCLK_I2S1_OUT>; 375*7d0873ebSEmmanuel Vadot interrupt-parent = <&gpio0>; 376*7d0873ebSEmmanuel Vadot interrupts = <RK_PC1 IRQ_TYPE_LEVEL_LOW>; 377*7d0873ebSEmmanuel Vadot pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>; 378*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 379*7d0873ebSEmmanuel Vadot #sound-dai-cells = <0>; 380*7d0873ebSEmmanuel Vadot system-power-controller; 381*7d0873ebSEmmanuel Vadot wakeup-source; 382*7d0873ebSEmmanuel Vadot 383*7d0873ebSEmmanuel Vadot vcc1-supply = <&vccsys>; 384*7d0873ebSEmmanuel Vadot vcc2-supply = <&vccsys>; 385*7d0873ebSEmmanuel Vadot vcc3-supply = <&vccsys>; 386*7d0873ebSEmmanuel Vadot vcc4-supply = <&vccsys>; 387*7d0873ebSEmmanuel Vadot vcc5-supply = <&vccsys>; 388*7d0873ebSEmmanuel Vadot vcc6-supply = <&vccsys>; 389*7d0873ebSEmmanuel Vadot vcc7-supply = <&vcc_3v0>; 390*7d0873ebSEmmanuel Vadot vcc8-supply = <&vccsys>; 391*7d0873ebSEmmanuel Vadot vcc9-supply = <&dcdc_boost>; 392*7d0873ebSEmmanuel Vadot 393*7d0873ebSEmmanuel Vadot regulators { 394*7d0873ebSEmmanuel Vadot vdd_logic: DCDC_REG1 { 395*7d0873ebSEmmanuel Vadot regulator-always-on; 396*7d0873ebSEmmanuel Vadot regulator-boot-on; 397*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1150000>; 398*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <950000>; 399*7d0873ebSEmmanuel Vadot regulator-name = "vdd_logic"; 400*7d0873ebSEmmanuel Vadot regulator-ramp-delay = <6001>; 401*7d0873ebSEmmanuel Vadot 402*7d0873ebSEmmanuel Vadot regulator-state-mem { 403*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 404*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 405*7d0873ebSEmmanuel Vadot }; 406*7d0873ebSEmmanuel Vadot }; 407*7d0873ebSEmmanuel Vadot 408*7d0873ebSEmmanuel Vadot vdd_arm: DCDC_REG2 { 409*7d0873ebSEmmanuel Vadot regulator-always-on; 410*7d0873ebSEmmanuel Vadot regulator-boot-on; 411*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1350000>; 412*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <950000>; 413*7d0873ebSEmmanuel Vadot regulator-name = "vdd_arm"; 414*7d0873ebSEmmanuel Vadot regulator-ramp-delay = <6001>; 415*7d0873ebSEmmanuel Vadot 416*7d0873ebSEmmanuel Vadot regulator-state-mem { 417*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 418*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 419*7d0873ebSEmmanuel Vadot }; 420*7d0873ebSEmmanuel Vadot }; 421*7d0873ebSEmmanuel Vadot 422*7d0873ebSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 423*7d0873ebSEmmanuel Vadot regulator-always-on; 424*7d0873ebSEmmanuel Vadot regulator-boot-on; 425*7d0873ebSEmmanuel Vadot regulator-name = "vcc_ddr"; 426*7d0873ebSEmmanuel Vadot 427*7d0873ebSEmmanuel Vadot regulator-state-mem { 428*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 429*7d0873ebSEmmanuel Vadot }; 430*7d0873ebSEmmanuel Vadot }; 431*7d0873ebSEmmanuel Vadot 432*7d0873ebSEmmanuel Vadot vcc_3v0: DCDC_REG4 { 433*7d0873ebSEmmanuel Vadot regulator-always-on; 434*7d0873ebSEmmanuel Vadot regulator-boot-on; 435*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3000000>; 436*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3000000>; 437*7d0873ebSEmmanuel Vadot regulator-name = "vcc_3v0"; 438*7d0873ebSEmmanuel Vadot 439*7d0873ebSEmmanuel Vadot regulator-state-mem { 440*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 441*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 442*7d0873ebSEmmanuel Vadot }; 443*7d0873ebSEmmanuel Vadot }; 444*7d0873ebSEmmanuel Vadot 445*7d0873ebSEmmanuel Vadot vcc_1v8: LDO_REG2 { 446*7d0873ebSEmmanuel Vadot regulator-always-on; 447*7d0873ebSEmmanuel Vadot regulator-boot-on; 448*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1800000>; 449*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <1800000>; 450*7d0873ebSEmmanuel Vadot regulator-name = "vcc_1v8"; 451*7d0873ebSEmmanuel Vadot 452*7d0873ebSEmmanuel Vadot regulator-state-mem { 453*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 454*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 455*7d0873ebSEmmanuel Vadot }; 456*7d0873ebSEmmanuel Vadot }; 457*7d0873ebSEmmanuel Vadot 458*7d0873ebSEmmanuel Vadot vdd_1v0: LDO_REG3 { 459*7d0873ebSEmmanuel Vadot regulator-always-on; 460*7d0873ebSEmmanuel Vadot regulator-boot-on; 461*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1000000>; 462*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <1000000>; 463*7d0873ebSEmmanuel Vadot regulator-name = "vdd_1v0"; 464*7d0873ebSEmmanuel Vadot 465*7d0873ebSEmmanuel Vadot regulator-state-mem { 466*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 467*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 468*7d0873ebSEmmanuel Vadot }; 469*7d0873ebSEmmanuel Vadot }; 470*7d0873ebSEmmanuel Vadot 471*7d0873ebSEmmanuel Vadot vcc_3v0_pmu: LDO_REG4 { 472*7d0873ebSEmmanuel Vadot regulator-always-on; 473*7d0873ebSEmmanuel Vadot regulator-boot-on; 474*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3000000>; 475*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3000000>; 476*7d0873ebSEmmanuel Vadot regulator-name = "vcc_3v0_pmu"; 477*7d0873ebSEmmanuel Vadot 478*7d0873ebSEmmanuel Vadot regulator-state-mem { 479*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 480*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 481*7d0873ebSEmmanuel Vadot }; 482*7d0873ebSEmmanuel Vadot }; 483*7d0873ebSEmmanuel Vadot 484*7d0873ebSEmmanuel Vadot vccio_sd: LDO_REG5 { 485*7d0873ebSEmmanuel Vadot regulator-always-on; 486*7d0873ebSEmmanuel Vadot regulator-boot-on; 487*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 488*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <1800000>; 489*7d0873ebSEmmanuel Vadot regulator-name = "vccio_sd"; 490*7d0873ebSEmmanuel Vadot 491*7d0873ebSEmmanuel Vadot regulator-state-mem { 492*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 493*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 494*7d0873ebSEmmanuel Vadot }; 495*7d0873ebSEmmanuel Vadot }; 496*7d0873ebSEmmanuel Vadot 497*7d0873ebSEmmanuel Vadot vcc_sd: LDO_REG6 { 498*7d0873ebSEmmanuel Vadot regulator-boot-on; 499*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 500*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 501*7d0873ebSEmmanuel Vadot regulator-name = "vcc_sd"; 502*7d0873ebSEmmanuel Vadot 503*7d0873ebSEmmanuel Vadot regulator-state-mem { 504*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 505*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 506*7d0873ebSEmmanuel Vadot }; 507*7d0873ebSEmmanuel Vadot }; 508*7d0873ebSEmmanuel Vadot 509*7d0873ebSEmmanuel Vadot vcc_bl: LDO_REG7 { 510*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 511*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 512*7d0873ebSEmmanuel Vadot regulator-name = "vcc_bl"; 513*7d0873ebSEmmanuel Vadot 514*7d0873ebSEmmanuel Vadot regulator-state-mem { 515*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 516*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 517*7d0873ebSEmmanuel Vadot }; 518*7d0873ebSEmmanuel Vadot }; 519*7d0873ebSEmmanuel Vadot 520*7d0873ebSEmmanuel Vadot vcc_lcd: LDO_REG8 { 521*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <2800000>; 522*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <2800000>; 523*7d0873ebSEmmanuel Vadot regulator-name = "vcc_lcd"; 524*7d0873ebSEmmanuel Vadot 525*7d0873ebSEmmanuel Vadot regulator-state-mem { 526*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 527*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <2800000>; 528*7d0873ebSEmmanuel Vadot }; 529*7d0873ebSEmmanuel Vadot }; 530*7d0873ebSEmmanuel Vadot 531*7d0873ebSEmmanuel Vadot vcc_wifi: LDO_REG9 { 532*7d0873ebSEmmanuel Vadot regulator-always-on; 533*7d0873ebSEmmanuel Vadot regulator-boot-on; 534*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 535*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 536*7d0873ebSEmmanuel Vadot regulator-name = "vcc_wifi"; 537*7d0873ebSEmmanuel Vadot 538*7d0873ebSEmmanuel Vadot regulator-state-mem { 539*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 540*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 541*7d0873ebSEmmanuel Vadot }; 542*7d0873ebSEmmanuel Vadot }; 543*7d0873ebSEmmanuel Vadot 544*7d0873ebSEmmanuel Vadot dcdc_boost: BOOST { 545*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <5000000>; 546*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <5000000>; 547*7d0873ebSEmmanuel Vadot regulator-name = "dcdc_boost"; 548*7d0873ebSEmmanuel Vadot 549*7d0873ebSEmmanuel Vadot regulator-state-mem { 550*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 551*7d0873ebSEmmanuel Vadot }; 552*7d0873ebSEmmanuel Vadot }; 553*7d0873ebSEmmanuel Vadot 554*7d0873ebSEmmanuel Vadot otg_switch: OTG_SWITCH { 555*7d0873ebSEmmanuel Vadot regulator-name = "otg_switch"; 556*7d0873ebSEmmanuel Vadot 557*7d0873ebSEmmanuel Vadot regulator-state-mem { 558*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 559*7d0873ebSEmmanuel Vadot }; 560*7d0873ebSEmmanuel Vadot }; 561*7d0873ebSEmmanuel Vadot }; 562*7d0873ebSEmmanuel Vadot 563*7d0873ebSEmmanuel Vadot rk817_charger: charger { 564*7d0873ebSEmmanuel Vadot monitored-battery = <&battery>; 565*7d0873ebSEmmanuel Vadot rockchip,resistor-sense-micro-ohms = <10000>; 566*7d0873ebSEmmanuel Vadot rockchip,sleep-enter-current-microamp = <300000>; 567*7d0873ebSEmmanuel Vadot rockchip,sleep-filter-current-microamp = <100000>; 568*7d0873ebSEmmanuel Vadot }; 569*7d0873ebSEmmanuel Vadot }; 570*7d0873ebSEmmanuel Vadot}; 571*7d0873ebSEmmanuel Vadot 572*7d0873ebSEmmanuel Vadot&i2s1_2ch { 573*7d0873ebSEmmanuel Vadot status = "okay"; 574*7d0873ebSEmmanuel Vadot}; 575*7d0873ebSEmmanuel Vadot 576*7d0873ebSEmmanuel Vadot&io_domains { 577*7d0873ebSEmmanuel Vadot vccio1-supply = <&vcc_3v0_pmu>; 578*7d0873ebSEmmanuel Vadot vccio2-supply = <&vccio_sd>; 579*7d0873ebSEmmanuel Vadot vccio3-supply = <&vcc_3v0>; 580*7d0873ebSEmmanuel Vadot vccio4-supply = <&vcc_3v0>; 581*7d0873ebSEmmanuel Vadot vccio5-supply = <&vcc_3v0>; 582*7d0873ebSEmmanuel Vadot vccio6-supply = <&vcc_3v0>; 583*7d0873ebSEmmanuel Vadot status = "okay"; 584*7d0873ebSEmmanuel Vadot}; 585*7d0873ebSEmmanuel Vadot 586*7d0873ebSEmmanuel Vadot&pinctrl { 587*7d0873ebSEmmanuel Vadot bluetooth-pins { 588*7d0873ebSEmmanuel Vadot bt_reset: bt-reset { 589*7d0873ebSEmmanuel Vadot rockchip,pins = 590*7d0873ebSEmmanuel Vadot <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; 591*7d0873ebSEmmanuel Vadot }; 592*7d0873ebSEmmanuel Vadot 593*7d0873ebSEmmanuel Vadot bt_wake_dev: bt-wake-dev { 594*7d0873ebSEmmanuel Vadot rockchip,pins = 595*7d0873ebSEmmanuel Vadot <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 596*7d0873ebSEmmanuel Vadot }; 597*7d0873ebSEmmanuel Vadot 598*7d0873ebSEmmanuel Vadot bt_wake_host: bt-wake-host { 599*7d0873ebSEmmanuel Vadot rockchip,pins = 600*7d0873ebSEmmanuel Vadot <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; 601*7d0873ebSEmmanuel Vadot }; 602*7d0873ebSEmmanuel Vadot }; 603*7d0873ebSEmmanuel Vadot 604*7d0873ebSEmmanuel Vadot headphone { 605*7d0873ebSEmmanuel Vadot hp_det: hp-det { 606*7d0873ebSEmmanuel Vadot rockchip,pins = 607*7d0873ebSEmmanuel Vadot <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; 608*7d0873ebSEmmanuel Vadot }; 609*7d0873ebSEmmanuel Vadot }; 610*7d0873ebSEmmanuel Vadot 611*7d0873ebSEmmanuel Vadot gpio-btns { 612*7d0873ebSEmmanuel Vadot btn_pins_ctrl: btn-pins-ctrl { 613*7d0873ebSEmmanuel Vadot rockchip,pins = 614*7d0873ebSEmmanuel Vadot <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, 615*7d0873ebSEmmanuel Vadot <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, 616*7d0873ebSEmmanuel Vadot <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, 617*7d0873ebSEmmanuel Vadot <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>, 618*7d0873ebSEmmanuel Vadot <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>, 619*7d0873ebSEmmanuel Vadot <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 620*7d0873ebSEmmanuel Vadot <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, 621*7d0873ebSEmmanuel Vadot <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 622*7d0873ebSEmmanuel Vadot <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, 623*7d0873ebSEmmanuel Vadot <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, 624*7d0873ebSEmmanuel Vadot <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 625*7d0873ebSEmmanuel Vadot <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>, 626*7d0873ebSEmmanuel Vadot <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, 627*7d0873ebSEmmanuel Vadot <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, 628*7d0873ebSEmmanuel Vadot <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>; 629*7d0873ebSEmmanuel Vadot }; 630*7d0873ebSEmmanuel Vadot }; 631*7d0873ebSEmmanuel Vadot 632*7d0873ebSEmmanuel Vadot gpio-leds { 633*7d0873ebSEmmanuel Vadot led_pins: led-pins { 634*7d0873ebSEmmanuel Vadot rockchip,pins = 635*7d0873ebSEmmanuel Vadot <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>, 636*7d0873ebSEmmanuel Vadot <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>, 637*7d0873ebSEmmanuel Vadot <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>, 638*7d0873ebSEmmanuel Vadot <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>, 639*7d0873ebSEmmanuel Vadot <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 640*7d0873ebSEmmanuel Vadot }; 641*7d0873ebSEmmanuel Vadot }; 642*7d0873ebSEmmanuel Vadot 643*7d0873ebSEmmanuel Vadot pmic { 644*7d0873ebSEmmanuel Vadot pmic_int: pmic-int { 645*7d0873ebSEmmanuel Vadot rockchip,pins = 646*7d0873ebSEmmanuel Vadot <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>; 647*7d0873ebSEmmanuel Vadot }; 648*7d0873ebSEmmanuel Vadot 649*7d0873ebSEmmanuel Vadot soc_slppin_gpio: soc_slppin_gpio { 650*7d0873ebSEmmanuel Vadot rockchip,pins = 651*7d0873ebSEmmanuel Vadot <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>; 652*7d0873ebSEmmanuel Vadot }; 653*7d0873ebSEmmanuel Vadot 654*7d0873ebSEmmanuel Vadot soc_slppin_rst: soc_slppin_rst { 655*7d0873ebSEmmanuel Vadot rockchip,pins = 656*7d0873ebSEmmanuel Vadot <0 RK_PA4 2 &pcfg_pull_none>; 657*7d0873ebSEmmanuel Vadot }; 658*7d0873ebSEmmanuel Vadot 659*7d0873ebSEmmanuel Vadot soc_slppin_slp: soc_slppin_slp { 660*7d0873ebSEmmanuel Vadot rockchip,pins = 661*7d0873ebSEmmanuel Vadot <0 RK_PA4 1 &pcfg_pull_none>; 662*7d0873ebSEmmanuel Vadot }; 663*7d0873ebSEmmanuel Vadot }; 664*7d0873ebSEmmanuel Vadot 665*7d0873ebSEmmanuel Vadot sdio-pwrseq { 666*7d0873ebSEmmanuel Vadot wifi_enable_h: wifi-enable-h { 667*7d0873ebSEmmanuel Vadot rockchip,pins = 668*7d0873ebSEmmanuel Vadot <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 669*7d0873ebSEmmanuel Vadot }; 670*7d0873ebSEmmanuel Vadot }; 671*7d0873ebSEmmanuel Vadot 672*7d0873ebSEmmanuel Vadot speaker { 673*7d0873ebSEmmanuel Vadot spk_amp_enable_h: spk-amp-enable-h { 674*7d0873ebSEmmanuel Vadot rockchip,pins = 675*7d0873ebSEmmanuel Vadot <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 676*7d0873ebSEmmanuel Vadot }; 677*7d0873ebSEmmanuel Vadot }; 678*7d0873ebSEmmanuel Vadot}; 679*7d0873ebSEmmanuel Vadot 680*7d0873ebSEmmanuel Vadot&pmu_io_domains { 681*7d0873ebSEmmanuel Vadot pmuio1-supply = <&vcc_1v8>; 682*7d0873ebSEmmanuel Vadot pmuio2-supply = <&vcc_3v0_pmu>; 683*7d0873ebSEmmanuel Vadot status = "okay"; 684*7d0873ebSEmmanuel Vadot}; 685*7d0873ebSEmmanuel Vadot 686*7d0873ebSEmmanuel Vadot&pwm1 { 687*7d0873ebSEmmanuel Vadot status = "okay"; 688*7d0873ebSEmmanuel Vadot}; 689*7d0873ebSEmmanuel Vadot 690*7d0873ebSEmmanuel Vadot&pwm4 { 691*7d0873ebSEmmanuel Vadot status = "okay"; 692*7d0873ebSEmmanuel Vadot}; 693*7d0873ebSEmmanuel Vadot 694*7d0873ebSEmmanuel Vadot&pwm5 { 695*7d0873ebSEmmanuel Vadot status = "okay"; 696*7d0873ebSEmmanuel Vadot}; 697*7d0873ebSEmmanuel Vadot 698*7d0873ebSEmmanuel Vadot&saradc { 699*7d0873ebSEmmanuel Vadot vref-supply = <&vcc_1v8>; 700*7d0873ebSEmmanuel Vadot status = "okay"; 701*7d0873ebSEmmanuel Vadot}; 702*7d0873ebSEmmanuel Vadot 703*7d0873ebSEmmanuel Vadot&sdio { 704*7d0873ebSEmmanuel Vadot bus-width = <4>; 705*7d0873ebSEmmanuel Vadot cap-sd-highspeed; 706*7d0873ebSEmmanuel Vadot cap-sdio-irq; 707*7d0873ebSEmmanuel Vadot disable-wp; 708*7d0873ebSEmmanuel Vadot keep-power-in-suspend; 709*7d0873ebSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 710*7d0873ebSEmmanuel Vadot no-mmc; 711*7d0873ebSEmmanuel Vadot no-sd; 712*7d0873ebSEmmanuel Vadot non-removable; 713*7d0873ebSEmmanuel Vadot sd-uhs-sdr104; 714*7d0873ebSEmmanuel Vadot status = "okay"; 715*7d0873ebSEmmanuel Vadot}; 716*7d0873ebSEmmanuel Vadot 717*7d0873ebSEmmanuel Vadot&sdmmc { 718*7d0873ebSEmmanuel Vadot cap-mmc-highspeed; 719*7d0873ebSEmmanuel Vadot cap-sd-highspeed; 720*7d0873ebSEmmanuel Vadot no-sdio; 721*7d0873ebSEmmanuel Vadot sd-uhs-sdr12; 722*7d0873ebSEmmanuel Vadot sd-uhs-sdr25; 723*7d0873ebSEmmanuel Vadot sd-uhs-sdr50; 724*7d0873ebSEmmanuel Vadot sd-uhs-sdr104; 725*7d0873ebSEmmanuel Vadot vmmc-supply = <&vcc_sd>; 726*7d0873ebSEmmanuel Vadot vqmmc-supply = <&vccio_sd>; 727*7d0873ebSEmmanuel Vadot status = "okay"; 728*7d0873ebSEmmanuel Vadot}; 729*7d0873ebSEmmanuel Vadot 730*7d0873ebSEmmanuel Vadot&sfc { 731*7d0873ebSEmmanuel Vadot #address-cells = <1>; 732*7d0873ebSEmmanuel Vadot pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>; 733*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 734*7d0873ebSEmmanuel Vadot #size-cells = <0>; 735*7d0873ebSEmmanuel Vadot status = "okay"; 736*7d0873ebSEmmanuel Vadot 737*7d0873ebSEmmanuel Vadot flash@0 { 738*7d0873ebSEmmanuel Vadot compatible = "jedec,spi-nor"; 739*7d0873ebSEmmanuel Vadot reg = <0>; 740*7d0873ebSEmmanuel Vadot spi-max-frequency = <108000000>; 741*7d0873ebSEmmanuel Vadot spi-rx-bus-width = <2>; 742*7d0873ebSEmmanuel Vadot spi-tx-bus-width = <1>; 743*7d0873ebSEmmanuel Vadot }; 744*7d0873ebSEmmanuel Vadot}; 745*7d0873ebSEmmanuel Vadot 746*7d0873ebSEmmanuel Vadot&tsadc { 747*7d0873ebSEmmanuel Vadot status = "okay"; 748*7d0873ebSEmmanuel Vadot}; 749*7d0873ebSEmmanuel Vadot 750*7d0873ebSEmmanuel Vadot&u2phy { 751*7d0873ebSEmmanuel Vadot status = "okay"; 752*7d0873ebSEmmanuel Vadot 753*7d0873ebSEmmanuel Vadot u2phy_otg: otg-port { 754*7d0873ebSEmmanuel Vadot status = "okay"; 755*7d0873ebSEmmanuel Vadot }; 756*7d0873ebSEmmanuel Vadot}; 757*7d0873ebSEmmanuel Vadot 758*7d0873ebSEmmanuel Vadot&usb20_otg { 759*7d0873ebSEmmanuel Vadot status = "okay"; 760*7d0873ebSEmmanuel Vadot}; 761*7d0873ebSEmmanuel Vadot 762*7d0873ebSEmmanuel Vadot/* 763*7d0873ebSEmmanuel Vadot * The right ADC joystick exists connected to an unknown ADC 764*7d0873ebSEmmanuel Vadot * controller which can be communicated with via uart0. This ADC device 765*7d0873ebSEmmanuel Vadot * is an 8-pin SOIC with no markings located right next to the left ADC 766*7d0873ebSEmmanuel Vadot * joystick ribbon cable. The pinout for this ADC controller appears to 767*7d0873ebSEmmanuel Vadot * be pin 1 - VCC (2.8v), pin 2 - 1.8v (clk maybe?), pin 3 - GPIO 10, 768*7d0873ebSEmmanuel Vadot * pin 4 - unknown, pin 5 - unknown, pin 6 - analog in, pin 7 - analog in, 769*7d0873ebSEmmanuel Vadot * pin 8 - ground. There is currently a userspace UART driver for this 770*7d0873ebSEmmanuel Vadot * device but it only works with the BSP joystick driver. 771*7d0873ebSEmmanuel Vadot */ 772*7d0873ebSEmmanuel Vadot&uart0 { 773*7d0873ebSEmmanuel Vadot status = "okay"; 774*7d0873ebSEmmanuel Vadot}; 775*7d0873ebSEmmanuel Vadot 776*7d0873ebSEmmanuel Vadot/* 777*7d0873ebSEmmanuel Vadot * Bluetooth was not working on BSP and is not currently working on 778*7d0873ebSEmmanuel Vadot * mainline due to missing firmware. Bluetooth requires removal of DMA 779*7d0873ebSEmmanuel Vadot * or else it will not probe. 780*7d0873ebSEmmanuel Vadot */ 781*7d0873ebSEmmanuel Vadot&uart1 { 782*7d0873ebSEmmanuel Vadot /delete-property/ dma-names; 783*7d0873ebSEmmanuel Vadot /delete-property/ dmas; 784*7d0873ebSEmmanuel Vadot uart-has-rtscts; 785*7d0873ebSEmmanuel Vadot status = "okay"; 786*7d0873ebSEmmanuel Vadot 787*7d0873ebSEmmanuel Vadot bluetooth: bluetooth { 788*7d0873ebSEmmanuel Vadot compatible = "realtek,rtl8723ds-bt"; 789*7d0873ebSEmmanuel Vadot device-wake-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 790*7d0873ebSEmmanuel Vadot enable-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 791*7d0873ebSEmmanuel Vadot host-wake-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>; 792*7d0873ebSEmmanuel Vadot pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>; 793*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 794*7d0873ebSEmmanuel Vadot }; 795*7d0873ebSEmmanuel Vadot}; 796*7d0873ebSEmmanuel Vadot 797*7d0873ebSEmmanuel Vadot&uart2 { 798*7d0873ebSEmmanuel Vadot pinctrl-0 = <&uart2m1_xfer>; 799*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 800*7d0873ebSEmmanuel Vadot status = "okay"; 801*7d0873ebSEmmanuel Vadot}; 802*7d0873ebSEmmanuel Vadot 803*7d0873ebSEmmanuel Vadot&vopb { 804*7d0873ebSEmmanuel Vadot status = "okay"; 805*7d0873ebSEmmanuel Vadot}; 806*7d0873ebSEmmanuel Vadot 807*7d0873ebSEmmanuel Vadot&vopb_mmu { 808*7d0873ebSEmmanuel Vadot status = "okay"; 809*7d0873ebSEmmanuel Vadot}; 810