unplugged-kernel/arch/arm64/boot/dts/mediatek/k6893v1_64_k419.dts

622 lines
13 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2019 MediaTek Inc.
*
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/pinctrl/mt6885-pinfunc.h>
&reserved_memory {
};
/* chosen */
&chosen {
atag,videolfb-fb_base_l = <0x7e020000>;
atag,videolfb-fb_base_h = <0x0>;
atag,videolfb-islcmfound = <1>;
atag,videolfb-islcm_inited = <0>;
atag,videolfb-fps= <6000>;
atag,videolfb-vramSize= <0x1be0000>;
atag,videolfb-lcmname=
"nt35595_fhd_dsi_cmd_truly_nt50358_drv";
};
&odm {
led0:led@0 {
compatible = "mediatek,red";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led1:led@1 {
compatible = "mediatek,green";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led2:led@2 {
compatible = "mediatek,blue";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led3:led@3 {
compatible = "mediatek,jogball-backlight";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led4:led@4 {
compatible = "mediatek,keyboard-backlight";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led5:led@5 {
compatible = "mediatek,button-backlight";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led6:led@6 {
compatible = "mediatek,lcd-backlight";
led_mode = <5>;
data = <1>;
pwm_config = <0 1 0 0 0>;
};
vibrator0:vibrator@0 {
compatible = "mediatek,vibrator";
vib_timer = <25>;
vib_limit = <9>;
vib_vol= <9>;
};
usb_c_pinctrl:usb_c_pinctrl {
compatible = "mediatek,usb_c_pinctrl";
};
};
/* DISPSYS GPIO standardization */
&pio {
mtkfb_pins_lcd_bias_enp1: lcd_bias_enp1_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO28__FUNC_GPIO28>;
slew-rate = <1>;
output-high;
};
};
mtkfb_pins_lcd_bias_enp0: lcd_bias_enp0_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO28__FUNC_GPIO28>;
slew-rate = <1>;
output-low;
};
};
mtkfb_pins_lcd_bias_enn1: lcd_bias_enn1_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO29__FUNC_GPIO29>;
slew-rate = <1>;
output-high;
};
};
mtkfb_pins_lcd_bias_enn0: lcd_bias_enn0_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO29__FUNC_GPIO29>;
slew-rate = <1>;
output-low;
};
};
mtkfb_pins_lcm_rst_out1_gpio: lcm_rst_out1_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO42__FUNC_GPIO42>;
slew-rate = <1>;
output-high;
};
};
mtkfb_pins_lcm_rst_out0_gpio: lcm_rst_out0_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO42__FUNC_GPIO42>;
slew-rate = <1>;
output-low;
};
};
mtkfb_pins_lcm_dsi_te: lcm_dsi_te {
pins_cmd_dat {
pinmux = <PINMUX_GPIO41__FUNC_DSI_TE>;
};
};
};
&mtkfb {
pinctrl-names = "lcd_bias_enp1_gpio", "lcd_bias_enp0_gpio",
"lcd_bias_enn1_gpio", "lcd_bias_enn0_gpio",
"lcm_rst_out1_gpio", "lcm_rst_out0_gpio",
"mode_te_te";
pinctrl-0 = <&mtkfb_pins_lcd_bias_enp1>;
pinctrl-1 = <&mtkfb_pins_lcd_bias_enp0>;
pinctrl-2 = <&mtkfb_pins_lcd_bias_enn1>;
pinctrl-3 = <&mtkfb_pins_lcd_bias_enn0>;
pinctrl-4 = <&mtkfb_pins_lcm_rst_out1_gpio>;
pinctrl-5 = <&mtkfb_pins_lcm_rst_out0_gpio>;
pinctrl-6 = <&mtkfb_pins_lcm_dsi_te>;
status = "okay";
};
&dispsys_config {
pinctrl-names =
"lcm_rst_out1_gpio", "lcm_rst_out0_gpio",
"mode_te_te";
pinctrl-0 = <&mtkfb_pins_lcm_rst_out1_gpio>;
pinctrl-1 = <&mtkfb_pins_lcm_rst_out0_gpio>;
pinctrl-2 = <&mtkfb_pins_lcm_dsi_te>;
status = "okay";
};
/* DISPSYS GPIO standardization end */
/* accdet start */
&accdet {
/* accdet micbias voltage: 0x09:2.85v 0x08:2.8v 0x07,
* 2.7v;0x05,2.5v;0x02,1.9v
*/
accdet-mic-vol = <8>;
/* accdet pwm_width, pwm_thresh, fall_delay, rise_delay
* debounce0, debounce1, debounce3, debounce4
* eint pwm_width, eint pwm_thresh
* eint deb(debounce0, debounce1, debounce2, debounce3), inv_debounce
*/
headset-mode-setting = <0x500 0x500 1 0x1f0
0x800 0x800 0x20 0x44
0x4 0x1
0x5 0x3 0x3 0x5 0xe>;
accdet-plugout-debounce = <1>;
/*1:ACC mode, 2:low cost without in bias, 6:low cost with in bias*/
accdet-mic-mode = <2>;
/*0--MD_MAX--UP_MAX--DW_MAX*/
headset-three-key-threshold = <0 80 220 400>;
headset-three-key-threshold-CDD = <0 121 192 600>;
/*0--MD_MAX--VOICE_MAX--UP_MAX--DW_MAX*/
headset-four-key-threshold = <0 58 121 192 400>;
/* select VTH to 2v and 500k, use internal resitance */
eint_use_ext_res = <0>;
status = "okay";
};
/* accdet end */
/* IRTX GPIO Start */
&irtx_pwm {
pinctrl-names = "irtx_gpio_led_default", "irtx_gpio_led_set";
pinctrl-0 = <&irtx_gpio_led_default>;
pinctrl-1 = <&irtx_gpio_led_set>;
status = "okay";
};
&pio {
/* IRTX GPIO Settings -Start */
/* default: GPIO0, output, high */
irtx_gpio_led_default:irtx_gpio_led_def@gpio127 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO127__FUNC_GPIO127>;
slew-rate = <1>;
bias-disable;
output-low;
input-schmitt-enable = <0>;
};
};
irtx_gpio_led_set:irtx_gpio_led_set@gpio127 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO127__FUNC_PWM_3>;
slew-rate = <1>;
output-high;
};
};
}; /* IRTX GPIO Settings -End */
/* FINGERPRINT start */
&spi1 {
#address-cells = <1>;
#size-cells = <0>;
tee-only;
fingerprint@0 {
compatible = "goodix,goodix-fp";
reg = <0>;
spi-max-frequency = <8000000>;
netlink-event = <30>;
vfp-supply = <&mt_pmic_vfp_ldo_reg>;
power-type = <1>;
status = "okay";
};
};
&goodix_fp {
pinctrl-names = "default", "reset_high", "reset_low", "eint_init";
pinctrl-0 = <&fingerprint_default>;
pinctrl-1 = <&fingerprint_reset_high>;
pinctrl-2 = <&fingerprint_reset_low>;
pinctrl-3 = <&fingerprint_eint_init>;
interrupt-parent = <&pio>;
interrupts = <15 IRQ_TYPE_EDGE_RISING 15 0>;
status = "okay";
};
&pio {
fingerprint_default: state_default {
};
fingerprint_reset_high: state_reset_high {
pins_cmd_dat {
pinmux = <PINMUX_GPIO14__FUNC_GPIO14>;
slew-rate = <1>;
output-high;
};
};
fingerprint_reset_low: state_reset_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO14__FUNC_GPIO14>;
slew-rate = <1>;
output-low;
};
};
fingerprint_eint_init: state_eint_init {
pins_cmd_dat {
pinmux = <PINMUX_GPIO15__FUNC_GPIO15>;
slew-rate = <0>;
bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
input-schmitt-enable;
};
};
};
/* FINGERPRINT end */
&mt6360_pmu {
mt6360,intr_gpio_num = <24>; // direct defined GPIO num //
mt6360,intr_gpio = <&pio 24 0x0>;
};
&mt6360_pmic {
pwr_off_seq = [04 00 02 02];
};
&mt6360_typec {
mt6360pd,intr_gpio_num = <25>; /* direct defined GPIO num */
mt6360pd,intr_gpio = <&pio 25 0x0>;
};
/* USB SWITCH GPIO start */
&pio {
usb_default: usb_default {
};
gpio_redriver_c1_init: redriver_c1_init {
pins_cmd_dat {
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c1_low: redriver_c1_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c1_hiz: redriver_c1_highz {
pins_cmd_dat {
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
slew-rate= <0>;
bias-disable;
};
};
gpio_redriver_c1_high: redriver_c1_high {
pins_cmd_dat {
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
slew-rate = <1>;
output-high;
};
};
gpio_redriver_c2_init: redriver_c2_init {
pins_cmd_dat {
pinmux = <PINMUX_GPIO112__FUNC_GPIO112>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c2_low: redriver_c2_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO112__FUNC_GPIO112>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c2_hiz: redriver_c2_highz {
pins_cmd_dat {
pinmux = <PINMUX_GPIO112__FUNC_GPIO112>;
slew-rate= <0>;
bias-disable;
};
};
gpio_redriver_c2_high: redriver_c2_high {
pins_cmd_dat {
pinmux = <PINMUX_GPIO112__FUNC_GPIO112>;
slew-rate = <1>;
output-high;
};
};
gpio_u3_switch_sel1: u3_sw_sel1 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO111__FUNC_GPIO111>;
slew-rate = <1>;
output-low;
};
};
gpio_u3_switch_sel2: u3_sw_sel2 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO111__FUNC_GPIO111>;
slew-rate = <1>;
output-high;
};
};
gpio_u3_switch_enable: u3_sw_en {
};
gpio_u3_switch_disable: u3_sw_dis {
};
};
&usb_c_pinctrl {
pinctrl-names = "usb_default",
"redrv_c1_init",
"redrv_c1_low",
"redrv_c1_hiz",
"redrv_c1_high",
"redrv_c2_init",
"redrv_c2_low",
"redrv_c2_hiz",
"redrv_c2_high",
"switch_sel1",
"switch_sel2",
"switch_enable",
"switch_disable";
pinctrl-0 = <&usb_default>;
pinctrl-1 = <&gpio_redriver_c1_init>;
pinctrl-2 = <&gpio_redriver_c1_low>;
pinctrl-3 = <&gpio_redriver_c1_hiz>;
pinctrl-4 = <&gpio_redriver_c1_high>;
pinctrl-5 = <&gpio_redriver_c2_init>;
pinctrl-6 = <&gpio_redriver_c2_low>;
pinctrl-7 = <&gpio_redriver_c2_hiz>;
pinctrl-8 = <&gpio_redriver_c2_high>;
pinctrl-9 = <&gpio_u3_switch_sel1>;
pinctrl-10 = <&gpio_u3_switch_sel2>;
pinctrl-11 = <&gpio_u3_switch_enable>;
pinctrl-12 = <&gpio_u3_switch_disable>;
status = "okay";
usb_switch-data {
en_pin_num = <0>;
en_pin_val = <0>;
sel_pin_num = <111>;
sel_pin_val = <1>;
c1_pin_num = <113>;
c1_pin_val = <2>;
c2_pin_num = <112>;
c2_pin_val = <1>;
};
};
/* USB SWITCH GPIO end */
/* GPS GPIO standardization start */
&pio {
gps_pins_default: gps_default {
};
gps_l1_lna_pins_ol: gps_l1_lna@0 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO162__FUNC_GPIO162>;
output-low;
};
};
gps_l1_lna_pins_dsp_ctrl: gps_l1_lna@1 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO162__FUNC_GPS_L1_ELNA_EN>;
};
};
gps_l1_lna_pins_oh: gps_l1_lna@2 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO162__FUNC_GPIO162>;
output-high;
};
};
gps_l5_lna_pins_ol: gps_l5_lna@0 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO163__FUNC_GPIO163>;
output-low;
};
};
gps_l5_lna_pins_dsp_ctrl: gps_l5_lna@1 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO163__FUNC_GPS_L5_ELNA_EN>;
};
};
gps_l5_lna_pins_oh: gps_l5_lna@2 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO163__FUNC_GPIO163>;
output-high;
};
};
};
&gps {
pinctrl-names = "default",
"gps_l1_lna_disable",
"gps_l1_lna_dsp_ctrl",
"gps_l1_lna_enable",
"gps_l5_lna_disable",
"gps_l5_lna_dsp_ctrl",
"gps_l5_lna_enable";
pinctrl-0 = <&gps_pins_default>;
pinctrl-1 = <&gps_l1_lna_pins_ol>;
pinctrl-2 = <&gps_l1_lna_pins_dsp_ctrl>;
pinctrl-3 = <&gps_l1_lna_pins_oh>;
pinctrl-4 = <&gps_l5_lna_pins_ol>;
pinctrl-5 = <&gps_l5_lna_pins_dsp_ctrl>;
pinctrl-6 = <&gps_l5_lna_pins_oh>;
status = "okay";
};
/* GPS GPIO standardization end */
&dsi0 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
panel1@0 {
compatible = "truly,td4330,vdo";
reg = <0>;
pm-enable-gpios = <&pio 41 0>;
reset-gpios = <&pio 42 0>;
bias-gpios = <&pio 28 0>,
<&pio 29 0>;
pinctrl-names = "default";
port {
panel_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
panel2@0 {
compatible = "truly,ft8756,vdo";
reg = <1>;
pm-enable-gpios = <&pio 41 0>;
reset-gpios = <&pio 42 0>;
bias-gpios = <&pio 28 0>,
<&pio 29 0>;
pinctrl-names = "default";
port {
panel_in2: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
ports {
port {
dsi_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
/* CAMERA specify sensor */
&kd_camera_hw1 {
cam2_enable_sensor = "s5k3m5sx_mipi_raw s5kjd1_mipi_raw";
cam4_enable_sensor = "imx481_mipi_raw";
};
/* CAMERA specify sensor end */
/* usb typec mux */
&pio {
c1_active: c1_high {
pins_cmd_dat {
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
output-high;
};
};
c2_active: c2_highz {
pins_cmd_dat {
pinmux = <PINMUX_GPIO112__FUNC_GPIO112>;
input-enable;
bias-disable;
};
};
c1_sleep: c1_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
output-low;
};
};
c2_sleep: c2_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO112__FUNC_GPIO112>;
output-low;
};
};
sel_up: sel_high {
pins_cmd_dat {
pinmux = <PINMUX_GPIO111__FUNC_GPIO111>;
output-high;
};
};
sel_down: sel_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO111__FUNC_GPIO111>;
output-low;
};
};
sw_enable: sw_enable {
pins_cmd_dat {
pinmux = <PINMUX_GPIO110__FUNC_GPIO110>;
output-low;
};
};
sw_disable: sw_disable {
pins_cmd_dat {
pinmux = <PINMUX_GPIO110__FUNC_GPIO110>;
output-low;
};
};
};
&ptn36241g {
pinctrl-names = "c1_active", "c1_sleep",
"c2_active", "c2_sleep";
pinctrl-0 = <&c1_active>;
pinctrl-1 = <&c1_sleep>;
pinctrl-2 = <&c2_active>;
pinctrl-3 = <&c2_sleep>;
status = "okay";
};
&fusb304 {
pinctrl-names = "sel_up", "sel_down",
"enable", "disable";
pinctrl-0 = <&sel_up>;
pinctrl-1 = <&sel_down>;
pinctrl-2 = <&sw_enable>;
pinctrl-3 = <&sw_disable>;
status = "okay";
};
#include "mediatek/cust_mt6893_touch.dtsi"
#include "mediatek/cust_mt6885_camera.dtsi"
#include <k6893v1_64_k419/cust.dtsi>
/*End of this file, DO NOT ADD ANYTHING HERE*/