// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2024 Rockchip Electronics Co., Ltd. * */ /dts-v1/; #include #include #include #include #include #include #include #include #include "rk3576.dtsi" #include "rk3576-android.dtsi" #include "rk3576-eink.dtsi" / { model = "Rockchip RK3576 EBOOK V10 Board"; compatible = "rockchip,rk3576-ebook-v10", "rockchip,rk3576"; bat: battery { compatible = "simple-battery"; charge-full-design-microamp-hours = <8000000>; precharge-current-microamp = <180000>; precharge-upper-limit-microvolt = <3600000>; charge-term-current-microamp = <300000>; constant-charge-current-max-microamp = <10000000>; constant-charge-voltage-max-microvolt = <4350000>; factory-internal-resistance-micro-ohms = <80>; voltage-max-design-microvolt = <4350000>; voltage-min-design-microvolt = <3000000>; }; bt_sco: bt-sco { status = "okay"; compatible = "delta,dfbmcs320"; #sound-dai-cells = <1>; }; bt_sound: bt-sound { status = "okay"; compatible = "simple-audio-card"; simple-audio-card,format = "dsp_a"; simple-audio-card,bitclock-inversion; simple-audio-card,mclk-fs = <256>; simple-audio-card,name = "rockchip,bt"; simple-audio-card,cpu { sound-dai = <&sai2>; }; simple-audio-card,codec { sound-dai = <&bt_sco 1>; }; }; charge-animation { compatible = "rockchip,uboot-charge"; rockchip,uboot-charge-on = <1>; rockchip,android-charge-on = <0>; rockchip,uboot-low-power-voltage = <3450>; rockchip,screen-on-voltage = <3500>; rockchip,uboot-exit-charge-level = <2>; rockchip,uboot-exit-charge-voltage = <3500>; rockchip,uboot-exit-charge-auto = <1>; status = "okay"; }; charger-manager { compatible = "rockchip-charger-manager"; cm-name = "battery"; cm-poll-mode = <2>; cm-poll-interval = <1000>; cm-chargers = "sgm4154x-charger"; cm-chargers-phandle = <&usbc0>; cm-fuel-gauge = "cw221X-bat"; monitored-battery = <&bat>; extcon = <&u2phy0>; cm-jeita-temp-charge-table = <0 15 2400000 4400000>, <15 45 10000000 4400000>, <45 60 6000000 4200000>; }; es8388_sound: es8388-sound { status = "okay"; compatible = "rockchip,multicodecs-card"; rockchip,card-name = "rockchip-es8388"; rockchip,codec-hp-det; spk-con-gpio = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>; rockchip,format = "i2s"; rockchip,mclk-fs = <256>; rockchip,cpu = <&sai1>; rockchip,codec = <&es8388>; rockchip,audio-routing = "Speaker", "LOUT2", "Speaker", "Speaker Power", "Speaker", "Speaker Power", "LINPUT1", "Main Mic", "LINPUT2", "Main Mic", "RINPUT1", "Headset Mic", "RINPUT2", "Headset Mic"; }; hall_sensor: hall-mh248 { compatible = "hall-mh248"; pinctrl-names = "default"; pinctrl-0 = <&mh248_irq_gpio>; irq-gpio = <&gpio0 RK_PB5 IRQ_TYPE_EDGE_BOTH>; hall-active = <1>; status = "okay"; //for ebook ultra sleep config pmu-gpio-regs-base = <0x27320000>; //gpio0 base pmu-gpio-regs-size = <0x200>; //gpio0 register size pmu-gpio-int-reg = <0x50>; //gpio int status register pmu-gpio-rtc-int-mask = <0x01>; //GPIO0_A0, rtc int pmu-gpio-pmic-int-mask = <0x40>; //GPIO0_A6, pmic int }; leds: gpio-leds { compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 =<&leds_gpio>; led@1 { gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; linux,default-trigger = "cw221X-bat-full"; label = "battery_full"; retain-state-suspended; default-state = "on"; }; led@2 { gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; linux,default-trigger = "cw221X-bat-charging"; label = "battery_charging"; retain-state-suspended; default-state = "off"; }; }; vcc_sys: vcc-sys { compatible = "regulator-fixed"; regulator-name = "vcc_sys"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3800000>; regulator-max-microvolt = <3800000>; }; vcc_2v0_pldo_s3: vcc-2v0-pldo-s3 { compatible = "regulator-fixed"; regulator-name = "vcc_2v0_pldo_s3"; regulator-boot-on; regulator-always-on; regulator-min-microvolt = <2000000>; regulator-max-microvolt = <2000000>; vin-supply = <&vcc_sys>; }; vcc_1v1_nldo_s3: vcc-1v1-nldo-s3 { compatible = "regulator-fixed"; regulator-name = "vcc_1v1_nldo_s3"; regulator-boot-on; regulator-always-on; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; vin-supply = <&vcc_sys>; }; vcc_cam: vcc-cam { compatible = "regulator-fixed"; enable-active-high; gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&vcc_cam_en>; regulator-name = "vcc_cam"; regulator-boot-on; }; vcc_emr: vcc-emr { compatible = "regulator-fixed"; enable-active-high; gpio = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&vcc_emr_en>; regulator-name = "vcc_emr"; regulator-boot-on; startup-delay-us = <10000>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; wireless_bluetooth: wireless-bluetooth { compatible = "bluetooth-platdata"; clocks = <&hym8563>; clock-names = "ext_clock"; uart_rts_gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; pinctrl-names = "default", "rts_gpio"; pinctrl-0 = <&uart4m1_rtsn>; pinctrl-1 = <&uart4_gpios>; BT,reset_gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>; BT,wake_gpio = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>; BT,wake_host_irq = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; status = "okay"; }; wireless_wlan: wireless-wlan { compatible = "wlan-platdata"; wifi_chip_type = "ap6275p"; pinctrl-names = "default"; pinctrl-0 = <&wifi_host_wake_irq>; WIFI,host_wake_irq = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; WIFI,poweren_gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; status = "okay"; }; }; &bus_a72 { bus-supply = <&vdd_logic_s0>; pvtm-supply = <&vdd_logic_s0>; status = "okay"; }; &combphy0_ps { status = "okay"; }; &cpu_l0 { cpu-supply = <&vdd_cpu_lit_s0>; }; &cpu_b0 { cpu-supply = <&vdd_cpu_big_s0>; }; &dp { status = "disabled"; }; &dp0_in_vp1 { status = "disabled"; }; &ebc_dev { pmic = <&sy7636a>; status = "okay"; panel,width = <1872>; panel,height = <1404>; panel,vir_width = <1872>; panel,vir_height = <1404>; panel,sdck = <34000000>; panel,lsl = <18>; panel,lbl = <17>; panel,ldl = <234>; panel,lel = <7>; panel,gdck-sta = <34>; panel,lgonl = <192>; panel,fsl = <1>; panel,fbl = <4>; panel,fdl = <1404>; panel,fel = <12>; panel,mirror = <1>; panel,panel_16bit = <1>; panel,panel_color = <0>; panel,width-mm = <157>; panel,height-mm = <210>; }; &gpu { mali-supply = <&vdd_gpu_s0>; status = "okay"; }; &i2c3 { status = "okay"; pinctrl-names = "default"; es8388: es8388@10 { status = "okay"; #sound-dai-cells = <0>; compatible = "everest,es8388", "everest,es8323"; reg = <0x10>; clocks = <&mclkout_sai1>; clock-names = "mclk"; assigned-clocks = <&mclkout_sai1>; assigned-clock-rates = <12288000>; pinctrl-names = "default"; pinctrl-0 = <&sai1m0_mclk>; }; aw882xx_smartpa_0: aw882xx@34 { compatible = "awinic,aw882xx_smartpa"; #sound-dai-cells = <0>; reg = <0x34>; /* reset-gpio = <&pio 89 0x0>; */ /* irq-gpio = <&pio 37 0x0>; */ sound-channel = <0>; /*0:pri_l 1:pri_r 2:sec_l 3:sec_r*/ monitor-mode = "hal_momitor"; aw-re-min = <4000>; aw-re-max= <30000>; /*aw-cali-mode = "none";*/ status = "disabled"; }; aw882xx_smartpa_1: aw882xx@35 { compatible = "awinic,aw882xx_smartpa"; #sound-dai-cells = <0>; reg = <0x35>; /* reset-gpio = <&pio 17 0x0>; */ /* irq-gpio = <&pio 19 0x0>; */ sound-channel = <1>; /*0:pri_l 1:pri_r 2:sec_l 3:sec_r*/ monitor-mode = "hal_momitor"; aw-re-min = <4000>; aw-re-max= <30000>; /*aw-cali-mode = "none";*/ status = "disabled"; }; }; &i2c5 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c5m2_xfer>; led-controller@36 { compatible = "ti,lm3630a"; reg = <0x36>; enable-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&backlight_hwen_h>; pinctrl-names = "default"; /*pwm-names = "lm3630a-pwm";*/ /*pwms = <&pwm0_2ch_1 0 25000 0>;*/ #address-cells = <1>; #size-cells = <0>; led@0 { reg = <0>; label = "backlight"; default-brightness = <150>; }; }; led-controller-warn@38 { compatible = "ti,lm3630a"; reg = <0x38>; /*enable-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;*/ /*pinctrl-0 = <&backlight_hwen_h>;*/ /*pinctrl-names = "default";*/ /*pwm-names = "lm3630a-pwm";*/ /*pwms = <&pwm0_2ch_1 0 25000 0>;*/ #address-cells = <1>; #size-cells = <0>; led@0 { reg = <0>; label = "backlight_warm"; default-brightness = <150>; }; }; wacom: wacom@9 { compatible = "wacom,w9013"; reg = <0x09>; pwr-supply = <&vcc_emr>; pinctrl-names = "default"; pinctrl-0 = <&wacom_gpio>; gpio_detect = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>; gpio_intr = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; gpio_rst = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; revert_x = <1>; revert_y = <1>; xy_exchange = <0>; }; }; &i2c6 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c6m3_xfer>; sgm41542: sgm41542@3b { compatible = "sgm,sgm41542"; reg = <0x3b>; pinctrl-names = "default"; pinctrl-0 = <&charger_ok>; interrupt-parent = <&gpio0>; interrupts = ; otg-mode-en-gpios = <&gpio2 RK_PD0 GPIO_ACTIVE_HIGH>; input-voltage-limit-microvolt = <4500000>; input-current-limit-microamp = <3000000>; monitored-battery = <&bat>; regulators { vbus5v0_typec: vbus5v0-typec { regulator-compatible = "otg-vbus"; regulator-name = "vbus5v0_typec"; }; }; }; cw221X@64 { compatible = "cellwise,cw221X"; reg = <0x64>; status = "okay"; cw,user_rsense = <2000>; }; hym8563: hym8563@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; clock-frequency = <32768>; clock-output-names = "hym8563"; pinctrl-names = "default"; pinctrl-0 = <&rtc_int>; interrupt-parent = <&gpio0>; interrupts = ; wakeup-source; status = "okay"; }; usbc0: husb311@4e { compatible = "hynetek,husb311"; reg = <0x4e>; interrupt-parent = <&gpio0>; interrupts = ; pinctrl-names = "default"; pinctrl-0 = <&usbc0_int>; vbus-supply = <&vbus5v0_typec>; status = "okay"; port { usbc0_role_sw: endpoint { remote-endpoint = <&usb_drd0_role_switch>; }; }; usb_con: connector { compatible = "usb-c-connector"; label = "USB-C"; data-role = "dual"; power-role = "dual"; try-power-role = "sink"; op-sink-microwatt = <1000000>; sink-pdos = ; source-pdos = ; altmodes { #address-cells = <1>; #size-cells = <0>; altmode@0 { reg = <0>; svid = <0xff01>; vdo = <0xffffffff>; }; }; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; usbc0_orien_sw: endpoint { remote-endpoint = <&usbdp_phy_orientation_switch>; }; }; port@1 { reg = <1>; dp_altmode_mux: endpoint { remote-endpoint = <&usbdp_phy_dp_altmode_mux>; }; }; }; }; }; }; &i2c7 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c7m2_xfer>; fp9931: fp9931@18 { compatible = "fitipower,fp9931-pmic"; reg = <0x18>; status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&fp9931_default>; /* fp9931 EN_TS(pin15) and external power control pin */ power-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>, <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>; /* fp9931 EN(pin16) */ enable-gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>; thermal-zone = "fp9931-pmic-thermal"; #thermal-sensor-cells = <0>; regulators { compatible = "fp9931-regulator"; fp9931_vcom: vcom { regulator-name = "vcom"; regulator-min-microvolt = <0>; regulator-max-microvolt = <5000000>; regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; }; }; fp9931_vpos_vneg: vpos_vneg { regulator-name = "vpos_vneg"; regulator-init-microvolt = <15060000>; regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; }; }; }; fp9931_thermal: fp9931-thermal { compatible = "fp9931-thermal"; }; }; sy7636a: sy7636a@62 { compatible = "silergy,sy7636a-pmic"; reg = <0x62>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&sy7636a_default>; enable-gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>, <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>; pgood-gpio = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; thermal-zone = "ebcpmic-thermal"; #thermal-sensor-cells = <0>; regulators { compatible = "sy7636a-regulator"; reg_ebcpmic: vcom { regulator-name = "vcom"; regulator-min-microvolt = <0>; regulator-max-microvolt = <5000000>; regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; }; }; }; sy7636a_thermal: sy7636a_thermal { compatible = "sy7636a-thermal"; }; }; }; &i2c8 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c8m2_xfer>; icm42607_acc: icm_acc@68 { status = "okay"; compatible = "icm42607_acc"; reg = <0x68>; irq-gpio = <&gpio0 RK_PC1 IRQ_TYPE_EDGE_RISING>; irq_enable = <0>; poll_delay_ms = <30>; type = ; layout = <6>; }; icm42607_gyro: icm_gyro@68 { status = "okay"; compatible = "icm42607_gyro"; reg = <0x68>; poll_delay_ms = <30>; type = ; layout = <6>; }; }; &i2c9 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c9m2_xfer>; focaltech: focaltech@38 { status = "okay"; compatible = "rockchip,fts_ts"; reg = <0x38>; power-supply = <&vcc_emr>; pinctrl-names = "default"; pinctrl-0 = <&touch_gpio>; t_irq_gpio = <&gpio0 RK_PC5 IRQ_TYPE_LEVEL_LOW>; t_rst_gpio = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; focaltech,display-coords = <0 0 1404 1872>; focaltech,have-key; focaltech,key-number = <1>; focaltech,keys = <158>; focaltech,key-x-coords = <2000>; focaltech,key-y-coords = <2000>; }; tsc@24 { status = "disabled"; compatible = "parade,pt_i2c_adapter"; reg = <0x24>; interrupt-parent = <&gpio0>; interrupts = ; parade,adapter_id = "pt_i2c_adapter"; pinctrl-names = "default"; pinctrl-0 = <&touch_gpio>; parade,core { parade,name = "pt_core"; parade,irq_gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; parade,rst_gpio = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; /*parade,runfw_gpio = <64>;*/ parade,hid_desc_register = <1>; /* * PT_CORE_FLAG_NONE = 0x00 * PT_CORE_FLAG_POWEROFF_ON_SLEEP = 0x02 * PT_CORE_FLAG_RESTORE_PARAMETERS = 0x04 * PT_CORE_FLAG_DEEP_STANDBY = 0x08 * PT_CORE_FLAG_SKIP_SYS_SLEEP = 0x10 * PT_CORE_FLAG_SKIP_RUNTIME = 0x20 * PT_CORE_FLAG_SKIP_RESUME = 0x40 */ parade,flags = <4>; /* PT_CORE_EWG_NONE */ parade,easy_wakeup_gesture = <0>; /* 0:AUTO 1:PIP1_ONLY 2:PIP2_CAPABLE*/ parade,config_dut_generation = <2>; /* 0:False 1:True*/ parade,watchdog_force_stop = <0>; /* * PT_PANEL_ID_DISABLE = 0x00 * PT_PANEL_ID_BY_BL = 0x01 * PT_PANEL_ID_BY_SYS_INFO = 0x02 * PT_PANEL_ID_BY_MFG_DATA = 0x04 */ parade,panel_id_support = <0>; parade,btn_keys = <172 /* KEY_HOMEPAGE */ /* previously was KEY_HOME, new Android versions use KEY_HOMEPAGE */ 139 /* KEY_MENU */ 158 /* KEY_BACK */ 217 /* KEY_SEARCH */ 114 /* KEY_VOLUMEDOWN */ 115 /* KEY_VOLUMEUP */ 212 /* KEY_CAMERA */ 116>; /* KEY_POWER */ parade,btn_keys-tag = <0>; parade,mt { parade,name = "pt_mt"; parade,inp_dev_name = "pt_mt"; /* * PT_MT_FLAG_NONE = 0x00 * PT_MT_FLAG_FLIP = 0x08 * PT_MT_FLAG_INV_X = 0x10 * PT_MT_FLAG_INV_Y = 0x20 * PT_MT_FLAG_VKEYS = 0x40 */ parade,flags = <0x20>; parade,abs = /* ABS_MT_POSITION_X, PT_ABS_MIN_X, PT_ABS_MAX_X, 0, 0 */ <0x35 0 880 0 0 /* ABS_MT_POSITION_Y, PT_ABS_MIN_Y, PT_ABS_MAX_Y, 0, 0 */ 0x36 0 1280 0 0 /* ABS_MT_PRESSURE, PT_ABS_MIN_P, PT_ABS_MAX_P, 0, 0 */ 0x3a 0 255 0 0 /* PT_IGNORE_VALUE, PT_ABS_MIN_W, PT_ABS_MAX_W, 0, 0 */ 0xffff 0 255 0 0 /* ABS_MT_TRACKING_ID, PT_ABS_MIN_T, PT_ABS_MAX_T, 0, 0 */ 0x39 0 15 0 0 /* ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0 */ 0x30 0 255 0 0 /* ABS_MT_TOUCH_MINOR, 0, 255, 0, 0 */ 0x31 0 255 0 0 /* ABS_MT_ORIENTATION, -127, 127, 0, 0 */ 0x34 0xffffff81 127 0 0 /* ABS_MT_TOOL_TYPE, 0, MT_TOOL_MAX, 0, 0 */ 0x37 0 1 0 0 /* ABS_DISTANCE, 0, 255, 0, 0 */ 0x19 0 255 0 0>; parade,vkeys_x = <720>; parade,vkeys_y = <1280>; parade,virtual_keys = /* KeyCode CenterX CenterY Width Height */ /* KEY_BACK */ <158 90 1360 160 180 /* KEY_MENU */ 139 270 1360 160 180 /* KEY_HOMEPAGE */ 172 450 1360 160 180 /* KEY SEARCH */ 217 630 1360 160 180>; }; }; }; }; &iep { status = "okay"; }; &iep_mmu { status = "okay"; }; &jpegd { status = "okay"; }; &jpege { status = "okay"; }; &jpeg_mmu { status = "okay"; }; &mipidcphy0 { status = "okay"; }; &mpp_srv { status = "okay"; }; &pcie0 { reset-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; rockchip,skip-scan-in-resume; rockchip,s2r-perst-inactive-ms = <1>; pinctrl-names = "default"; pinctrl-0 = <&wifi_poweren_gpio>; status = "okay"; }; &pinctrl { backlight { backlight_hwen_h: backlight-hwen-h { rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; }; }; camera { vcc_cam_en: vcc-cam-en { rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; }; }; charger { charger_ok: charger_ok { rockchip,pins = <0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>, <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; }; }; fp9931 { fp9931_default: fp9931-default { rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>, <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>, <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; }; }; hall { mh248_irq_gpio: mh248-irq-gpio { rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; }; }; led { leds_gpio: leds-gpio { rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>, <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>; }; }; rtc { rtc_int: rtc-int { rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; }; }; sy7636a { sy7636a_default: sy7636a_default { rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, <2 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>, <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; }; }; touch { touch_gpio: touch-gpio { rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>, <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; }; }; touch-pen { wacom_gpio: wacom-gpio { rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>, <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>, <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; }; vcc_emr_en: vcc-emr-en { rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; }; }; usb { usbc0_int: usbc0-int { rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>; }; }; wireless-bluetooth { uart4_gpios: uart4-gpios { rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; }; }; wireless-wlan { wifi_host_wake_irq: wifi-host-wake-irq { rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; }; wifi_poweren_gpio: wifi-poweren-gpio { rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; }; }; }; &rga2_core0 { status = "okay"; }; &rga2_core0_mmu { status = "okay"; }; &rga2_core1 { status = "okay"; }; &rga2_core1_mmu { status = "okay"; }; &rknpu { rknpu-supply = <&vdd_npu_s0>; status = "okay"; }; &rknpu_mmu { status = "okay"; }; &rkvenc_ccu { status = "okay"; }; &rkvenc0 { status = "okay"; }; &rkvenc0_mmu { status = "okay"; }; &rkvenc1 { status = "okay"; }; &rkvenc1_mmu { status = "okay"; }; &rkvdec { status = "okay"; }; &rkvdec_mmu { status = "okay"; }; &sai1 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&sai1m0_lrck &sai1m0_sclk &sai1m0_sdi0 &sai1m0_sdo0>; }; &sai2 { status = "okay"; }; &sdhci { bus-width = <8>; no-sdio; no-sd; non-removable; max-frequency = <200000000>; mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; full-pwr-cycle-in-suspend; status = "okay"; }; &sdmmc { max-frequency = <200000000>; no-sdio; no-mmc; bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; disable-wp; sd-uhs-sdr104; vqmmc-supply = <&vccio_sd_s0>; status = "okay"; }; &thermal_zones { ebcpmic_thermal: ebcpmic-thermal { polling-delay = <0>; polling-delay-passive = <0>; thermal-sensors = <&sy7636a>; trips { sy7636a_dummy_trip: sy7636a-dummy-trip { temperature = <100000>; hysteresis = <0>; type = "hot"; }; }; }; fp9931_pmic_thermal: fp9931-pmic-thermal { polling-delay = <0>; polling-delay-passive = <0>; thermal-sensors = <&fp9931>; trips { fp9931_dummy_trip: fp9931-dummy-trip { temperature = <100000>; hysteresis = <0>; type = "hot"; }; }; }; }; &tsadc { status = "okay"; }; &uart4 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&uart4m1_xfer &uart4m1_ctsn>; }; &ufs { reset-gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_HIGH>; status = "okay"; }; &u2phy0 { status = "okay"; }; &u2phy0_otg { status = "okay"; rockchip,typec-vbus-det; }; &u2phy1 { status = "disabled"; }; &u2phy1_otg { status = "disabled"; }; &usbdp_phy { status = "okay"; orientation-switch; svid = <0xff01>; sbu1-dc-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; sbu2-dc-gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; port { #address-cells = <1>; #size-cells = <0>; usbdp_phy_orientation_switch: endpoint@0 { reg = <0>; remote-endpoint = <&usbc0_orien_sw>; }; usbdp_phy_dp_altmode_mux: endpoint@1 { reg = <1>; remote-endpoint = <&dp_altmode_mux>; }; }; }; &usbdp_phy_dp { status = "okay"; }; &usbdp_phy_u3 { status = "okay"; }; &usb_drd0_dwc3 { status = "okay"; dr_mode = "otg"; usb-role-switch; port { usb_drd0_role_switch: endpoint { remote-endpoint = <&usbc0_role_sw>; }; }; }; &usb_drd1_dwc3 { status = "disabled"; }; &vdpp { status = "okay"; }; &csi2_dphy3 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; mipi_in_ov8865: endpoint@1 { reg = <1>; remote-endpoint = <&ov8865_out0>; data-lanes = <1 2 3 4>; }; }; port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; csidphy3_out: endpoint@0 { reg = <0>; remote-endpoint = <&mipi3_csi2_input>; }; }; }; }; &csi2_dphy0_hw { status = "okay"; }; &csi2_dphy1_hw { status = "okay"; }; &i2c4 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c4m2_xfer>; ov8865: ov8865@36 { compatible = "ovti,ov8865"; reg = <0x36>; status = "okay"; clocks = <&cru CLK_MIPI_CAMERAOUT_M1>; clock-names = "xvclk"; pinctrl-names = "default"; pinctrl-0 = <&cam_clk1m1_clk1>; power-domains = <&power RK3576_PD_VI>; avdd-supply = <&vcc_cam>; dovdd-supply = <&vcc_1v8_cam>; //dvdd-supply = <&vcc1v2_dvp>; pwdn-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "default"; rockchip,camera-module-lens-name = "default"; port { ov8865_out0: endpoint { remote-endpoint = <&mipi_in_ov8865>; data-lanes = <1 2 3 4>; }; }; }; }; &mipi3_csi2 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; mipi3_csi2_input: endpoint@1 { reg = <1>; remote-endpoint = <&csidphy3_out>; }; }; port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; mipi3_csi2_output: endpoint@0 { reg = <0>; remote-endpoint = <&cif_mipi3_in0>; }; }; }; }; &rkcif { status = "okay"; }; &rkcif_mipi_lvds3 { status = "okay"; port { cif_mipi3_in0: endpoint { remote-endpoint = <&mipi3_csi2_output>; }; }; }; &rkcif_mipi_lvds3_sditf { status = "okay"; port { mipi_lvds3_sditf: endpoint { remote-endpoint = <&isp_vir0_in0>; }; }; }; &rkcif_mmu { status = "okay"; }; &rkisp { status = "okay"; }; &rkisp_mmu { status = "okay"; }; &rkisp_vir0 { status = "okay"; port { #address-cells = <1>; #size-cells = <0>; isp_vir0_in0: endpoint@0 { reg = <0>; remote-endpoint = <&mipi_lvds3_sditf>; }; }; };