1215 lines
24 KiB
Plaintext
1215 lines
24 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright (c) 2024 Rockchip Electronics Co., Ltd.
|
|
*
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/pwm/pwm.h>
|
|
#include <dt-bindings/pinctrl/rockchip.h>
|
|
#include <dt-bindings/input/rk-input.h>
|
|
#include <dt-bindings/display/drm_mipi_dsi.h>
|
|
#include <dt-bindings/display/rockchip_vop.h>
|
|
#include <dt-bindings/sensor-dev.h>
|
|
#include <dt-bindings/usb/pd.h>
|
|
#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 = <RK_PD2 IRQ_TYPE_EDGE_FALLING>;
|
|
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 = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
|
|
wakeup-source;
|
|
status = "okay";
|
|
};
|
|
|
|
usbc0: husb311@4e {
|
|
compatible = "hynetek,husb311";
|
|
reg = <0x4e>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <RK_PD1 IRQ_TYPE_LEVEL_LOW>;
|
|
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 =
|
|
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
|
|
PDO_FIXED(9000, 3000, PDO_FIXED_USB_COMM)
|
|
PDO_FIXED(12000, 3000, PDO_FIXED_USB_COMM)>;
|
|
source-pdos =
|
|
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
|
|
|
|
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 = <SENSOR_TYPE_ACCEL>;
|
|
layout = <6>;
|
|
};
|
|
|
|
icm42607_gyro: icm_gyro@68 {
|
|
status = "okay";
|
|
compatible = "icm42607_gyro";
|
|
reg = <0x68>;
|
|
poll_delay_ms = <30>;
|
|
type = <SENSOR_TYPE_GYROSCOPE>;
|
|
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 = <RK_PC5 IRQ_TYPE_LEVEL_LOW>;
|
|
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>;
|
|
};
|
|
};
|
|
};
|