android13/kernel-5.10/arch/arm64/boot/dts/rockchip/rk3562-rk817-tablet-v10.dts

1073 lines
23 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd.
*
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/rk-input.h>
#include <dt-bindings/sensor-dev.h>
#include <dt-bindings/display/drm_mipi_dsi.h>
#include "dt-bindings/usb/pd.h"
#include "rk3562.dtsi"
#include "rk3562-android.dtsi"
#include "rk3562-rk817-tablet-camera.dtsi"
/ {
model = "Rockchip RK3562 RK817 TABLET LP4 Board";
compatible = "rockchip,rk3562-rk817-tablet", "rockchip,rk3562";
adc_keys: adc-keys {
compatible = "adc-keys";
io-channels = <&saradc0 1>;
io-channel-names = "buttons";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
vol-up-key {
label = "volume up";
linux,code = <KEY_VOLUMEUP>;
press-threshold-microvolt = <1750>;
};
vol-down-key {
label = "volume down";
linux,code = <KEY_VOLUMEDOWN>;
press-threshold-microvolt = <297500>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm5 0 25000 0>;
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 50 51 52 53 54
55 55 56 57 58 59 60 61
62 63 64 64 65 65 66 67
68 69 70 71 71 72 73 74
75 76 77 78 79 79 80 81
82 83 84 85 86 86 87 88
89 90 91 92 93 94 94 95
96 97 98 99 100 101 101 102
103 104 105 106 107 107 108 109
110 111 112 113 114 115 115 116
117 118 119 120 121 122 123 123
124 125 126 127 128 129 130 130
131 132 133 134 135 136 136 137
138 139 140 141 142 143 143 144
145 146 147 147 148 149 150 151
152 153 154 155 156 156 157 158
159 157 158 159 160 161 162 162
163 164 165 166 167 168 169 169
170 171 172 173 174 175 175 176
177 178 179 180 181 182 182 183
184 185 186 187 188 189 190 190
191 192 193 194 195 196 197 197
198 199 200 201 202 203 204 204
205 206 207 208 209 209 210 211
212 213 213 214 214 215 215 216
216 217 217 218 218 219 219 220
>;
default-brightness-level = <200>;
};
charge-animation {
compatible = "rockchip,uboot-charge";
rockchip,uboot-charge-on = <1>;
rockchip,android-charge-on = <0>;
rockchip,uboot-low-power-voltage = <3350>;
rockchip,screen-on-voltage = <3400>;
status = "okay";
};
rk817-sound {
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip-rk817";
hp-det-gpio = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>;
io-channels = <&saradc0 4>;
io-channel-names = "adc-detect";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
rockchip,format = "i2s";
rockchip,mclk-fs = <256>;
rockchip,cpu = <&sai0>;
rockchip,codec = <&rk817_codec>;
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
play-pause-key {
label = "playpause";
linux,code = <KEY_PLAYPAUSE>;
press-threshold-microvolt = <2000>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&rk817 1>;
clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
post-power-on-delay-ms = <200>;
reset-gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>;
};
vcc_sd: vcc-sd {
compatible = "regulator-gpio";
enable-active-low;
enable-gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
pinctrl-names = "default";
pinctrl-0 = <&vcc_sd_h>;
regulator-name = "vcc_sd";
states = <3300000 0x0
3300000 0x1>;
};
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>;
};
vdd_gpu: vdd-gpu {
compatible = "pwm-regulator";
pwms = <&pwm7 0 5000 1>;
regulator-name = "vdd_gpu";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1100000>;
regulator-init-microvolt = <900000>;
regulator-always-on;
regulator-boot-on;
regulator-settling-time-up-us = <250>;
pwm-supply = <&vcc_sys>;
status = "okay";
};
vdd_npu: vdd-npu {
compatible = "pwm-regulator";
pwms = <&pwm6 0 5000 1>;
regulator-name = "vdd_npu";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1100000>;
regulator-init-microvolt = <900000>;
regulator-always-on;
regulator-boot-on;
regulator-settling-time-up-us = <250>;
pwm-supply = <&vcc_sys>;
status = "okay";
};
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&sys_grf>;
wifi_chip_type = "ap6255";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>;
WIFI,host_wake_irq = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
WIFI,poweren_gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
WIFI,vbat_gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&rk817 1>;
clock-names = "ext_clock";
//wifi-bt-power-toggle;
uart_rts_gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart1m0_rtsn>;
pinctrl-1 = <&uart1_gpios>;
BT,reset_gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&cpu0 {
cpu-supply = <&vdd_cpu>;
};
&bus_soc {
rockchip,soc-bus-table = <0 0x00a000a8 0x7001>,
<1 0x00a000a8 0x7c39>,
<2 0x00a000a8 0x7c39>,
<3 0x00a000a8 0x7c39>,
<4 0x00a000a5 0xb007>,
<5 0x00a000a8 0x7034>,
<6 0x00a000a8 0x7034>,
<7 0x00a000a8 0x7034>,
<8 0x00a000a8 0x7001>;
};
&dfi {
status = "okay";
};
&display_subsystem {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&dsi {
status = "okay";
panel@0 {
compatible = "aoly,sl008pa21y1285-b00", "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
//power-supply=<&vcc_3v3>;
enable-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_enable_gpio>, <&lcd_rst_gpio>;
prepare-delay-ms = <20>;
reset-delay-ms = <20>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <20>;
unprepare-delay-ms = <20>;
width-mm = <135>;
height-mm = <216>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
15 00 02 E0 00
//--- PASSWORD ----//
15 00 02 E1 93
15 00 02 E2 65
15 00 02 E3 F8
15 00 02 80 03
//--- Page1 ----//
15 00 02 E0 01
//Set VCOM
15 00 02 00 00
15 00 02 01 3B
//Set VCOM_Reverse
//15 00 02 03 00
//15 00 02 04 A0
15 00 02 0C 74
//Set Gamma Power, VGMP,VGMN,VGSP,VGSN
15 00 02 17 00
15 00 02 18 AF //VGMP=4.8V
15 00 02 19 00 //VGSP=0.3V
15 00 02 1A 00
15 00 02 1B AF
15 00 02 1C 00
//SETPANEL
15 00 02 35 26 //ASP=0110
//SETPANEL
15 00 02 37 09 //SS=1,BGR=1
//SET RGBCYC
15 00 02 38 04 //JDT=100 column inversion
15 00 02 39 00 //RGB_N_EQ1, 0x12
15 00 02 3A 01 //RGB_N_EQ2, 0x18
15 00 02 3C 78 //SET EQ3 for TE_H
15 00 02 3D FF //SET CHGEN_ON,
15 00 02 3E FF //SET CHGEN_OFF,
15 00 02 3F 7F //SET CHGEN_OFF2,
//Set TCON
15 00 02 40 06 //RSO=800 RGB
15 00 02 41 A0 //LN=640->1280 line
15 00 02 42 81 //SLT
15 00 02 43 14 //VFP=20
15 00 02 44 23 //VBP=24
15 00 02 45 28 //HBP=40
//--- power voltage ----//
15 00 02 55 02 //DCDCM=0001, JD PWR_IC
15 00 02 57 69
15 00 02 59 0A //VCL = -2.9V
15 00 02 5A 2A //VGH = 15V
15 00 02 5B 17 //VGL = -11V
//--- Gamma ----//
15 00 02 5D 7F
15 00 02 5E 6B
15 00 02 5F 5C
15 00 02 60 4F
15 00 02 61 4D
15 00 02 62 3F
15 00 02 63 42
15 00 02 64 2B
15 00 02 65 44
15 00 02 66 43
15 00 02 67 43
15 00 02 68 63
15 00 02 69 52
15 00 02 6A 5A
15 00 02 6B 4F
15 00 02 6C 4E
15 00 02 6D 20
15 00 02 6E 0F
15 00 02 6F 00
15 00 02 70 7F
15 00 02 71 6B
15 00 02 72 5C
15 00 02 73 4F
15 00 02 74 4D
15 00 02 75 3F
15 00 02 76 42
15 00 02 77 2B
15 00 02 78 44
15 00 02 79 43
15 00 02 7A 43
15 00 02 7B 63
15 00 02 7C 52
15 00 02 7D 5A
15 00 02 7E 4F
15 00 02 7F 4E
15 00 02 80 20
15 00 02 81 0F
15 00 02 82 00
//Page2, for GIP
15 00 02 E0 02
//GIP_L Pin mapping
15 00 02 00 02 //STV3 -> STV2
15 00 02 01 02 //Stv3 -> STV2
15 00 02 02 00 //STV4 -> STV0
15 00 02 03 00 //STV4 -> STV0
15 00 02 04 1E //VDS -> VGH
15 00 02 05 1E //VDS -> VGH
15 00 02 06 1F //VSD -> VGL
15 00 02 07 1F //VSD -> VGL
15 00 02 08 1F
15 00 02 09 17 //VDD2 -> FLM
15 00 02 0A 17 //VDD2 -> FLM
15 00 02 0B 37 //VDD1 -> INV_FLM
15 00 02 0C 37 //VDD1 -> INV_FLM
15 00 02 0D 47 //CLK8 -> CLK3
15 00 02 0E 47 //CLK8 -> CLK3
15 00 02 0F 45 //CLK6 -> CLK1
15 00 02 10 45 //CLK6 -> CLK1
15 00 02 11 4B //CLK4 -> CLK7
15 00 02 12 4B //CLK4 -> CLK7
15 00 02 13 49 //CLK2 -> CLK5
15 00 02 14 49 //CLK2 -> CLK5
15 00 02 15 1F //VGL
//GIP_R Pin mapping
15 00 02 16 01 //STV1 -> STV1
15 00 02 17 01 //STV1 -> STV1
15 00 02 18 00 //STV2 -> STV0
15 00 02 19 00 //STV2 -> STV0
15 00 02 1A 1E //VDS -> VGH
15 00 02 1B 1E //VDS -> VGH
15 00 02 1C 1F //VSD -> VGL
15 00 02 1D 1F //VSD -> VGL
15 00 02 1E 1F
15 00 02 1F 17 //VDD2 -> FLM
15 00 02 20 17 //VDD2 -> FLM
15 00 02 21 37 //VDD1 -> INV_FLM
15 00 02 22 37 //VDD1 -> INV_FLM
15 00 02 23 46 //CLK7 -> CLK2
15 00 02 24 46 //CLK7 -> CLK2
15 00 02 25 44 //CLK5 -> CLK0
15 00 02 26 44 //CLK5 -> CLK0
15 00 02 27 4A //CLK3 -> CLK6
15 00 02 28 4A //CLK3 -> CLK6
15 00 02 29 48 //CLK1 -> CLK4
15 00 02 2A 48 //CLK1 -> CLK4
15 00 02 2B 1F //VGL
//GIP_L_GS Pin mapping
15 00 02 2C 01 //STV3 -> STV1
15 00 02 2D 01
15 00 02 2E 00 //STV4 -> STV0
15 00 02 2F 00
15 00 02 30 1F //VDS -> VGL
15 00 02 31 1F
15 00 02 32 1E //VSD -> VGH
15 00 02 33 1E
15 00 02 34 1F //
15 00 02 35 17 //VDD2 -> FLM
15 00 02 36 17
15 00 02 37 37 //VDD1 -> INV_FLM
15 00 02 38 37
15 00 02 39 08 //CLK8 -> CLK4
15 00 02 3A 08
15 00 02 3B 0A //CLK6 -> CLK6
15 00 02 3C 0A
15 00 02 3D 04 //CLK4 -> CLK0
15 00 02 3E 04
15 00 02 3F 06 //CLK2 -> CLK2
15 00 02 40 06
15 00 02 41 1F //VGL
//GIP_R_GS Pin mapping
15 00 02 42 02 //STV1 -> STV2
15 00 02 43 02
15 00 02 44 00 //STV2 -> STV0
15 00 02 45 00
15 00 02 46 1F //VDS -> VGL
15 00 02 47 1F
15 00 02 48 1E //VSD -> VGH
15 00 02 49 1E
15 00 02 4A 1F //
15 00 02 4B 17 //VDD2 -> FLM
15 00 02 4C 17
15 00 02 4D 37 //VDD1 -> INV_FLM
15 00 02 4E 37
15 00 02 4F 09 //CLK7 -> CLK5
15 00 02 50 09
15 00 02 51 0B //CLK5 -> CLK7
15 00 02 52 0B
15 00 02 53 05 //CLK3 -> CLK1
15 00 02 54 05
15 00 02 55 07 //CLK1 -> CLK3
15 00 02 56 07
15 00 02 57 1F //VGL
//GIP Timing
15 00 02 58 40
15 00 02 5B 30 //STV_NUM,STV_S0
15 00 02 5C 16 //STV_S0
15 00 02 5D 34 //STV_W / S1
15 00 02 5E 05 //STV_S2
15 00 02 5F 02 //STV_S3
15 00 02 63 00 //SETV_ON
15 00 02 64 6A //SETV_OFF
15 00 02 67 73
15 00 02 68 1D //CKV_S0
15 00 02 69 08
15 00 02 6A 6A
15 00 02 6B 08 //Dummy clk
15 00 02 6C 00
15 00 02 6D 00
15 00 02 6E 00
15 00 02 6F 88
15 00 02 75 FF
15 00 02 77 DD //VEN_EN=1
15 00 02 78 3F
15 00 02 79 15 //0x0C
15 00 02 7A 17 //VEN_S0
15 00 02 7D 14 //VEN_ON
15 00 02 7E 82 //VEN_OFF
//Page4
15 00 02 E0 04
15 00 02 00 0E
15 00 02 02 B3
15 00 02 09 61
15 00 02 0E 48
//Page0
15 00 02 E0 00
15 00 02 E6 02
15 00 02 E7 0C
05 78 01 11
05 64 01 29
];
panel-exit-sequence = [
05 01 01 28
05 03 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <70000000>;
hactive = <800>;
vactive = <1280>;
hfront-porch = <40>;
hsync-len = <20>;
hback-porch = <20>;
vfront-porch = <20>;
vsync-len = <4>;
vback-porch = <20>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <1>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi_in_vp0 {
status = "okay";
};
&gpu {
mali-supply = <&vdd_gpu>;
status = "okay";
};
&i2c0 {
status = "okay";
rk817: pmic@20 {
compatible = "rockchip,rk817";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_gpio>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <0>;
vcc1-supply = <&vcc_sys>;
vcc2-supply = <&vcc_sys>;
vcc3-supply = <&vcc_sys>;
vcc4-supply = <&vcc_sys>;
vcc5-supply = <&vcc_sys>;
vcc6-supply = <&vcc_sys>;
vcc7-supply = <&vcc_sys>;
vcc8-supply = <&vcc_sys>;
vcc9-supply = <&dcdc_boost>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <900000>;
};
};
vdd_cpu: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_cpu";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v3: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v3";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcca1v8_pmu: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca1v8_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdda_0v9: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda_0v9";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdda0v9_pmu: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda0v9_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <900000>;
};
};
vccio_acodec: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vccio_acodec";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3_pmu: LDO_REG6 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v8: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc_1v8";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc1v2_dvp: LDO_REG8 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-name = "vcc1v2_dvp";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc2v8_dvp: LDO_REG9 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
};
};
dcdc_boost: BOOST {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5400000>;
regulator-name = "boost";
regulator-state-mem {
regulator-off-in-suspend;
};
};
otg_switch: OTG_SWITCH {
regulator-name = "otg_switch";
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
battery {
compatible = "rk817,battery";
ocv_table = <3400 3671 3686 3712 3738 3756 3773
3787 3802 3819 3840 3868 3916 3959
3998 4041 4087 4138 4191 4247 4313>;
design_capacity = <5780>;
design_qmax = <6358>;
bat_res = <100>;
sleep_enter_current = <150>;
sleep_exit_current = <180>;
sleep_filter_current = <100>;
power_off_thresd = <3400>;
zero_algorithm_vol = <3950>;
max_soc_offset = <60>;
monitor_sec = <5>;
sample_res = <10>;
virtual_power = <0>;
};
charger {
compatible = "rk817,charger";
min_input_voltage = <4500>;
max_input_current = <1500>;
max_chrg_current = <2000>;
max_chrg_voltage = <4350>;
chrg_term_mode = <0>;
chrg_finish_cur = <300>;
virtual_power = <0>;
dc_det_adc = <0>;
extcon = <&u2phy>;
gate_function_disable = <1>;
};
rk817_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk817-codec";
clocks = <&mclkout_sai0>;
clock-names = "mclk";
assigned-clocks = <&mclkout_sai0>;
assigned-clock-rates = <12288000>;
pinctrl-names = "default";
pinctrl-0 = <&i2s0m0_mclk>;
hp-volume = <20>;
spk-volume = <25>;
use-ext-amplifier;
spk-ctl-gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
};
&i2c2 {
status = "okay";
ts@40 {
compatible = "GSL,GSL3673_800X1280";
reg = <0x40>;
irq_gpio_number = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
rst_gpio_number = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&tp_gpio>;
};
};
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m1_xfer>;
mpu6500_acc: mpu_acc@68 {
compatible = "mpu6500_acc";
reg = <0x68>;
irq-gpio = <&gpio0 RK_PA7 IRQ_TYPE_EDGE_RISING>;
irq_enable = <0>;
poll_delay_ms = <30>;
type = <SENSOR_TYPE_ACCEL>;
layout = <5>;
};
mpu6500_gyro: mpu_gyro@68 {
compatible = "mpu6500_gyro";
reg = <0x68>;
poll_delay_ms = <30>;
type = <SENSOR_TYPE_GYROSCOPE>;
layout = <5>;
};
};
&jpegd {
status = "okay";
};
&jpegd_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&pinctrl {
tp {
tp_gpio: tp-gpio {
rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_down>,
<0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
headphone {
hp_det: hp-det {
rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
lcd {
lcd_rst_gpio: lcd-rst-gpio {
rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
};
lcd_enable_gpio: lcd-enable-gpio {
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
vcc_sd {
vcc_sd_h: vcc-sd-h {
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wireless-bluetooth {
uart1_gpios: uart1-gpios {
rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pwm5 {
status = "okay";
};
&pwm6 {
status = "okay";
};
&pwm7 {
status = "okay";
};
&rga2 {
status = "okay";
};
&rga2_mmu {
status = "okay";
};
&rkvdec {
status = "okay";
};
&rkvdec_mmu {
status = "okay";
};
&rkvenc {
status = "okay";
};
&rkvenc_mmu {
status = "okay";
};
&route_dsi {
status = "okay";
};
&sai0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2s0m0_lrck
&i2s0m0_sclk
&i2s0m0_sdi0
&i2s0m0_sdo0>;
};
&saradc0 {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&sdhci {
bus-width = <8>;
no-sdio;
no-sd;
non-removable;
max-frequency = <200000000>;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
status = "okay";
};
&sdmmc0 {
max-frequency = <200000000>;
no-sdio;
no-mmc;
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
disable-wp;
sd-uhs-sdr104;
vmmc-supply = <&vcc_sd>;
vqmmc-supply = <&vccio_sd>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
status = "okay";
};
&sdmmc1 {
max-frequency = <200000000>;
no-sd;
no-mmc;
bus-width = <4>;
disable-wp;
cap-sd-highspeed;
cap-sdio-irq;
keep-power-in-suspend;
mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
status = "okay";
};
&u2phy {
status = "okay";
};
&u2phy_otg {
status = "okay";
vbus-supply = <&otg_switch>;
};
&uart1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
};
&usbdrd30 {
status = "okay";
};
&usbdrd_dwc3 {
status = "okay";
dr_mode = "otg";
extcon = <&u2phy>;
maximum-speed = "high-speed";
phys = <&u2phy_otg>;
phy-names = "usb2-phy";
snps,dis_u2_susphy_quirk;
snps,usb2-lpm-disable;
};
&video_phy {
status = "okay";
};
&vop {
status = "okay";
};
&vop_mmu {
status = "okay";
};