1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun/dts-v1/; 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 9*4882a593Smuzhiyun#include "arm64/rockchip/rk3308.dtsi" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun model = "Rockchip RK3308 Dot Rk816-3 V10 (AArch32)"; 13*4882a593Smuzhiyun compatible = "rockchip,rk3308-dot-rk816-v10-aarch32", "rockchip,rk3308"; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun chosen { 16*4882a593Smuzhiyun bootargs = "earlycon=uart8250,mmio32,0xff0c0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1"; 17*4882a593Smuzhiyun }; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun acodec_sound: acodec-sound { 20*4882a593Smuzhiyun compatible = "rockchip,multicodecs-card"; 21*4882a593Smuzhiyun rockchip,card-name = "rockchip,rk3308-acodec"; 22*4882a593Smuzhiyun rockchip,codec-hp-det; 23*4882a593Smuzhiyun rockchip,mclk-fs = <256>; 24*4882a593Smuzhiyun rockchip,cpu = <&i2s_8ch_2>; 25*4882a593Smuzhiyun rockchip,codec = <&acodec>; 26*4882a593Smuzhiyun status = "okay"; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun adc-keys { 30*4882a593Smuzhiyun compatible = "adc-keys"; 31*4882a593Smuzhiyun io-channels = <&saradc 1>; 32*4882a593Smuzhiyun io-channel-names = "buttons"; 33*4882a593Smuzhiyun poll-interval = <100>; 34*4882a593Smuzhiyun keyup-threshold-microvolt = <1800000>; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun esc-key { 37*4882a593Smuzhiyun linux,code = <KEY_MICMUTE>; 38*4882a593Smuzhiyun label = "micmute"; 39*4882a593Smuzhiyun press-threshold-microvolt = <1130000>; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun menu-key { 43*4882a593Smuzhiyun linux,code = <KEY_PLAY>; 44*4882a593Smuzhiyun label = "play"; 45*4882a593Smuzhiyun press-threshold-microvolt = <624000>; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun vol-down-key { 49*4882a593Smuzhiyun linux,code = <KEY_VOLUMEDOWN>; 50*4882a593Smuzhiyun label = "volume down"; 51*4882a593Smuzhiyun press-threshold-microvolt = <300000>; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun vol-up-key { 55*4882a593Smuzhiyun linux,code = <KEY_VOLUMEUP>; 56*4882a593Smuzhiyun label = "volume up"; 57*4882a593Smuzhiyun press-threshold-microvolt = <18000>; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun charge-animation { 62*4882a593Smuzhiyun compatible = "rockchip,uboot-charge"; 63*4882a593Smuzhiyun rockchip,uboot-charge-on = <1>; 64*4882a593Smuzhiyun rockchip,uboot-low-power-voltage = <3500>; 65*4882a593Smuzhiyun status = "okay"; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun dummy_codec: dummy-codec { 69*4882a593Smuzhiyun compatible = "rockchip,dummy-codec"; 70*4882a593Smuzhiyun #sound-dai-cells = <0>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun leds { 74*4882a593Smuzhiyun status = "okay"; 75*4882a593Smuzhiyun compatible = "gpio-leds"; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun blue-led { 78*4882a593Smuzhiyun gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>; 79*4882a593Smuzhiyun label = "battery_full"; 80*4882a593Smuzhiyun default-state = "off"; 81*4882a593Smuzhiyun linux,default-trigger = "battery-full"; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun green-led { 85*4882a593Smuzhiyun gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>; 86*4882a593Smuzhiyun label = "greenled"; 87*4882a593Smuzhiyun default-state = "off"; 88*4882a593Smuzhiyun linux,default-trigger = "default-off"; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun red-led { 92*4882a593Smuzhiyun gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; 93*4882a593Smuzhiyun label = "battery_charging"; 94*4882a593Smuzhiyun default-state = "off"; 95*4882a593Smuzhiyun linux,default-trigger = "battery-charging"; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun pcm_codec: pcm-codec { 100*4882a593Smuzhiyun compatible = "delta,dfbmcs320"; 101*4882a593Smuzhiyun #sound-dai-cells = <0>; 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun sdio_pwrseq: sdio-pwrseq { 105*4882a593Smuzhiyun compatible = "mmc-pwrseq-simple"; 106*4882a593Smuzhiyun pinctrl-names = "default"; 107*4882a593Smuzhiyun pinctrl-0 = <&wifi_enable_h>; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun /* 110*4882a593Smuzhiyun * On the module itself this is one of these (depending 111*4882a593Smuzhiyun * on the actual card populated): 112*4882a593Smuzhiyun * - SDIO_RESET_L_WL_REG_ON 113*4882a593Smuzhiyun * - PDN (power down when low) 114*4882a593Smuzhiyun */ 115*4882a593Smuzhiyun reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun sound_pcm { 119*4882a593Smuzhiyun compatible = "simple-audio-card"; 120*4882a593Smuzhiyun simple-audio-card,format = "dsp_b"; 121*4882a593Smuzhiyun simple-audio-card,name = "rockchip,rk3308-pcm"; 122*4882a593Smuzhiyun simple-audio-card,mclk-fs = <256>; 123*4882a593Smuzhiyun simple-audio-card,cpu { 124*4882a593Smuzhiyun sound-dai = <&i2s_2ch_0>; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun simple-audio-card,codec { 127*4882a593Smuzhiyun sound-dai = <&pcm_codec>; 128*4882a593Smuzhiyun }; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun vad-sound { 132*4882a593Smuzhiyun status = "disabled"; 133*4882a593Smuzhiyun compatible = "rockchip,multicodecs-card"; 134*4882a593Smuzhiyun rockchip,card-name = "rockchip,rk3308-vad"; 135*4882a593Smuzhiyun rockchip,codec-hp-det; 136*4882a593Smuzhiyun rockchip,cpu = <&i2s_8ch_2>; 137*4882a593Smuzhiyun rockchip,codec = <&acodec>, <&vad>; 138*4882a593Smuzhiyun }; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun vcc_sys: vcc-sys { 141*4882a593Smuzhiyun compatible = "regulator-fixed"; 142*4882a593Smuzhiyun regulator-name = "vcc_sys"; 143*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 144*4882a593Smuzhiyun regulator-max-microvolt = <4000000>; 145*4882a593Smuzhiyun regulator-always-on; 146*4882a593Smuzhiyun }; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun wireless-bluetooth { 149*4882a593Smuzhiyun compatible = "bluetooth-platdata"; 150*4882a593Smuzhiyun uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>; 151*4882a593Smuzhiyun pinctrl-names = "default", "rts_gpio"; 152*4882a593Smuzhiyun pinctrl-0 = <&uart4_rts>; 153*4882a593Smuzhiyun pinctrl-1 = <&uart4_rts_gpio>; 154*4882a593Smuzhiyun BT,power_gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; 155*4882a593Smuzhiyun BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 156*4882a593Smuzhiyun status = "okay"; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun wireless-wlan { 160*4882a593Smuzhiyun compatible = "wlan-platdata"; 161*4882a593Smuzhiyun rockchip,grf = <&grf>; 162*4882a593Smuzhiyun clocks = <&cru SCLK_WIFI>; 163*4882a593Smuzhiyun clock-names = "clk_wifi"; 164*4882a593Smuzhiyun ref-clock-frequency = <24000000>; 165*4882a593Smuzhiyun pinctrl-names = "default"; 166*4882a593Smuzhiyun pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>; 167*4882a593Smuzhiyun wifi_chip_type = "rtl8723ds"; 168*4882a593Smuzhiyun WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; 169*4882a593Smuzhiyun status = "okay"; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun}; 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun&i2c1 { 174*4882a593Smuzhiyun status = "okay"; 175*4882a593Smuzhiyun clock-frequency = <400000>; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun rk816: pmic@1a { 178*4882a593Smuzhiyun status = "okay"; 179*4882a593Smuzhiyun compatible = "rockchip,rk816"; 180*4882a593Smuzhiyun reg = <0x1a>; 181*4882a593Smuzhiyun interrupt-parent = <&gpio0>; 182*4882a593Smuzhiyun interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 183*4882a593Smuzhiyun pinctrl-names = "default"; 184*4882a593Smuzhiyun pinctrl-0 = <&pmic_int_l>; 185*4882a593Smuzhiyun rockchip,system-power-controller; 186*4882a593Smuzhiyun wakeup-source; 187*4882a593Smuzhiyun gpio-controller; 188*4882a593Smuzhiyun #gpio-cells = <2>; 189*4882a593Smuzhiyun #clock-cells = <1>; 190*4882a593Smuzhiyun clock-output-names = "rk816-clkout1", "rk816-clkout2"; 191*4882a593Smuzhiyun extcon = <&u2phy>; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun vcc1-supply = <&vcc_sys>; 194*4882a593Smuzhiyun vcc2-supply = <&vcc_sys>; 195*4882a593Smuzhiyun vcc3-supply = <&vcc_sys>; 196*4882a593Smuzhiyun vcc4-supply = <&vcc_sys>; 197*4882a593Smuzhiyun vcc5-supply = <&vcc_io>; 198*4882a593Smuzhiyun vcc6-supply = <&vcc_sys>; 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun pwrkey { 201*4882a593Smuzhiyun status = "okay"; 202*4882a593Smuzhiyun }; 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun gpio { 205*4882a593Smuzhiyun status = "okay"; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun rtc { 209*4882a593Smuzhiyun status = "okay"; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun battery { 213*4882a593Smuzhiyun compatible = "rk816-battery"; 214*4882a593Smuzhiyun ocv_table = <3400 3625 3685 3697 3718 3735 3748 215*4882a593Smuzhiyun 3760 3774 3788 3802 3816 3834 3853 216*4882a593Smuzhiyun 3877 3908 3946 3975 4018 4071 4106>; 217*4882a593Smuzhiyun design_capacity = <2750>; 218*4882a593Smuzhiyun design_qmax = <3000>; 219*4882a593Smuzhiyun bat_res = <110>; 220*4882a593Smuzhiyun max_input_current = <2000>; 221*4882a593Smuzhiyun max_chrg_current = <1800>; 222*4882a593Smuzhiyun max_chrg_voltage = <4200>; 223*4882a593Smuzhiyun sleep_enter_current = <300>; 224*4882a593Smuzhiyun sleep_exit_current = <300>; 225*4882a593Smuzhiyun sleep_filter_current = <100>; 226*4882a593Smuzhiyun power_off_thresd = <3400>; 227*4882a593Smuzhiyun zero_algorithm_vol = <3850>; 228*4882a593Smuzhiyun max_soc_offset = <80>; 229*4882a593Smuzhiyun monitor_sec = <5>; 230*4882a593Smuzhiyun virtual_power = <0>; 231*4882a593Smuzhiyun power_dc2otg = <0>; 232*4882a593Smuzhiyun dc_det_adc = <0>; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun regulators { 236*4882a593Smuzhiyun vdd_core: DCDC_REG1{ 237*4882a593Smuzhiyun regulator-name = "vdd_core"; 238*4882a593Smuzhiyun regulator-min-microvolt = <750000>; 239*4882a593Smuzhiyun regulator-max-microvolt = <1500000>; 240*4882a593Smuzhiyun regulator-ramp-delay = <6001>; 241*4882a593Smuzhiyun regulator-initial-mode = <1>; 242*4882a593Smuzhiyun regulator-always-on; 243*4882a593Smuzhiyun regulator-boot-on; 244*4882a593Smuzhiyun regulator-state-mem { 245*4882a593Smuzhiyun regulator-off-in-suspend; 246*4882a593Smuzhiyun }; 247*4882a593Smuzhiyun }; 248*4882a593Smuzhiyun 249*4882a593Smuzhiyun vdd_log: DCDC_REG2 { 250*4882a593Smuzhiyun regulator-name = "vdd_logic"; 251*4882a593Smuzhiyun regulator-min-microvolt = <750000>; 252*4882a593Smuzhiyun regulator-max-microvolt = <1500000>; 253*4882a593Smuzhiyun regulator-ramp-delay = <6001>; 254*4882a593Smuzhiyun regulator-initial-mode = <1>; 255*4882a593Smuzhiyun regulator-always-on; 256*4882a593Smuzhiyun regulator-boot-on; 257*4882a593Smuzhiyun regulator-state-mem { 258*4882a593Smuzhiyun regulator-on-in-suspend; 259*4882a593Smuzhiyun regulator-suspend-microvolt = <1000000>; 260*4882a593Smuzhiyun }; 261*4882a593Smuzhiyun }; 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun vcc_ddr: DCDC_REG3 { 264*4882a593Smuzhiyun regulator-name = "vcc_ddr"; 265*4882a593Smuzhiyun regulator-always-on; 266*4882a593Smuzhiyun regulator-boot-on; 267*4882a593Smuzhiyun }; 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun vcc_io: DCDC_REG4 { 270*4882a593Smuzhiyun regulator-name = "vcc_io"; 271*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 272*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 273*4882a593Smuzhiyun regulator-initial-mode = <1>; 274*4882a593Smuzhiyun regulator-always-on; 275*4882a593Smuzhiyun regulator-boot-on; 276*4882a593Smuzhiyun regulator-state-mem { 277*4882a593Smuzhiyun regulator-on-in-suspend; 278*4882a593Smuzhiyun regulator-suspend-microvolt = <3000000>; 279*4882a593Smuzhiyun }; 280*4882a593Smuzhiyun }; 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun vcc_1v8_codec: LDO_REG1 { 283*4882a593Smuzhiyun regulator-name = "vcc_1v8_codec"; 284*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 285*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 286*4882a593Smuzhiyun regulator-always-on; 287*4882a593Smuzhiyun regulator-boot-on; 288*4882a593Smuzhiyun regulator-state-mem { 289*4882a593Smuzhiyun regulator-on-in-suspend; 290*4882a593Smuzhiyun regulator-suspend-microvolt = <1800000>; 291*4882a593Smuzhiyun }; 292*4882a593Smuzhiyun }; 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun vccio_sdio: vcc_1v8: LDO_REG2 { 295*4882a593Smuzhiyun regulator-name = "vcc_1v8"; 296*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 297*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 298*4882a593Smuzhiyun regulator-always-on; 299*4882a593Smuzhiyun regulator-boot-on; 300*4882a593Smuzhiyun regulator-state-mem { 301*4882a593Smuzhiyun regulator-on-in-suspend; 302*4882a593Smuzhiyun regulator-suspend-microvolt = <1800000>; 303*4882a593Smuzhiyun }; 304*4882a593Smuzhiyun }; 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun vdd_10: LDO_REG3 { 307*4882a593Smuzhiyun regulator-name = "vdd_10"; 308*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 309*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 310*4882a593Smuzhiyun regulator-state-mem { 311*4882a593Smuzhiyun regulator-off-in-suspend; 312*4882a593Smuzhiyun }; 313*4882a593Smuzhiyun }; 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun ldo4: LDO_REG4 { 316*4882a593Smuzhiyun regulator-name = "ldo4"; 317*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 318*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 319*4882a593Smuzhiyun regulator-state-mem { 320*4882a593Smuzhiyun regulator-off-in-suspend; 321*4882a593Smuzhiyun }; 322*4882a593Smuzhiyun }; 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun vccio_3v3: LDO_REG5 { 325*4882a593Smuzhiyun regulator-name = "vccio_3v3"; 326*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 327*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 328*4882a593Smuzhiyun regulator-state-mem { 329*4882a593Smuzhiyun regulator-off-in-suspend; 330*4882a593Smuzhiyun }; 331*4882a593Smuzhiyun }; 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun ldo6: LDO_REG6 { 334*4882a593Smuzhiyun regulator-name = "ldo6"; 335*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 336*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 337*4882a593Smuzhiyun regulator-state-mem { 338*4882a593Smuzhiyun regulator-off-in-suspend; 339*4882a593Smuzhiyun }; 340*4882a593Smuzhiyun }; 341*4882a593Smuzhiyun }; 342*4882a593Smuzhiyun }; 343*4882a593Smuzhiyun}; 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun&acodec { 346*4882a593Smuzhiyun status = "okay"; 347*4882a593Smuzhiyun rockchip,micbias1; 348*4882a593Smuzhiyun rockchip,micbias2; 349*4882a593Smuzhiyun rockchip,no-deep-low-power; 350*4882a593Smuzhiyun rockchip,no-hp-det; 351*4882a593Smuzhiyun rockchip,loopback-grp = <1>; 352*4882a593Smuzhiyun pa-drv-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; 353*4882a593Smuzhiyun rockchip,delay-pa-drv-ms = <5>; 354*4882a593Smuzhiyun spk-ctl-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 355*4882a593Smuzhiyun /* ADC5-8 for 4ch capture, loopback to ADC3-4 */ 356*4882a593Smuzhiyun rockchip,adc-grps-route = <2 3 1 0>; 357*4882a593Smuzhiyun}; 358*4882a593Smuzhiyun 359*4882a593Smuzhiyun&cpu0 { 360*4882a593Smuzhiyun cpu-supply = <&vdd_core>; 361*4882a593Smuzhiyun}; 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun&cpu0_opp_table { 364*4882a593Smuzhiyun opp-1200000000 { 365*4882a593Smuzhiyun status = "okay"; 366*4882a593Smuzhiyun }; 367*4882a593Smuzhiyun}; 368*4882a593Smuzhiyun 369*4882a593Smuzhiyun&dmc { 370*4882a593Smuzhiyun center-supply = <&vdd_log>; 371*4882a593Smuzhiyun status = "okay"; 372*4882a593Smuzhiyun}; 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun&fiq_debugger { 375*4882a593Smuzhiyun status = "okay"; 376*4882a593Smuzhiyun}; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun&i2s_2ch_0 { 379*4882a593Smuzhiyun status = "okay"; 380*4882a593Smuzhiyun #sound-dai-cells = <0>; 381*4882a593Smuzhiyun}; 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun&i2s_8ch_2 { 384*4882a593Smuzhiyun status = "okay"; 385*4882a593Smuzhiyun}; 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun&io_domains { 388*4882a593Smuzhiyun status = "okay"; 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun vccio0-supply = <&vcc_io>; 391*4882a593Smuzhiyun vccio1-supply = <&vcc_io>; 392*4882a593Smuzhiyun vccio2-supply = <&vcc_io>; 393*4882a593Smuzhiyun vccio3-supply = <&vcc_io>; 394*4882a593Smuzhiyun vccio4-supply = <&vccio_sdio>; 395*4882a593Smuzhiyun vccio5-supply = <&vcc_io>; 396*4882a593Smuzhiyun}; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun&nandc { 399*4882a593Smuzhiyun status = "okay"; 400*4882a593Smuzhiyun}; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun&pinctrl { 403*4882a593Smuzhiyun sdio-pwrseq { 404*4882a593Smuzhiyun wifi_enable_h: wifi-enable-h { 405*4882a593Smuzhiyun rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 406*4882a593Smuzhiyun }; 407*4882a593Smuzhiyun }; 408*4882a593Smuzhiyun 409*4882a593Smuzhiyun wireless-wlan { 410*4882a593Smuzhiyun wifi_wake_host: wifi-wake-host { 411*4882a593Smuzhiyun rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 412*4882a593Smuzhiyun }; 413*4882a593Smuzhiyun }; 414*4882a593Smuzhiyun 415*4882a593Smuzhiyun pmic { 416*4882a593Smuzhiyun pmic_int_l: pmic-int-l { 417*4882a593Smuzhiyun rockchip,pins = 418*4882a593Smuzhiyun <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 419*4882a593Smuzhiyun }; 420*4882a593Smuzhiyun }; 421*4882a593Smuzhiyun}; 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun&ramoops { 424*4882a593Smuzhiyun reg = <0x0 0x30000 0x0 0x20000>; 425*4882a593Smuzhiyun record-size = <0x00000>; 426*4882a593Smuzhiyun console-size = <0x20000>; 427*4882a593Smuzhiyun}; 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun&rockchip_suspend { 430*4882a593Smuzhiyun rockchip,sleep-mode-config = < 431*4882a593Smuzhiyun (0 432*4882a593Smuzhiyun | RKPM_ARMOFF 433*4882a593Smuzhiyun | RKPM_PMU_HW_PLLS_PD 434*4882a593Smuzhiyun ) 435*4882a593Smuzhiyun >; 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun status = "okay"; 438*4882a593Smuzhiyun}; 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun&saradc { 441*4882a593Smuzhiyun status = "okay"; 442*4882a593Smuzhiyun vref-supply = <&vcc_1v8>; 443*4882a593Smuzhiyun}; 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun&sdio { 446*4882a593Smuzhiyun max-frequency = <110000000>; 447*4882a593Smuzhiyun bus-width = <4>; 448*4882a593Smuzhiyun cap-sd-highspeed; 449*4882a593Smuzhiyun no-sd; 450*4882a593Smuzhiyun no-mmc; 451*4882a593Smuzhiyun ignore-pm-notify; 452*4882a593Smuzhiyun keep-power-in-suspend; 453*4882a593Smuzhiyun non-removable; 454*4882a593Smuzhiyun mmc-pwrseq = <&sdio_pwrseq>; 455*4882a593Smuzhiyun sd-uhs-sdr104; 456*4882a593Smuzhiyun status = "okay"; 457*4882a593Smuzhiyun}; 458*4882a593Smuzhiyun 459*4882a593Smuzhiyun&sfc { 460*4882a593Smuzhiyun status = "okay"; 461*4882a593Smuzhiyun}; 462*4882a593Smuzhiyun 463*4882a593Smuzhiyun&tsadc { 464*4882a593Smuzhiyun rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 465*4882a593Smuzhiyun rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 466*4882a593Smuzhiyun status = "okay"; 467*4882a593Smuzhiyun}; 468*4882a593Smuzhiyun 469*4882a593Smuzhiyun&u2phy { 470*4882a593Smuzhiyun status = "okay"; 471*4882a593Smuzhiyun u2phy_otg: otg-port { 472*4882a593Smuzhiyun status = "okay"; 473*4882a593Smuzhiyun }; 474*4882a593Smuzhiyun}; 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun&uart4 { 477*4882a593Smuzhiyun pinctrl-names = "default"; 478*4882a593Smuzhiyun pinctrl-0 = <&uart4_xfer &uart4_cts>; 479*4882a593Smuzhiyun status = "okay"; 480*4882a593Smuzhiyun}; 481*4882a593Smuzhiyun 482*4882a593Smuzhiyun&usb20_otg { 483*4882a593Smuzhiyun status = "okay"; 484*4882a593Smuzhiyun}; 485*4882a593Smuzhiyun 486*4882a593Smuzhiyun&vad { 487*4882a593Smuzhiyun status = "disabled"; 488*4882a593Smuzhiyun rockchip,audio-src = <&i2s_8ch_2>; 489*4882a593Smuzhiyun rockchip,det-channel = <0>; 490*4882a593Smuzhiyun rockchip,mode = <1>; 491*4882a593Smuzhiyun rockchip,buffer-time-ms = <500>; 492*4882a593Smuzhiyun #sound-dai-cells = <0>; 493*4882a593Smuzhiyun}; 494