android13/kernel-5.10/arch/arm/boot/dts/rk3126-bnd-d708.dtsi

705 lines
14 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/sensor-dev.h>
#include "rk3126.dtsi"
#include "rk312x-android.dtsi"
/ {
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <3300000>;
button-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
press-threshold-microvolt = <0>;
};
button-down {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
press-threshold-microvolt = <1650000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm0 0 25000 0>;
brightness-levels = <
255 169 168 168 167 166 166 165
164 164 163 162 162 161 160 160
159 158 158 157 156 156 155 154
154 153 152 152 151 150 150 149
148 148 147 146 146 145 144 144
143 142 142 141 140 140 139 138
138 137 136 136 135 134 134 133
132 132 131 130 130 129 128 128
127 126 126 125 124 124 123 122
122 121 120 120 119 118 118 117
116 116 115 114 114 113 112 112
111 110 110 109 108 108 107 106
106 105 104 104 103 102 102 101
100 100 99 98 98 97 96 96
95 94 94 93 92 92 91 90
90 89 88 88 87 86 86 85
84 84 83 82 82 81 80 80
79 78 78 77 76 76 75 74
74 73 72 72 71 70 70 69
68 68 67 66 66 65 64 64
63 62 62 61 60 60 59 58
58 57 56 56 55 54 54 53
52 52 51 50 50 49 48 48
47 46 46 45 44 44 43 42
42 41 40 40 39 38 38 37
36 36 35 34 34 33 32 32
31 30 30 29 28 28 27 26
26 25 24 24 23 22 22 21
20 20 19 18 18 17 16 16
15 14 14 13 12 12 11 10
10 9 8 8 7 6 6 5
4 4 3 2 1 1 1 0>;
default-brightness-level = <128>;
enable-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
};
charge-animation {
compatible = "rockchip,uboot-charge";
rockchip,uboot-charge-on = <1>;
rockchip,android-charge-on = <0>;
rockchip,uboot-low-power-voltage = <3500>;
rockchip,screen-on-voltage = <3600>;
status = "okay";
};
rockchip_headset {
compatible = "rockchip_headset";
headset_gpio = <&gpio2 18 GPIO_ACTIVE_LOW>;
};
sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,name = "rockchip,rk312x";
simple-audio-card,cpu {
sound-dai = <&i2s_2ch>;
};
simple-audio-card,codec {
sound-dai = <&codec>;
};
};
vccadc_ref: vccadc-ref {
compatible = "regulator-fixed";
regulator-name = "SARADC_AVDD33";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vcc_sys: vcc-sys {
compatible = "regulator-fixed";
regulator-name = "vcc_sys";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <4000000>;
regulator-always-on;
};
xin32k: xin32k {
compatible = "fixed-clock";
clock-frequency = <32768>;
clock-output-names = "xin32k";
#clock-cells = <0>;
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
/* wifi-bt-power-toggle; */
keep_wifi_power_on = <1>;
uart_rts_gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; /* GPIO1_B3 */
pinctrl-names = "default","rts_gpio";
pinctrl-0 = <&uart1_rts>;
pinctrl-1 = <&uart1_rts_gpio>;
BT,reset_gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* GPIO2_B1 */
BT,wake_gpio = <&gpio0 27 GPIO_ACTIVE_HIGH>; /* GPIO0_D3 */
BT,wake_host_irq = <&gpio2 21 GPIO_ACTIVE_LOW>; /* GPIO2_C5 */
status = "okay";
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "rtl8723cs";
WIFI,host_wake_irq = <&gpio2 13 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&codec {
#sound-dai-cells = <0>;
hp-ctl-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
spk-ctl-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
spk-mute-delay = <200>;
hp-mute-delay = <100>;
is_rk3128 = <0>;
spk_volume = <25>;
hp_volume = <25>;
capture_volume = <26>;
gpio_debug = <1>;
codec_hp_det = <0>;
status = "okay";
};
&cif_new {
status = "okay";
ports {
port@0 {
cif_in_fcam: endpoint@0 {
remote-endpoint = <&gc0329_out>;
vsync-active = <1>;
hsync-active = <1>;
};
cif_in_bcam: endpoint@1 {
remote-endpoint = <&gc2145_out>;
vsync-active = <0>;
hsync-active = <1>;
};
};
};
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dsi {
status = "okay";
panel@0 {
compatible = "fc,fy07018dh26d372-d", "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
power-supply = <&ldo6>;
power-invert;
enable-gpios = <&gpio2 RK_PC3 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_LOW>;
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 = <153>;
height-mm = <85>;
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 = [
05 1e 01 01
15 00 02 80 47
15 00 02 81 40
15 00 02 82 04
15 00 02 83 77
15 00 02 84 0f
15 00 02 85 70
15 78 02 86 70
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <49500000>;
hactive = <1024>;
hfront-porch = <120>;
hsync-len = <40>;
hback-porch = <120>;
vactive = <600>;
vfront-porch = <14>;
vsync-len = <4>;
vback-porch = <14>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
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>;
};
};
};
};
&route_dsi {
status = "okay";
};
&dmc {
center-supply = <&vdd_log>;
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
status = "okay";
mali-supply = <&vdd_log>;
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
gc0329@31 {
compatible = "galaxycore,gc0329";
reg = <0x31>;
pinctrl-names = "default";
pinctrl-0 = <&fcam_pd>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc28_cif>;
dovdd-supply = <&vcc18_cif>;
dvdd-supply = <&vcc18_cif>;
pwdn-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "default";
rockchip,camera-module-lens-name = "default";
port {
gc0329_out: endpoint {
remote-endpoint = <&cif_in_fcam>;
};
};
};
gc2145@3c {
compatible = "galaxycore,gc2145";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&bcam_pd>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc28_cif>;
dovdd-supply = <&vcc18_cif>;
dvdd-supply = <&vcc18_cif>;
pwdn-gpios = <&gpio2 RK_PB7 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 {
gc2145_out: endpoint {
remote-endpoint = <&cif_in_bcam>;
};
};
};
ts@40 {
compatible = "gslX680-d708";
reg = <0x40>;
touch-gpio = <&gpio2 20 IRQ_TYPE_LEVEL_LOW>;
wake-gpio = <&gpio2 12 IRQ_TYPE_LEVEL_LOW>;
screen_max_x = <800>;
screen_max_y = <480>;
status = "okay";
};
rk816: pmic@1a {
compatible = "rockchip,rk816";
reg = <0x1a>;
interrupt-parent = <&gpio0>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller;
wakeup-source;
gpio-controller;
#gpio-cells = <2>;
#clock-cells = <1>;
clock-output-names = "rk816-clkout1", "rk816-clkout2";
extcon = <&u2phy>;
vcc1-supply = <&vcc_sys>;
vcc2-supply = <&vcc_sys>;
vcc3-supply = <&vcc_sys>;
vcc4-supply = <&vcc_sys>;
vcc5-supply = <&vcc_io>;
vcc6-supply = <&vcc_sys>;
gpio {
status = "okay";
};
pwrkey {
status = "okay";
};
rtc {
status = "okay";
};
battery {
compatible = "rk816-battery";
ocv_table = < 3500 3625 3685 3697 3718 3735 3748
3760 3774 3788 3802 3816 3834 3853
3877 3908 3946 3975 4018 4071 4106>;
design_capacity = <2500>;
design_qmax = <2750>;
bat_res = <100>;
max_input_current = <1500>;
max_chrg_current = <1300>;
max_chrg_voltage = <4200>;
sleep_enter_current = <300>;
sleep_exit_current = <300>;
sleep_filter_current = <100>;
power_off_thresd = <3500>;
zero_algorithm_vol = <3850>;
max_soc_offset = <60>;
monitor_sec = <5>;
virtual_power = <0>;
power_dc2otg = <0>;
dc_det_adc = <0>;
};
regulators {
vdd_arm: DCDC_REG1{
regulator-name= "vdd_arm";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <1>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <900000>;
};
};
vdd_log: DCDC_REG2 {
regulator-name= "vdd_logic";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <1>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
};
vcc_io: DCDC_REG4 {
regulator-name = "vcc_io";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <1>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc28_cif: LDO_REG1 {
regulator-name = "vcc28_cif";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc18_cif: LDO_REG2 {
regulator-name = "vcc18_cif";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdd_11: LDO_REG3 {
regulator-name = "vdd_11";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1100000>;
};
};
ldo4: LDO_REG4 {
regulator-name= "ldo4";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo5: LDO_REG5 {
regulator-name= "ldo5";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo6: LDO_REG6 {
regulator-name= "ldo6";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
};
};
sensor@4c {
compatible = "gs_mc3230";
reg = <0x4c>;
type = <SENSOR_TYPE_ACCEL>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <3>;
reprobe_en = <1>;
};
};
&i2s_2ch {
#sound-dai-cells = <0>;
status = "okay";
};
&iep {
status = "okay";
};
&iep_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&nandc {
status = "okay";
};
&pinctrl {
camera {
fcam_pd: fcam-pd {
rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};
bcam_pd: bcam-pd {
rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
lcdc {
lcdc_lcdc: lcdc-lcdc {
rockchip,pins =
/* depend on the hardware */
<2 RK_PB0 1 &pcfg_pull_none>, /* DCLK */
/* <2 RK_PB1 1 &pcfg_pull_none>, *//* HSYNC */
/* <2 RK_PB2 1 &pcfg_pull_none>, *//* VSYNC */
<2 RK_PB3 1 &pcfg_pull_none>, /* DEN */
<2 RK_PB4 1 &pcfg_pull_none>, /* DATA10 */
<2 RK_PB5 1 &pcfg_pull_none>, /* DATA11 */
<2 RK_PB6 1 &pcfg_pull_none>, /* DATA12 */
<2 RK_PB7 1 &pcfg_pull_none>, /* DATA13 */
<2 RK_PC0 1 &pcfg_pull_none>, /* DATA14 */
<2 RK_PC1 1 &pcfg_pull_none>, /* DATA15 */
<2 RK_PC2 1 &pcfg_pull_none>, /* DATA16 */
<2 RK_PC3 1 &pcfg_pull_none>; /* DATA17 */
/* <2 RK_PC4 1 &pcfg_pull_none>, *//* DATA18 */
/* <2 RK_PC5 1 &pcfg_pull_none>, *//* DATA19 */
/* <2 RK_PC6 1 &pcfg_pull_none>, *//* DATA20 */
/* <2 RK_PC7 1 &pcfg_pull_none>, *//* DATA21 */
/* <2 RK_PD0 1 &pcfg_pull_none>, *//* DATA22 */
/* <2 RK_PD1 1 &pcfg_pull_none>; *//* DATA23 */
};
};
pmic {
pmic_int_l: pmic-int-l {
rockchip,pins =
<0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>;
};
};
uart1 {
uart1_xfer: uart1-xfer {
rockchip,pins = <1 RK_PB1 2 &pcfg_pull_default>,
<1 RK_PB2 2 &pcfg_pull_default>;
};
};
wireless-bluetooth {
uart1_rts_gpio: uart1-rts-gpio {
rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pwm0 {
status = "okay";
};
&rga {
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vccadc_ref>;
};
&sdmmc {
cap-mmc-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
keep-power-in-suspend;
cd-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; /* CD GPIO */
status = "disabled";
};
&sdio {
max-frequency = <50000000>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
vmmc-supply = <&ldo5>;
status = "okay";
};
&tsadc {
status = "okay";
};
&u2phy {
status = "okay";
u2phy_otg: otg-port {
status = "okay";
};
u2phy_host: host-port {
status = "okay";
};
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&usb_otg {
status = "okay";
};
&vop {
status = "okay";
};
&vop_mmu {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};