// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (c) 2019 MediaTek Inc. * */ #include #include #include #include #include /dts-v1/; /plugin/; /* 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_h = <0x0>; atag,videolfb-fb_base_l = <0x5e605000>; atag,videolfb-islcmfound = <1>; /* because no lk, so lcm is not inited */ atag,videolfb-islcm_inited = <0>; atag,videolfb-fps= <6000>; atag,videolfb-vramSize= <0x017bb000>; atag,videolfb-lcmname= "nt35521_hd_dsi_vdo_truly_rt5081_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 3 0 0 0>; }; vibrator0:vibrator@0 { compatible = "mediatek,vibrator"; vib_timer = <25>; vib_limit = <9>; vib_vol= <11>; }; fingerprint:fingerprint { compatible = "mediatek,mt6753-fingerprint"; interrupt-parent = <&pio>; interrupts = <8 1 8 0>; debounce = <8 0>; pinctrl-names ="fingerprint_default", "fingerprint_pin_irq", "fingerprint_eint_pull_down", "fingerprint_reset_high", "fingerprint_reset_low", "fingerprint_power_high", "fingerprint_power_low"; pinctrl-0 = <&fingerprint_default>; pinctrl-1 = <&fingerprint_eint>; pinctrl-2 = <&fingerprint_eint_pull_down>; pinctrl-3 = <&fingerprint_rst_one>; pinctrl-4 = <&fingerprint_rst_zero>; status = "okay"; }; }; &spi0 { fingerprint@0 { compatible = "sunwave-fp"; reg = <0>; spi-max-frequency = <8000000>; status = "okay"; }; }; &pio { fingerprint_default: fingerprint_default { }; fingerprint_eint: gpio8_eint { pins_cmd_dat { pinmux = ; slew-rate = <0>; bias-disable; }; }; fingerprint_eint_pull_down: gpio8_eint_pull_down { pins_cmd_dat { pinmux = ; slew-rate = <0>; bias-pull-down = <00>; output-low; }; }; fingerprint_rst_one: rst_out_one { pins_cmd_dat { pinmux = ; slew-rate = <1>; bias-disable; output-high; }; }; fingerprint_rst_zero: rst_out_zero { pins_cmd_dat { pinmux = ; slew-rate = <1>; bias-disable; output-low; }; }; }; &i2c2 { #address-cells = <1>; #size-cells = <0>; clock-frequency = <400000>; mtk-usb@60 { compatible = "mediatek,mtk-usb"; reg = <0x60>; status = "okay"; }; }; &i2c3 { ext_buck_lp4@57 { regulator-name ="ext_buck_vdd2"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1300000>; vsel_pin = <0>; }; ext_buck_lp4x@50 { regulator-name ="ext_buck_vddq"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1300000>; vsel_pin = <1>; }; }; &i2c6 { ext_buck_vgpu@55 { regulator-name ="ext_buck_vgpu"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <1300000>; vsel_pin = <2>; }; }; &pio { mtkfb_pins_lcm_reset0: lcm_rst_out0_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; mtkfb_pins_lcm_reset1: lcm_rst_out1_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; mtkfb_pins_lcd_bias_enp0: lcd_bias_enp0_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; mtkfb_pins_lcd_bias_enp1: lcd_bias_enp1_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; mtkfb_pins_lcd_bias_enn0: lcd_bias_enn0_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; mtkfb_pins_lcd_bias_enn1: lcd_bias_enn1_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; mtkfb_pins_default: dispdefault { }; }; &mtkfb { pinctrl-names = "dispdefault", "lcm_rst_out0_gpio", "lcm_rst_out1_gpio", "lcd_bias_enp0_gpio", "lcd_bias_enp1_gpio", "lcd_bias_enn0_gpio", "lcd_bias_enn1_gpio"; pinctrl-0 = <&mtkfb_pins_default>; pinctrl-1 = <&mtkfb_pins_lcm_reset0>; pinctrl-2 = <&mtkfb_pins_lcm_reset1>; pinctrl-3 = <&mtkfb_pins_lcd_bias_enp0>; pinctrl-4 = <&mtkfb_pins_lcd_bias_enp1>; pinctrl-5 = <&mtkfb_pins_lcd_bias_enn0>; pinctrl-6 = <&mtkfb_pins_lcd_bias_enn1>; status = "okay"; }; &mtk_gauge { charger = <&mtk_charger_type>; }; &charger { charger = <&mtk_charger_type>; }; &mtk_charger_type { bc12_active = <1>; }; &i2c5 { bq25601:bq25601@D6{ compatible = "mediatek,bq25601"; reg = <0x6B>; status = "okay"; }; }; /* TOUCH start */ &i2c0 { pinctrl-names = "default", "state_eint_as_int", "state_eint_output0", "state_eint_output1", "state_rst_output0", "state_rst_output1"; pinctrl-0 = <&ctp_pins_default>; pinctrl-1 = <&ctp_pins_eint_as_int>; pinctrl-2 = <&ctp_pins_eint_output0>; pinctrl-3 = <&ctp_pins_eint_output1>; pinctrl-4 = <&ctp_pins_rst_output0>; pinctrl-5 = <&ctp_pins_rst_output1>; }; &touch { tpd-resolution = <720 1500>; use-tpd-button = <1>; tpd-key-num = <3>; tpd-key-local= <139 172 158 0>; tpd-key-dim-local = <90 883 100 40 230 883 100 40 370 883 100 40 0 0 0 0>; tpd-max-touch-num = <5>; tpd-filter-enable = <0>; tpd-filter-pixel-density = <146>; tpd-filter-custom-prameters = <0 0 0 0 0 0 0 0 0 0 0 0>; tpd-filter-custom-speed = <0 0 0>; pinctrl-names = "default", "state_eint_as_int", "state_eint_output0", "state_eint_output1", "state_rst_output0", "state_rst_output1"; pinctrl-0 = <&ctp_pins_default>; pinctrl-1 = <&ctp_pins_eint_as_int>; pinctrl-2 = <&ctp_pins_eint_output0>; pinctrl-3 = <&ctp_pins_eint_output1>; pinctrl-4 = <&ctp_pins_rst_output0>; pinctrl-5 = <&ctp_pins_rst_output1>; status = "okay"; }; &keypad { pinctrl-names = "default"; pinctrl-0 = <&kpd_pins_default>; }; &pio { kpd_pins_default: kpdgpiodefault { pins_cmd_dat { pinmux = ; bias-pull-up = ; output-low; input-schmitt-enable; }; }; ctp_pins_default: eint0default { }; ctp_pins_eint_as_int: eint1touch@0 { pins_cmd_dat { pinmux = ; slew-rate = <0>; bias-disable; }; }; ctp_pins_eint_output0: eintoutput0 { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; ctp_pins_eint_output1: eintoutput1 { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; ctp_pins_rst_output0: rstoutput0 { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; ctp_pins_rst_output1: rstoutput1 { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; }; /* TOUCH end */ &accdet { accdet-mic-vol = <6>; headset-mode-setting = <0x500 0x500 1 0x1f0 0x800 0x800 0x20 0x44>; accdet-plugout-debounce = <1>; accdet-mic-mode = <2>; headset-eint-level-pol = <8>; headset-three-key-threshold = <0 80 220 400>; headset-three-key-threshold-CDD = <0 121 192 600>; headset-four-key-threshold = <0 58 121 192 400>; pinctrl-names = "default", "state_eint_as_int"; pinctrl-0 = <&accdet_pins_default>; pinctrl-1 = <&accdet_pins_eint_as_int>; status = "okay"; }; &pio { accdet_pins_default: accdetdefault { }; accdet_pins_eint_as_int: accdeteint@0 { pins_cmd_dat { pinmux = ; slew-rate = <0>; bias-disable; }; }; }; /* CONSYS GPIO standardization */ &pio { consys_pins_default: consys_default { }; gpslna_pins_init: gpslna@0 { pins_cmd_dat { pinmux = ; slew-rate = <0>; bias-disable; output-low; }; }; gpslna_pins_oh: gpslna@1 { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; gpslna_pins_ol: gpslna@2 { pins_cmd_dat { pinmux = ; 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 */ /* AUDIO GPIO standardization */ &audgpio { pinctrl-names = "aud_clk_mosi_off", "aud_clk_mosi_on", "aud_clk_miso_off", "aud_clk_miso_on", "aud_dat_mosi_off", "aud_dat_mosi_on", "aud_dat_miso_off", "aud_dat_miso_on", "extamp-pullhigh", "extamp-pulllow"; pinctrl-0 = <&aud_clk_mosi_off>; pinctrl-1 = <&aud_clk_mosi_on>; pinctrl-2 = <&aud_clk_miso_off>; pinctrl-3 = <&aud_clk_miso_on>; pinctrl-4 = <&aud_dat_mosi_off>; pinctrl-5 = <&aud_dat_mosi_on>; pinctrl-6 = <&aud_dat_miso_off>; pinctrl-7 = <&aud_dat_miso_on>; pinctrl-8 = <&aud_pins_extamp_high>; pinctrl-9 = <&aud_pins_extamp_low>; status = "okay"; }; &pio { aud_clk_mosi_off: aud_clk_mosi_off { pins_cmd0_dat { pinmux = ; }; }; aud_clk_mosi_on: aud_clk_mosi_on { pins_cmd0_dat { pinmux = ; }; }; aud_clk_miso_off: aud_clk_miso_off { pins_cmd0_dat { pinmux = ; }; }; aud_clk_miso_on: aud_clk_miso_on { pins_cmd0_dat { pinmux = ; }; }; aud_dat_mosi_off: aud_dat_mosi_off { pins_cmd1_dat { pinmux = ; input-enable; slew-rate = <0>; bias-disable; }; pins_cmd2_dat { pinmux = ; input-enable; slew-rate = <0>; bias-disable; }; }; aud_dat_mosi_on: aud_dat_mosi_on { pins_cmd1_dat { pinmux = ; }; pins_cmd2_dat { pinmux = ; }; }; aud_dat_miso_off: aud_dat_miso_off { pins_cmd1_dat { pinmux = ; input-enable; slew-rate = <0>; bias-disable; }; pins_cmd2_dat { pinmux = ; input-enable; slew-rate = <0>; bias-disable; }; }; aud_dat_miso_on: aud_dat_miso_on { pins_cmd1_dat { pinmux = ; }; pins_cmd2_dat { pinmux = ; }; }; aud_pins_extamp_high: audexamphigh { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; aud_pins_extamp_low: audexamplow { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; }; /* AUDIO end */ &msdc1 { cd_level = /bits/ 8 ; cd-gpios = <&pio 0 0>; }; &extcon_usb { charger = <&mtk_charger_type>; vbus-supply; }; #include #include "cust_mt6761_project_camera.dtsi" /*End of this file, DO NOT ADD ANYTHING HERE*/