1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2022 Rockchip Electronics Co., Ltd. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#include "rk3528.dtsi" 8*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 9*4882a593Smuzhiyun#include <dt-bindings/input/rk-input.h> 10*4882a593Smuzhiyun#include <dt-bindings/pinctrl/rockchip.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/ { 13*4882a593Smuzhiyun acodec_sound: acodec-sound { 14*4882a593Smuzhiyun status = "okay"; 15*4882a593Smuzhiyun compatible = "simple-audio-card"; 16*4882a593Smuzhiyun simple-audio-card,name = "rk3528-acodec"; 17*4882a593Smuzhiyun simple-audio-card,format = "i2s"; 18*4882a593Smuzhiyun simple-audio-card,mclk-fs = <256>; 19*4882a593Smuzhiyun simple-audio-card,cpu { 20*4882a593Smuzhiyun sound-dai = <&sai2>; 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun simple-audio-card,codec { 23*4882a593Smuzhiyun sound-dai = <&acodec>; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun adc_keys: adc-keys { 28*4882a593Smuzhiyun status = "okay"; 29*4882a593Smuzhiyun compatible = "adc-keys"; 30*4882a593Smuzhiyun io-channels = <&saradc 1>; 31*4882a593Smuzhiyun io-channel-names = "buttons"; 32*4882a593Smuzhiyun keyup-threshold-microvolt = <1800000>; 33*4882a593Smuzhiyun poll-interval = <100>; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun vol-up-key { 36*4882a593Smuzhiyun label = "volume up"; 37*4882a593Smuzhiyun linux,code = <KEY_VOLUMEUP>; 38*4882a593Smuzhiyun press-threshold-microvolt = <1750>; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun bt_sco: bt-sco { 43*4882a593Smuzhiyun status = "disabled"; 44*4882a593Smuzhiyun compatible = "delta,dfbmcs320"; 45*4882a593Smuzhiyun #sound-dai-cells = <1>; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun bt_sound: bt-sound { 49*4882a593Smuzhiyun status = "disabled"; 50*4882a593Smuzhiyun compatible = "simple-audio-card"; 51*4882a593Smuzhiyun simple-audio-card,format = "dsp_a"; 52*4882a593Smuzhiyun simple-audio-card,bitclock-inversion = <0>; 53*4882a593Smuzhiyun simple-audio-card,mclk-fs = <256>; 54*4882a593Smuzhiyun simple-audio-card,name = "rockchip,bt"; 55*4882a593Smuzhiyun simple-audio-card,cpu { 56*4882a593Smuzhiyun sound-dai = <&sai0>; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun simple-audio-card,codec { 59*4882a593Smuzhiyun sound-dai = <&bt_sco 1>; 60*4882a593Smuzhiyun }; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun dc_12v: dc-12v { 64*4882a593Smuzhiyun compatible = "regulator-fixed"; 65*4882a593Smuzhiyun regulator-name = "dc_12v"; 66*4882a593Smuzhiyun regulator-always-on; 67*4882a593Smuzhiyun regulator-boot-on; 68*4882a593Smuzhiyun regulator-min-microvolt = <12000000>; 69*4882a593Smuzhiyun regulator-max-microvolt = <12000000>; 70*4882a593Smuzhiyun }; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun es7243_sound: es7243-sound { 73*4882a593Smuzhiyun status = "disabled"; 74*4882a593Smuzhiyun compatible = "simple-audio-card"; 75*4882a593Smuzhiyun simple-audio-card,name = "rockchip,es7243"; 76*4882a593Smuzhiyun simple-audio-card,format = "i2s"; 77*4882a593Smuzhiyun simple-audio-card,mclk-fs = <256>; 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun simple-audio-card,cpu { 80*4882a593Smuzhiyun sound-dai = <&sai1>; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun simple-audio-card,codec { 83*4882a593Smuzhiyun sound-dai = <&es7243e>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun hdmi_sound: hdmi-sound { 88*4882a593Smuzhiyun compatible = "rockchip,hdmi"; 89*4882a593Smuzhiyun rockchip,mclk-fs = <128>; 90*4882a593Smuzhiyun rockchip,card-name = "rockchip,hdmi"; 91*4882a593Smuzhiyun rockchip,cpu = <&sai3>; 92*4882a593Smuzhiyun rockchip,codec = <&hdmi>; 93*4882a593Smuzhiyun rockchip,jack-det; 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun pdmics: dummy-codec { 97*4882a593Smuzhiyun status = "disabled"; 98*4882a593Smuzhiyun compatible = "rockchip,dummy-codec"; 99*4882a593Smuzhiyun #sound-dai-cells = <0>; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun pdm_mic_array: pdm-mic-array { 103*4882a593Smuzhiyun status = "disabled"; 104*4882a593Smuzhiyun compatible = "simple-audio-card"; 105*4882a593Smuzhiyun simple-audio-card,name = "rockchip,pdm-mic-array"; 106*4882a593Smuzhiyun simple-audio-card,cpu { 107*4882a593Smuzhiyun sound-dai = <&pdm>; 108*4882a593Smuzhiyun }; 109*4882a593Smuzhiyun simple-audio-card,codec { 110*4882a593Smuzhiyun sound-dai = <&pdmics>; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun spdif-sound { 115*4882a593Smuzhiyun status = "okay"; 116*4882a593Smuzhiyun compatible = "simple-audio-card"; 117*4882a593Smuzhiyun simple-audio-card,name = "ROCKCHIP,SPDIF"; 118*4882a593Smuzhiyun simple-audio-card,mclk-fs = <128>; 119*4882a593Smuzhiyun simple-audio-card,cpu { 120*4882a593Smuzhiyun sound-dai = <&spdif_8ch>; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun simple-audio-card,codec { 123*4882a593Smuzhiyun sound-dai = <&spdif_out>; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun spdif_out: spdif-out { 128*4882a593Smuzhiyun status = "okay"; 129*4882a593Smuzhiyun compatible = "linux,spdif-dit"; 130*4882a593Smuzhiyun #sound-dai-cells = <0>; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun vcc5v0_sys: vcc5v0-sys { 134*4882a593Smuzhiyun compatible = "regulator-fixed"; 135*4882a593Smuzhiyun regulator-name = "vcc5v0_sys"; 136*4882a593Smuzhiyun regulator-always-on; 137*4882a593Smuzhiyun regulator-boot-on; 138*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 139*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 140*4882a593Smuzhiyun vin-supply = <&dc_12v>; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun vcc5v0_host: vcc5v0-host-regulator { 144*4882a593Smuzhiyun compatible = "regulator-fixed"; 145*4882a593Smuzhiyun regulator-name = "vcc5v0_host"; 146*4882a593Smuzhiyun regulator-boot-on; 147*4882a593Smuzhiyun regulator-always-on; 148*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 149*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 150*4882a593Smuzhiyun enable-active-high; 151*4882a593Smuzhiyun gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; 152*4882a593Smuzhiyun vin-supply = <&vcc5v0_sys>; 153*4882a593Smuzhiyun pinctrl-names = "default"; 154*4882a593Smuzhiyun pinctrl-0 = <&vcc5v0_host_en>; 155*4882a593Smuzhiyun }; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun vcc5v0_otg: vcc5v0-otg-regulator { 158*4882a593Smuzhiyun compatible = "regulator-fixed"; 159*4882a593Smuzhiyun regulator-name = "vcc5v0_otg"; 160*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 161*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 162*4882a593Smuzhiyun enable-active-high; 163*4882a593Smuzhiyun gpio = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>; 164*4882a593Smuzhiyun vin-supply = <&vcc5v0_sys>; 165*4882a593Smuzhiyun pinctrl-names = "default"; 166*4882a593Smuzhiyun pinctrl-0 = <&vcc5v0_otg_en>; 167*4882a593Smuzhiyun }; 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun /omit-if-no-ref/ 170*4882a593Smuzhiyun vccio_sd: vccio-sd { 171*4882a593Smuzhiyun compatible = "regulator-gpio"; 172*4882a593Smuzhiyun regulator-name = "vccio_sd"; 173*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 174*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 175*4882a593Smuzhiyun gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 176*4882a593Smuzhiyun vin-supply = <&vcc5v0_sys>; 177*4882a593Smuzhiyun states = <1800000 0x0 178*4882a593Smuzhiyun 3300000 0x1>; 179*4882a593Smuzhiyun }; 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun vdd_logic: vdd-logic { 182*4882a593Smuzhiyun compatible = "pwm-regulator"; 183*4882a593Smuzhiyun pwms = <&pwm2 0 5000 1>; 184*4882a593Smuzhiyun regulator-name = "vdd_logic"; 185*4882a593Smuzhiyun regulator-min-microvolt = <705000>; 186*4882a593Smuzhiyun regulator-max-microvolt = <1006000>; 187*4882a593Smuzhiyun regulator-init-microvolt = <900000>; 188*4882a593Smuzhiyun regulator-always-on; 189*4882a593Smuzhiyun regulator-boot-on; 190*4882a593Smuzhiyun regulator-settling-time-up-us = <250>; 191*4882a593Smuzhiyun pwm-supply = <&vcc5v0_sys>; 192*4882a593Smuzhiyun status = "okay"; 193*4882a593Smuzhiyun }; 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun vdd_cpu: vdd-cpu { 196*4882a593Smuzhiyun compatible = "pwm-regulator"; 197*4882a593Smuzhiyun pwms = <&pwm1 0 5000 1>; 198*4882a593Smuzhiyun regulator-name = "vdd_cpu"; 199*4882a593Smuzhiyun regulator-min-microvolt = <746000>; 200*4882a593Smuzhiyun regulator-max-microvolt = <1201000>; 201*4882a593Smuzhiyun regulator-init-microvolt = <953000>; 202*4882a593Smuzhiyun regulator-always-on; 203*4882a593Smuzhiyun regulator-boot-on; 204*4882a593Smuzhiyun regulator-settling-time-up-us = <250>; 205*4882a593Smuzhiyun pwm-supply = <&vcc5v0_sys>; 206*4882a593Smuzhiyun status = "okay"; 207*4882a593Smuzhiyun }; 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun vdd_gpu: vdd-gpu { 210*4882a593Smuzhiyun compatible = "pwm-regulator"; 211*4882a593Smuzhiyun pwms = <&pwm0 0 5000 1>; 212*4882a593Smuzhiyun regulator-name = "vdd_gpu"; 213*4882a593Smuzhiyun regulator-min-microvolt = <705000>; 214*4882a593Smuzhiyun regulator-max-microvolt = <1148000>; 215*4882a593Smuzhiyun regulator-init-microvolt = <900000>; 216*4882a593Smuzhiyun regulator-always-on; 217*4882a593Smuzhiyun regulator-boot-on; 218*4882a593Smuzhiyun regulator-settling-time-up-us = <250>; 219*4882a593Smuzhiyun pwm-supply = <&vcc5v0_sys>; 220*4882a593Smuzhiyun status = "okay"; 221*4882a593Smuzhiyun }; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun vdd_0v9_s3: vdd-0v9-s3 { 224*4882a593Smuzhiyun compatible = "regulator-fixed"; 225*4882a593Smuzhiyun regulator-name = "vdd_0v9_s3"; 226*4882a593Smuzhiyun regulator-always-on; 227*4882a593Smuzhiyun regulator-boot-on; 228*4882a593Smuzhiyun regulator-min-microvolt = <900000>; 229*4882a593Smuzhiyun regulator-max-microvolt = <900000>; 230*4882a593Smuzhiyun vin-supply = <&vcc5v0_sys>; 231*4882a593Smuzhiyun }; 232*4882a593Smuzhiyun 233*4882a593Smuzhiyun vdd_1v8_s3: vdd-1v8-s3 { 234*4882a593Smuzhiyun compatible = "regulator-fixed"; 235*4882a593Smuzhiyun regulator-name = "vdd_1v8_s3"; 236*4882a593Smuzhiyun regulator-always-on; 237*4882a593Smuzhiyun regulator-boot-on; 238*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 239*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 240*4882a593Smuzhiyun vin-supply = <&vcc5v0_sys>; 241*4882a593Smuzhiyun }; 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun vcc_3v3_s3: vcc-3v3-s3 { 244*4882a593Smuzhiyun compatible = "regulator-fixed"; 245*4882a593Smuzhiyun regulator-name = "vcc_3v3_s3"; 246*4882a593Smuzhiyun regulator-always-on; 247*4882a593Smuzhiyun regulator-boot-on; 248*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 249*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 250*4882a593Smuzhiyun vin-supply = <&vcc5v0_sys>; 251*4882a593Smuzhiyun }; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun /omit-if-no-ref/ 254*4882a593Smuzhiyun vcc_sd: vcc-sd { 255*4882a593Smuzhiyun compatible = "regulator-fixed"; 256*4882a593Smuzhiyun gpio = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; 257*4882a593Smuzhiyun regulator-name = "vcc_sd"; 258*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 259*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 260*4882a593Smuzhiyun vin-supply = <&vcc_3v3_s3>; 261*4882a593Smuzhiyun }; 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun vcc_ddr_s3: vcc-ddr-s3 { 264*4882a593Smuzhiyun compatible = "regulator-fixed"; 265*4882a593Smuzhiyun regulator-name = "vcc_ddr_s3"; 266*4882a593Smuzhiyun regulator-always-on; 267*4882a593Smuzhiyun regulator-boot-on; 268*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 269*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 270*4882a593Smuzhiyun vin-supply = <&vcc5v0_sys>; 271*4882a593Smuzhiyun }; 272*4882a593Smuzhiyun}; 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun&acodec { 275*4882a593Smuzhiyun pa-ctl-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 276*4882a593Smuzhiyun status = "okay"; 277*4882a593Smuzhiyun}; 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun&avsd { 280*4882a593Smuzhiyun status = "okay"; 281*4882a593Smuzhiyun}; 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun&combphy_pu { 284*4882a593Smuzhiyun status = "okay"; 285*4882a593Smuzhiyun}; 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun&cpu0 { 288*4882a593Smuzhiyun cpu-supply = <&vdd_cpu>; 289*4882a593Smuzhiyun}; 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun&crypto { 292*4882a593Smuzhiyun status = "okay"; 293*4882a593Smuzhiyun}; 294*4882a593Smuzhiyun 295*4882a593Smuzhiyun&dfi { 296*4882a593Smuzhiyun status = "okay"; 297*4882a593Smuzhiyun}; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun&display_subsystem { 300*4882a593Smuzhiyun status = "okay"; 301*4882a593Smuzhiyun}; 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun&dmc { 304*4882a593Smuzhiyun center-supply = <&vdd_logic>; 305*4882a593Smuzhiyun status = "okay"; 306*4882a593Smuzhiyun}; 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun&gmac0 { 309*4882a593Smuzhiyun status = "okay"; 310*4882a593Smuzhiyun}; 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun&gpu { 313*4882a593Smuzhiyun mali-supply = <&vdd_gpu>; 314*4882a593Smuzhiyun status = "okay"; 315*4882a593Smuzhiyun}; 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun&gpu_bus { 318*4882a593Smuzhiyun bus-supply = <&vdd_logic>; 319*4882a593Smuzhiyun status = "okay"; 320*4882a593Smuzhiyun}; 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun&hdmi { 323*4882a593Smuzhiyun status = "okay"; 324*4882a593Smuzhiyun}; 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun&hdmi_in_vp0 { 327*4882a593Smuzhiyun status = "okay"; 328*4882a593Smuzhiyun}; 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun&hdmiphy { 331*4882a593Smuzhiyun status = "okay"; 332*4882a593Smuzhiyun}; 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun&i2c6 { 335*4882a593Smuzhiyun status = "disabled"; 336*4882a593Smuzhiyun es7243e: es7243e@10 { 337*4882a593Smuzhiyun status = "okay"; 338*4882a593Smuzhiyun #sound-dai-cells = <0>; 339*4882a593Smuzhiyun compatible = "ES7243E_MicArray_0"; 340*4882a593Smuzhiyun reg = <0x10>; 341*4882a593Smuzhiyun }; 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun es7243e_11: es7243e@11 { 344*4882a593Smuzhiyun status = "okay"; 345*4882a593Smuzhiyun #sound-dai-cells = <0>; 346*4882a593Smuzhiyun compatible = "ES7243E_MicArray_1"; 347*4882a593Smuzhiyun reg = <0x11>; 348*4882a593Smuzhiyun }; 349*4882a593Smuzhiyun 350*4882a593Smuzhiyun es7243e_12: es7243e@12 { 351*4882a593Smuzhiyun status = "okay"; 352*4882a593Smuzhiyun #sound-dai-cells = <0>; 353*4882a593Smuzhiyun compatible = "ES7243E_MicArray_2"; 354*4882a593Smuzhiyun reg = <0x12>; 355*4882a593Smuzhiyun }; 356*4882a593Smuzhiyun}; 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun&iep { 359*4882a593Smuzhiyun status = "okay"; 360*4882a593Smuzhiyun}; 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun&iep_mmu { 363*4882a593Smuzhiyun status = "okay"; 364*4882a593Smuzhiyun}; 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun&jpegd { 367*4882a593Smuzhiyun status = "okay"; 368*4882a593Smuzhiyun}; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun&jpegd_mmu { 371*4882a593Smuzhiyun status = "okay"; 372*4882a593Smuzhiyun}; 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun&mpp_srv { 375*4882a593Smuzhiyun status = "okay"; 376*4882a593Smuzhiyun}; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun&pinctrl { 379*4882a593Smuzhiyun usb { 380*4882a593Smuzhiyun vcc5v0_host_en: vcc5v0-host-en { 381*4882a593Smuzhiyun rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 382*4882a593Smuzhiyun }; 383*4882a593Smuzhiyun 384*4882a593Smuzhiyun vcc5v0_otg_en: vcc5v0-otg-en { 385*4882a593Smuzhiyun rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 386*4882a593Smuzhiyun }; 387*4882a593Smuzhiyun }; 388*4882a593Smuzhiyun}; 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun&pwm0 { 391*4882a593Smuzhiyun status = "okay"; 392*4882a593Smuzhiyun}; 393*4882a593Smuzhiyun 394*4882a593Smuzhiyun&pwm1 { 395*4882a593Smuzhiyun status = "okay"; 396*4882a593Smuzhiyun}; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun&pwm2 { 399*4882a593Smuzhiyun status = "okay"; 400*4882a593Smuzhiyun}; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun&pwm3 { 403*4882a593Smuzhiyun compatible = "rockchip,remotectl-pwm"; 404*4882a593Smuzhiyun pinctrl-names = "default"; 405*4882a593Smuzhiyun pinctrl-0 = <&pwm3m0_pins>; 406*4882a593Smuzhiyun remote_pwm_id = <3>; 407*4882a593Smuzhiyun handle_cpu_id = <1>; 408*4882a593Smuzhiyun remote_support_psci = <0>; 409*4882a593Smuzhiyun status = "okay"; 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun ir_key1 { 412*4882a593Smuzhiyun rockchip,usercode = <0x4040>; 413*4882a593Smuzhiyun rockchip,key_table = 414*4882a593Smuzhiyun <0xf2 KEY_REPLY>, 415*4882a593Smuzhiyun <0xba KEY_BACK>, 416*4882a593Smuzhiyun <0xf4 KEY_UP>, 417*4882a593Smuzhiyun <0xf1 KEY_DOWN>, 418*4882a593Smuzhiyun <0xef KEY_LEFT>, 419*4882a593Smuzhiyun <0xee KEY_RIGHT>, 420*4882a593Smuzhiyun <0xbd KEY_HOME>, 421*4882a593Smuzhiyun <0xea KEY_VOLUMEUP>, 422*4882a593Smuzhiyun <0xe3 KEY_VOLUMEDOWN>, 423*4882a593Smuzhiyun <0xe2 KEY_SEARCH>, 424*4882a593Smuzhiyun <0xb2 KEY_POWER>, 425*4882a593Smuzhiyun <0xbc KEY_MUTE>, 426*4882a593Smuzhiyun <0xec KEY_MENU>, 427*4882a593Smuzhiyun <0xbf 0x190>, 428*4882a593Smuzhiyun <0xe0 0x191>, 429*4882a593Smuzhiyun <0xe1 0x192>, 430*4882a593Smuzhiyun <0xe9 183>, 431*4882a593Smuzhiyun <0xe6 248>, 432*4882a593Smuzhiyun <0xe8 185>, 433*4882a593Smuzhiyun <0xe7 186>, 434*4882a593Smuzhiyun <0xf0 388>, 435*4882a593Smuzhiyun <0xbe 0x175>; 436*4882a593Smuzhiyun }; 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun ir_key2 { 439*4882a593Smuzhiyun rockchip,usercode = <0xff00>; 440*4882a593Smuzhiyun rockchip,key_table = 441*4882a593Smuzhiyun <0xf9 KEY_HOME>, 442*4882a593Smuzhiyun <0xbf KEY_BACK>, 443*4882a593Smuzhiyun <0xfb KEY_MENU>, 444*4882a593Smuzhiyun <0xaa KEY_REPLY>, 445*4882a593Smuzhiyun <0xb9 KEY_UP>, 446*4882a593Smuzhiyun <0xe9 KEY_DOWN>, 447*4882a593Smuzhiyun <0xb8 KEY_LEFT>, 448*4882a593Smuzhiyun <0xea KEY_RIGHT>, 449*4882a593Smuzhiyun <0xeb KEY_VOLUMEDOWN>, 450*4882a593Smuzhiyun <0xef KEY_VOLUMEUP>, 451*4882a593Smuzhiyun <0xf7 KEY_MUTE>, 452*4882a593Smuzhiyun <0xe7 KEY_POWER>, 453*4882a593Smuzhiyun <0xfc KEY_POWER>, 454*4882a593Smuzhiyun <0xa9 KEY_VOLUMEDOWN>, 455*4882a593Smuzhiyun <0xa8 KEY_PLAYPAUSE>, 456*4882a593Smuzhiyun <0xe0 KEY_VOLUMEDOWN>, 457*4882a593Smuzhiyun <0xa5 KEY_VOLUMEDOWN>, 458*4882a593Smuzhiyun <0xab 183>, 459*4882a593Smuzhiyun <0xb7 388>, 460*4882a593Smuzhiyun <0xe8 388>, 461*4882a593Smuzhiyun <0xf8 184>, 462*4882a593Smuzhiyun <0xaf 185>, 463*4882a593Smuzhiyun <0xed KEY_VOLUMEDOWN>, 464*4882a593Smuzhiyun <0xee 186>, 465*4882a593Smuzhiyun <0xb3 KEY_VOLUMEDOWN>, 466*4882a593Smuzhiyun <0xf1 KEY_VOLUMEDOWN>, 467*4882a593Smuzhiyun <0xf2 KEY_VOLUMEDOWN>, 468*4882a593Smuzhiyun <0xf3 KEY_SEARCH>, 469*4882a593Smuzhiyun <0xb4 KEY_VOLUMEDOWN>, 470*4882a593Smuzhiyun <0xa4 KEY_SETUP>, 471*4882a593Smuzhiyun <0xbe KEY_SEARCH>; 472*4882a593Smuzhiyun }; 473*4882a593Smuzhiyun 474*4882a593Smuzhiyun ir_key3 { 475*4882a593Smuzhiyun rockchip,usercode = <0x1dcc>; 476*4882a593Smuzhiyun rockchip,key_table = 477*4882a593Smuzhiyun <0xee KEY_REPLY>, 478*4882a593Smuzhiyun <0xf0 KEY_BACK>, 479*4882a593Smuzhiyun <0xf8 KEY_UP>, 480*4882a593Smuzhiyun <0xbb KEY_DOWN>, 481*4882a593Smuzhiyun <0xef KEY_LEFT>, 482*4882a593Smuzhiyun <0xed KEY_RIGHT>, 483*4882a593Smuzhiyun <0xfc KEY_HOME>, 484*4882a593Smuzhiyun <0xf1 KEY_VOLUMEUP>, 485*4882a593Smuzhiyun <0xfd KEY_VOLUMEDOWN>, 486*4882a593Smuzhiyun <0xb7 KEY_SEARCH>, 487*4882a593Smuzhiyun <0xff KEY_POWER>, 488*4882a593Smuzhiyun <0xf3 KEY_MUTE>, 489*4882a593Smuzhiyun <0xbf KEY_MENU>, 490*4882a593Smuzhiyun <0xf9 0x191>, 491*4882a593Smuzhiyun <0xf5 0x192>, 492*4882a593Smuzhiyun <0xb3 388>, 493*4882a593Smuzhiyun <0xbe KEY_1>, 494*4882a593Smuzhiyun <0xba KEY_2>, 495*4882a593Smuzhiyun <0xb2 KEY_3>, 496*4882a593Smuzhiyun <0xbd KEY_4>, 497*4882a593Smuzhiyun <0xf9 KEY_5>, 498*4882a593Smuzhiyun <0xb1 KEY_6>, 499*4882a593Smuzhiyun <0xfc KEY_7>, 500*4882a593Smuzhiyun <0xf8 KEY_8>, 501*4882a593Smuzhiyun <0xb0 KEY_9>, 502*4882a593Smuzhiyun <0xb6 KEY_0>, 503*4882a593Smuzhiyun <0xb5 KEY_BACKSPACE>; 504*4882a593Smuzhiyun }; 505*4882a593Smuzhiyun}; 506*4882a593Smuzhiyun 507*4882a593Smuzhiyun&rga2 { 508*4882a593Smuzhiyun status = "okay"; 509*4882a593Smuzhiyun}; 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun&rga2_mmu { 512*4882a593Smuzhiyun status = "okay"; 513*4882a593Smuzhiyun}; 514*4882a593Smuzhiyun 515*4882a593Smuzhiyun&rkvdec { 516*4882a593Smuzhiyun status = "okay"; 517*4882a593Smuzhiyun}; 518*4882a593Smuzhiyun 519*4882a593Smuzhiyun&rkvdec_mmu { 520*4882a593Smuzhiyun status = "okay"; 521*4882a593Smuzhiyun}; 522*4882a593Smuzhiyun 523*4882a593Smuzhiyun&rkvenc { 524*4882a593Smuzhiyun status = "okay"; 525*4882a593Smuzhiyun}; 526*4882a593Smuzhiyun 527*4882a593Smuzhiyun&rkvenc_mmu { 528*4882a593Smuzhiyun status = "okay"; 529*4882a593Smuzhiyun}; 530*4882a593Smuzhiyun 531*4882a593Smuzhiyun&rkvtunnel { 532*4882a593Smuzhiyun status = "okay"; 533*4882a593Smuzhiyun}; 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun&rockchip_suspend { 536*4882a593Smuzhiyun status = "okay"; 537*4882a593Smuzhiyun rockchip,sleep-debug-en = <1>; 538*4882a593Smuzhiyun rockchip,virtual-poweroff = <1>; 539*4882a593Smuzhiyun rockchip,sleep-mode-config = < 540*4882a593Smuzhiyun (0 541*4882a593Smuzhiyun | RKPM_SLP_ARMPD 542*4882a593Smuzhiyun ) 543*4882a593Smuzhiyun >; 544*4882a593Smuzhiyun rockchip,wakeup-config = < 545*4882a593Smuzhiyun (0 546*4882a593Smuzhiyun | RKPM_CPU0_WKUP_EN 547*4882a593Smuzhiyun | RKPM_GPIO_WKUP_EN 548*4882a593Smuzhiyun ) 549*4882a593Smuzhiyun >; 550*4882a593Smuzhiyun rockchip,pwm-regulator-config = < 551*4882a593Smuzhiyun (0 552*4882a593Smuzhiyun | RKPM_PWM0_M0_REGULATOR_EN 553*4882a593Smuzhiyun | RKPM_PWM1_M0_REGULATOR_EN 554*4882a593Smuzhiyun ) 555*4882a593Smuzhiyun >; 556*4882a593Smuzhiyun}; 557*4882a593Smuzhiyun 558*4882a593Smuzhiyun&sai0 { 559*4882a593Smuzhiyun pinctrl-0 = <&i2s0m1_lrck &i2s0m1_sclk &i2s0m1_sdi &i2s0m1_sdo>; 560*4882a593Smuzhiyun status = "disabled"; 561*4882a593Smuzhiyun}; 562*4882a593Smuzhiyun 563*4882a593Smuzhiyun&sai2 { 564*4882a593Smuzhiyun status = "okay"; 565*4882a593Smuzhiyun}; 566*4882a593Smuzhiyun 567*4882a593Smuzhiyun&sai3 { 568*4882a593Smuzhiyun status = "okay"; 569*4882a593Smuzhiyun}; 570*4882a593Smuzhiyun 571*4882a593Smuzhiyun&saradc { 572*4882a593Smuzhiyun status = "okay"; 573*4882a593Smuzhiyun vref-supply = <&vdd_1v8_s3>; 574*4882a593Smuzhiyun}; 575*4882a593Smuzhiyun 576*4882a593Smuzhiyun&sdhci { 577*4882a593Smuzhiyun bus-width = <8>; 578*4882a593Smuzhiyun no-sd; 579*4882a593Smuzhiyun no-sdio; 580*4882a593Smuzhiyun non-removable; 581*4882a593Smuzhiyun mmc-hs400-1_8v; 582*4882a593Smuzhiyun mmc-hs400-enhanced-strobe; 583*4882a593Smuzhiyun max-frequency = <200000000>; 584*4882a593Smuzhiyun status = "okay"; 585*4882a593Smuzhiyun}; 586*4882a593Smuzhiyun 587*4882a593Smuzhiyun&sdmmc { 588*4882a593Smuzhiyun bus-width = <4>; 589*4882a593Smuzhiyun cap-mmc-highspeed; 590*4882a593Smuzhiyun cap-sd-highspeed; 591*4882a593Smuzhiyun disable-wp; 592*4882a593Smuzhiyun max-frequency = <150000000>; 593*4882a593Smuzhiyun pinctrl-names = "default"; 594*4882a593Smuzhiyun pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>; 595*4882a593Smuzhiyun rockchip,default-sample-phase = <90>; 596*4882a593Smuzhiyun supports-sd; 597*4882a593Smuzhiyun sd-uhs-sdr12; 598*4882a593Smuzhiyun sd-uhs-sdr25; 599*4882a593Smuzhiyun sd-uhs-sdr50; 600*4882a593Smuzhiyun sd-uhs-sdr104; 601*4882a593Smuzhiyun vqmmc-supply = <&vccio_sd>; 602*4882a593Smuzhiyun vmmc-supply = <&vcc_sd>; 603*4882a593Smuzhiyun status = "disabled"; 604*4882a593Smuzhiyun}; 605*4882a593Smuzhiyun 606*4882a593Smuzhiyun&sfc { 607*4882a593Smuzhiyun status = "okay"; 608*4882a593Smuzhiyun}; 609*4882a593Smuzhiyun 610*4882a593Smuzhiyun&spdif_8ch { 611*4882a593Smuzhiyun status = "okay"; 612*4882a593Smuzhiyun}; 613*4882a593Smuzhiyun 614*4882a593Smuzhiyun&tsadc { 615*4882a593Smuzhiyun status = "okay"; 616*4882a593Smuzhiyun}; 617*4882a593Smuzhiyun 618*4882a593Smuzhiyun&tve { 619*4882a593Smuzhiyun status = "okay"; 620*4882a593Smuzhiyun}; 621*4882a593Smuzhiyun 622*4882a593Smuzhiyun&tve_in_vp1 { 623*4882a593Smuzhiyun status = "okay"; 624*4882a593Smuzhiyun}; 625*4882a593Smuzhiyun 626*4882a593Smuzhiyun&u2phy_host { 627*4882a593Smuzhiyun phy-supply = <&vcc5v0_host>; 628*4882a593Smuzhiyun status = "okay"; 629*4882a593Smuzhiyun}; 630*4882a593Smuzhiyun 631*4882a593Smuzhiyun&u2phy_otg { 632*4882a593Smuzhiyun vbus-supply = <&vcc5v0_otg>; 633*4882a593Smuzhiyun status = "okay"; 634*4882a593Smuzhiyun}; 635*4882a593Smuzhiyun 636*4882a593Smuzhiyun&usb2phy { 637*4882a593Smuzhiyun status = "okay"; 638*4882a593Smuzhiyun}; 639*4882a593Smuzhiyun 640*4882a593Smuzhiyun&usb_host0_ehci { 641*4882a593Smuzhiyun status = "okay"; 642*4882a593Smuzhiyun}; 643*4882a593Smuzhiyun 644*4882a593Smuzhiyun&usb_host0_ohci { 645*4882a593Smuzhiyun status = "okay"; 646*4882a593Smuzhiyun}; 647*4882a593Smuzhiyun 648*4882a593Smuzhiyun&usbdrd30 { 649*4882a593Smuzhiyun status = "okay"; 650*4882a593Smuzhiyun}; 651*4882a593Smuzhiyun 652*4882a593Smuzhiyun&usbdrd_dwc3 { 653*4882a593Smuzhiyun dr_mode = "otg"; 654*4882a593Smuzhiyun extcon = <&usb2phy>; 655*4882a593Smuzhiyun status = "okay"; 656*4882a593Smuzhiyun}; 657*4882a593Smuzhiyun 658*4882a593Smuzhiyun&vdpp { 659*4882a593Smuzhiyun status = "okay"; 660*4882a593Smuzhiyun}; 661*4882a593Smuzhiyun 662*4882a593Smuzhiyun&vdpu { 663*4882a593Smuzhiyun status = "okay"; 664*4882a593Smuzhiyun}; 665*4882a593Smuzhiyun 666*4882a593Smuzhiyun&vdpu_mmu { 667*4882a593Smuzhiyun status = "okay"; 668*4882a593Smuzhiyun}; 669*4882a593Smuzhiyun 670*4882a593Smuzhiyun&vop { 671*4882a593Smuzhiyun status = "okay"; 672*4882a593Smuzhiyun}; 673*4882a593Smuzhiyun 674*4882a593Smuzhiyun&vop_mmu { 675*4882a593Smuzhiyun status = "okay"; 676*4882a593Smuzhiyun}; 677