Files
android/arch/arm64/boot/dts/mediatek/k85v1_64_6382_cmd.dts
T
threeeye bc1d038eac REVVL 6 Pro kernel bring-up: full working tree snapshot (2026-09-12)
Squashed backup commit (no shallow-clone history issues) of
xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream
commit 9eece662e) plus all fixes applied to get everpal_defconfig building
clean against a modern (GCC 15.2.0) toolchain -- see the previous commit
message on the lineage-23.2 branch (also in this repo history is not
available here since this is a squashed snapshot; full incremental history
lives in the local DL380 checkout and the upstream GitHub remote).

Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
2026-09-12 13:36:46 +00:00

479 lines
10 KiB
Devicetree

/*
* Copyright (C) 2015 MediaTek Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/mt6785-pinfunc.h>
&reserved_memory {
};
/* chosen */
&chosen {
/* fpga may has no lk, we need to specify display info here */
/* fb buffer is reserved using this dts by memory node above */
atag,videolfb-fb_base_l = <0x7e605000>;
atag,videolfb-fb_base_h = <0x0>;
atag,videolfb-islcmfound = <1>;
atag,videolfb-islcm_inited = <0>;
atag,videolfb-fps= <6000>;
atag,videolfb-vramSize= <0x017e8000>;
atag,videolfb-lcmname=
"r66451_fhdp_dsi_cmd_tianma_drv";
};
&i2c2 {
clock-frequency = <400000>;
mtk-usb@60 {
compatible = "mediatek,mtk-usb";
reg = <0x60>;
status = "okay";
};
};
/* 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 */
&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_GPIO23__FUNC_GPIO23>;
slew-rate = <1>;
output-high;
};
};
mtkfb_pins_lcd_bias_enp0: lcd_bias_enp0_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO23__FUNC_GPIO23>;
slew-rate = <1>;
output-low;
};
};
mtkfb_pins_lcd_bias_enn1: lcd_bias_enn1_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO202__FUNC_GPIO202>;
slew-rate = <1>;
output-high;
};
};
mtkfb_pins_lcd_bias_enn0: lcd_bias_enn0_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO202__FUNC_GPIO202>;
slew-rate = <1>;
output-low;
};
};
mtkfb_pins_lcm_rst_out1_gpio: lcm_rst_out1_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO44__FUNC_GPIO44>;
slew-rate = <1>;
output-high;
};
};
mtkfb_pins_lcm_rst_out0_gpio: lcm_rst_out0_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO44__FUNC_GPIO44>;
slew-rate = <1>;
output-low;
};
};
mtkfb_pins_lcm_dsi_te: lcm_dsi_te {
pins_cmd_dat {
pinmux = <PINMUX_GPIO43__FUNC_DSI_TE>;
};
};
mtkfb_pins_6382_rst_out1_gpio: 6382_rst_out1_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO57__FUNC_GPIO57>;
slew-rate = <1>;
output-high;
};
};
mtkfb_pins_6382_rst_out0_gpio: 6382_rst_out0_gpio {
pins_cmd_dat {
pinmux = <PINMUX_GPIO57__FUNC_GPIO57>;
slew-rate = <1>;
output-low;
};
};
};
&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", "6382_rst_out1_gpio", "6382_rst_out0_gpio";
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>;
pinctrl-7 = <&mtkfb_pins_6382_rst_out1_gpio>;
pinctrl-8 = <&mtkfb_pins_6382_rst_out0_gpio>;
status = "okay";
};
/* DISPSYS GPIO standardization end */
&mt6360_pmu {
mt6360,intr_gpio_num = <16>; /* direct defined GPIO num */
mt6360,intr_gpio = <&pio 16 0x0>;
};
&mt6360_typec {
mt6360pd,intr_gpio_num = <7>; /* direct defined GPIO num */
mt6360pd,intr_gpio = <&pio 7 0x0>;
mt6360pd,pcb_gpio = <&pio 5 0x0>;
mt6360pd,pcb_gpio_num = <5>;
mt6360pd,pcb_gpio_polarity = <1>;
};
/* USB SWITCH GPIO start */
&pio {
usb_default: usb_default {
};
gpio_redriver_c1_init: c1_init {
pins_cmd_dat {
pinmux = <PINMUX_GPIO31__FUNC_GPIO31>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c1_low: c1_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO31__FUNC_GPIO31>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c1_hiz: c1_highz {
pins_cmd_dat {
pinmux = <PINMUX_GPIO31__FUNC_GPIO31>;
slew-rate= <0>;
bias-disable;
};
};
gpio_redriver_c1_high: c1_high {
pins_cmd_dat {
pinmux = <PINMUX_GPIO31__FUNC_GPIO31>;
slew-rate = <1>;
output-high;
};
};
gpio_redriver_c2_init: c2_init {
pins_cmd_dat {
pinmux = <PINMUX_GPIO30__FUNC_GPIO30>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c2_low: c2_low {
pins_cmd_dat {
pinmux = <PINMUX_GPIO30__FUNC_GPIO30>;
slew-rate = <1>;
output-low;
};
};
gpio_redriver_c2_hiz: c2_highz {
pins_cmd_dat {
pinmux = <PINMUX_GPIO30__FUNC_GPIO30>;
slew-rate= <0>;
bias-disable;
};
};
gpio_redriver_c2_high: c2_high {
pins_cmd_dat {
pinmux = <PINMUX_GPIO30__FUNC_GPIO30>;
slew-rate = <1>;
output-high;
};
};
gpio_u3_switch_sel1: u3_sw_sel1 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO32__FUNC_GPIO32>;
slew-rate = <1>;
output-low;
};
};
gpio_u3_switch_sel2: u3_sw_sel2 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO32__FUNC_GPIO32>;
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 = <32>;
sel_pin_val = <1>;
c1_pin_num = <31>;
c1_pin_val = <2>;
c2_pin_num = <30>;
c2_pin_val = <1>;
};
};
/* USB SWITCH GPIO end */
/* CONSYS GPIO standardization */
&pio {
consys_pins_default: consys_default {
};
gpslna_pins_init: gpslna@0 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
slew-rate = <0>;
bias-disable;
output-low;
};
};
gpslna_pins_oh: gpslna@1 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
slew-rate = <1>;
output-high;
};
};
gpslna_pins_ol: gpslna@2 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
slew-rate = <1>;
output-low;
};
};
};
&consys {
pinctrl-names = "default", "gps_lna_state_init",
"gps_lna_state_oh", "gps_lna_state_ol";
pinctrl-0 = <&consys_pins_default>;
pinctrl-1 = <&gpslna_pins_init>;
pinctrl-2 = <&gpslna_pins_oh>;
pinctrl-3 = <&gpslna_pins_ol>;
status = "okay";
};
/* CONSYS end */
/* CAMERA specify sensor */
&kd_camera_hw1 {
cam2_enable_sensor = "imx350_mipi_raw imx386_mipi_mono";
};
/* CAMERA specify sensor 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@gpio26 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO26__FUNC_GPIO26>;
slew-rate = <1>;
bias-disable;
output-low;
input-schmitt-enable = <0>;
};
};
irtx_gpio_led_set:irtx_gpio_led_set@gpio26 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO26__FUNC_PWM_0>;
slew-rate = <1>;
output-high;
};
};
}; /* IRTX GPIO Settings -End */
&spi2 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&spislv_pins_default>;
spislv@0 {
compatible = "mediatek,spi_slave";
reg = <0>;
spi-max-frequency = <55000000>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <1>;
low-speed-tick-delay = /bits/ 8 <1>;
low-speed-early-trans = /bits/ 8 <0>;
high-speed-tick-delay = /bits/ 8 <2>;
high-speed-early-trans = /bits/ 8 <1>;
slave-drive-strength = /bits/ 8 <3>;
};
};
&pio {
spislv_pins_default: spislv_mode_default {
pins_cmd_dat {
pinmux = <PINMUX_GPIO63__FUNC_SPI2_MI>,
<PINMUX_GPIO65__FUNC_SPI2_MO>,
<PINMUX_GPIO66__FUNC_SPI2_CLK>,
<PINMUX_GPIO64__FUNC_SPI2_CSB>;
drive-strength = <3>;
};
};
};
#include <k85v1_64_6382_cmd/cust.dtsi>
#include "mediatek/cust_mt6785_camera.dtsi"
#include "mediatek/cust_mt6785_touch_1080x2340.dtsi"
/*End of this file, DO NOT ADD ANYTHING HERE*/