// SPDX-License-Identifier: GPL-2.0 /* * Copyright (c) 2019 MediaTek Inc. * */ /dts-v1/; /plugin/; #include #include #include #include &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"; }; &cluster2_opp { compatible = "operating-points-v2"; opp-shared; opp0 { opp-hz = /bits/ 64 <659000000>; opp-microvolt = <650000>; }; opp1 { opp-hz = /bits/ 64 <921000000>; opp-microvolt = <693750>; }; opp2 { opp-hz = /bits/ 64 <1108000000>; opp-microvolt = <725000>; }; opp3 { opp-hz = /bits/ 64 <1258000000>; opp-microvolt = <750000>; }; opp4 { opp-hz = /bits/ 64 <1370000000>; opp-microvolt = <775000>; }; opp5 { opp-hz = /bits/ 64 <1482000000>; opp-microvolt = <800000>; }; opp6 { opp-hz = /bits/ 64 <1632000000>; opp-microvolt = <831250>; }; opp7 { opp-hz = /bits/ 64 <1745000000>; opp-microvolt = <856250>; }; opp8 { opp-hz = /bits/ 64 <1820000000>; opp-microvolt = <875000>; }; opp9 { opp-hz = /bits/ 64 <1938000000>; opp-microvolt = <900000>; }; opp10 { opp-hz = /bits/ 64 <2032000000>; opp-microvolt = <925000>; }; opp11 { opp-hz = /bits/ 64 <2127000000>; opp-microvolt = <943750>; }; opp12 { opp-hz = /bits/ 64 <2292000000>; opp-microvolt = <981250>; }; opp13 { opp-hz = /bits/ 64 <2410000000>; opp-microvolt = <1006250>; }; opp14 { opp-hz = /bits/ 64 <2529000000>; opp-microvolt = <1031250>; }; opp15 { opp-hz = /bits/ 64 <2600000000>; opp-microvolt = <1050000>; }; }; &cpu0 { capacity-dmips-mhz = <241>; }; &cpu1 { capacity-dmips-mhz = <241>; }; &cpu2 { capacity-dmips-mhz = <241>; }; &cpu3 { capacity-dmips-mhz = <241>; }; &cpu4 { capacity-dmips-mhz = <917>; }; &cpu5 { capacity-dmips-mhz = <917>; }; &cpu6 { capacity-dmips-mhz = <917>; }; &cpu7 { clock-frequency = <2600000000>; }; &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 = ; 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_enn1: lcd_bias_enn1_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_lcm_rst_out1_gpio: lcm_rst_out1_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; mtkfb_pins_lcm_rst_out0_gpio: lcm_rst_out0_gpio { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; mtkfb_pins_lcm_dsi_te: lcm_dsi_te { pins_cmd_dat { pinmux = ; }; }; }; &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 = ; slew-rate = <1>; bias-disable; output-low; input-schmitt-enable = <0>; }; }; irtx_gpio_led_set:irtx_gpio_led_set@gpio127 { pins_cmd_dat { pinmux = ; 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 = ; slew-rate = <1>; output-high; }; }; fingerprint_reset_low: state_reset_low { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; fingerprint_eint_init: state_eint_init { pins_cmd_dat { pinmux = ; slew-rate = <0>; bias-pull-up = ; 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: c1_init { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; gpio_redriver_c1_low: c1_low { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; gpio_redriver_c1_hiz: c1_highz { pins_cmd_dat { pinmux = ; slew-rate= <0>; bias-disable; }; }; gpio_redriver_c1_high: c1_high { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; gpio_redriver_c2_init: c2_init { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; gpio_redriver_c2_low: c2_low { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; gpio_redriver_c2_hiz: c2_highz { pins_cmd_dat { pinmux = ; slew-rate= <0>; bias-disable; }; }; gpio_redriver_c2_high: c2_high { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-high; }; }; gpio_u3_switch_sel1: u3_sw_sel1 { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; gpio_u3_switch_sel2: u3_sw_sel2 { pins_cmd_dat { pinmux = ; 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 = ; output-low; }; }; gps_l1_lna_pins_dsp_ctrl: gps_l1_lna@1 { pins_cmd_dat { pinmux = ; }; }; gps_l1_lna_pins_oh: gps_l1_lna@2 { pins_cmd_dat { pinmux = ; output-high; }; }; gps_l5_lna_pins_ol: gps_l5_lna@0 { pins_cmd_dat { pinmux = ; output-low; }; }; gps_l5_lna_pins_dsp_ctrl: gps_l5_lna@1 { pins_cmd_dat { pinmux = ; }; }; gps_l5_lna_pins_oh: gps_l5_lna@2 { pins_cmd_dat { pinmux = ; 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 */ #include "mediatek/cust_mt6893_touch.dtsi" #include "mediatek/cust_mt6885_camera.dtsi" #include /*End of this file, DO NOT ADD ANYTHING HERE*/