From 2b48b02538b4114cbe5be06efb77ec7ff3d9704e Mon Sep 17 00:00:00 2001 From: Arian Date: Wed, 13 Mar 2024 00:14:08 +0100 Subject: [PATCH] Add support for Xiaomi 12S Pro (unicorn|L2S) Change-Id: I610dd49877a1c517d9001ac8d249e87b4e9092ec --- qcom/Makefile | 4 +- qcom/unicorn-pinctrl.dtsi | 102 ++++ qcom/unicorn-sm8475-pm8008-overlay.dts | 14 + qcom/unicorn-sm8475-pm8008.dtsi | 130 +++++ qcom/unicorn-sm8475.dtsi | 687 +++++++++++++++++++++++++ 5 files changed, 936 insertions(+), 1 deletion(-) create mode 100644 qcom/unicorn-pinctrl.dtsi create mode 100644 qcom/unicorn-sm8475-pm8008-overlay.dts create mode 100644 qcom/unicorn-sm8475-pm8008.dtsi create mode 100644 qcom/unicorn-sm8475.dtsi diff --git a/qcom/Makefile b/qcom/Makefile index 5cdd9529..410b2f0e 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -325,7 +325,8 @@ dtbo-$(CONFIG_ARCH_CAPE) += cape-mtp-pm8008-overlay.dtbo \ ukee-mtp-nodisplay-pm8008-overlay.dtbo \ ukee-mtp-nodisplay-pm8010-overlay.dtbo \ ukee-qrd-pm8008-overlay.dtbo \ - ukee-qrd-pm8010-overlay.dtbo + ukee-qrd-pm8010-overlay.dtbo \ + unicorn-sm8475-pm8008-overlay.dtbo cape-mtp-pm8008-overlay.dtbo-base := cape.dtb cape-v2.dtb capep.dtb cape-mtp-120fps-pm8008-overlay.dtbo-base := cape.dtb cape-v2.dtb capep.dtb @@ -359,6 +360,7 @@ ukee-mtp-nodisplay-pm8008-overlay.dtbo-base := ukee.dtb ukee-mtp-nodisplay-pm8010-overlay.dtbo-base := ukee.dtb ukee-qrd-pm8008-overlay.dtbo-base := ukee.dtb ukee-qrd-pm8010-overlay.dtbo-base := ukee.dtb +unicorn-sm8475-pm8008-overlay.dtbo-base := cape.dtb cape-v2.dtb capep.dtb else dtb-$(CONFIG_ARCH_CAPE) += cape-mtp-pm8008.dtb \ diff --git a/qcom/unicorn-pinctrl.dtsi b/qcom/unicorn-pinctrl.dtsi new file mode 100644 index 00000000..deafab0f --- /dev/null +++ b/qcom/unicorn-pinctrl.dtsi @@ -0,0 +1,102 @@ +/*for unicorn pinctrl */ + +&tlmm { + cirrus_reset_default_0: cirrus_reset_default_0 { + mux { + pins = "gpio120"; + function = "gpio"; + }; + + config { + pins = "gpio120"; + drive-strength = <16>; /* 16 mA */ + bias-disable; + output-high; + }; + }; + + cirrus_reset_default_3: cirrus_reset_default_3 { + mux { + pins = "gpio1"; + function = "gpio"; + }; + + config { + pins = "gpio1"; + drive-strength = <16>; /* 16 mA */ + bias-disable; + output-high; + }; + }; + + cirrus_irq_default { + cirrus_irq_default_0: cirrus_irq_default_0 { + mux { + pins = "gpio117"; + function = "gpio"; + }; + config { + pins = "gpio117"; + drive-strength = <2>; + input-enable; + bias-pull-up; + }; + }; + cirrus_irq_default_3: cirrus_irq_default_3 { + mux { + pins = "gpio88"; + function = "gpio"; + }; + config { + pins = "gpio88"; + drive-strength = <2>; + input-enable; + bias-pull-up; + }; + }; + }; + + /* AW8697_RESET_N */ + awinic_gpio_reset: awinic_gpio_reset { + mux { + pins = "gpio89"; + unction = "gpio"; + }; + + config { + pins = "gpio89"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + /* AW8697_RESET_N, state device active*/ + awinic_gpio_reset_output_high: awinic_gpio_reset_output_high { + mux { + pins = "gpio89"; + function = "gpio"; + }; + + config { + pins = "gpio89"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + /* AW8697_INTERRUPT_N */ + awinic_gpio_int: awinic_gpio_int { + mux { + pins = "gpio90"; + function = "gpio"; + }; + + config { + pins = "gpio90"; + drive-strength = <2>; + bias-pull-up; + input-enable; + }; + }; + +}; diff --git a/qcom/unicorn-sm8475-pm8008-overlay.dts b/qcom/unicorn-sm8475-pm8008-overlay.dts new file mode 100644 index 00000000..18eae305 --- /dev/null +++ b/qcom/unicorn-sm8475-pm8008-overlay.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include "unicorn-sm8475.dtsi" +#include "unicorn-sm8475-pm8008.dtsi" + +/ { + model = "Unicorn based on Qualcomm Technologies, Inc SM8475"; + compatible = "qcom,cape-mtp", "qcom,cape", "qcom,mtp"; + qcom,msm-id = <530 0x10000>, <531 0x10000>, <540 0x10000>; + qcom,board-id = <0x10008 0>; + xiaomi,miboard-id = <0x8 0>; +}; + diff --git a/qcom/unicorn-sm8475-pm8008.dtsi b/qcom/unicorn-sm8475-pm8008.dtsi new file mode 100644 index 00000000..ade81c4c --- /dev/null +++ b/qcom/unicorn-sm8475-pm8008.dtsi @@ -0,0 +1,130 @@ +/* Waipio configurations for PM8008I and PM8008J connected via I2C */ + +/ { + qcom,pmic-id = <0x2f 0x0 0x0 0x0 0x0 0x0 0x0 0x0>; + qcom,pmic-id-size = <8>; +}; + +/* + * Each QUP device that's a parent to PMIC must be listed as a critical device + * to GCC. + */ +&clock_gcc { + qcom,critical-devices = <&qupv3_se5_i2c>; +}; + +&qupv3_se5_i2c { + #address-cells = <1>; + #size-cells = <0>; + status = "ok"; + + pm8008j@c { + compatible = "qcom,i2c-pmic"; + reg = <0xc>; + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&pm8008j_active>; + + pm8008-chip@900 { + compatible = "qcom,pm8008-chip"; + reg = <0x900>; + + PM8008J_EN: qcom,pm8008-chip-en { + regulator-name = "pm8008j-chip-en"; + }; + }; + + qcom,revid@100 { + compatible = "qcom,qpnp-revid"; + reg = <0x100>; + }; + }; + + pm8008j@d { + compatible = "qcom,i2c-pmic"; + reg = <0xd>; + #address-cells = <1>; + #size-cells = <0>; + + qcom,pm8008j-regulator { + compatible = "qcom,pm8008-regulator"; + #address-cells = <1>; + #size-cells = <0>; + + pm8008_en-supply = <&PM8008J_EN>; + vdd_l1_l2-supply = <&S12B>; + vdd_l3_l4-supply = <&BOB>; + vdd_l5-supply = <&S1C>; + vdd_l6-supply = <&BOB>; + vdd_l7-supply = <&BOB>; + + L1J: pm8008j_l1: regulator@4000 { + reg = <0x4000>; + regulator-name = "pm8008j_l1"; + regulator-min-microvolt = <1056000>; + regulator-max-microvolt = <1056000>; + qcom,min-dropout-voltage = <64000>; + qcom,hpm-min-load = <0>; + }; + + L2J: pm8008j_l2: regulator@4100 { + reg = <0x4100>; + regulator-name = "pm8008j_l2"; + regulator-min-microvolt = <1056000>; + regulator-max-microvolt = <1056000>; + qcom,min-dropout-voltage = <24000>; + qcom,hpm-min-load = <0>; + }; + + L3J: pm8008j_l3: regulator@4200 { + reg = <0x4200>; + regulator-name = "pm8008j_l3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3304000>; + qcom,min-dropout-voltage = <224000>; + qcom,hpm-min-load = <0>; + }; + + L4J: pm8008j_l4: regulator@4300 { + reg = <0x4300>; + regulator-name = "pm8008j_l4"; + regulator-min-microvolt = <2808000>; + regulator-max-microvolt = <2808000>; + qcom,min-dropout-voltage = <192000>; + qcom,hpm-min-load = <0>; + }; + + L5J: pm8008j_l5: regulator@4400 { + reg = <0x4400>; + regulator-name = "pm8008j_l5"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,min-dropout-voltage = <56000>; + qcom,hpm-min-load = <0>; + }; + + L6J: pm8008j_l6: regulator@4500 { + reg = <0x4500>; + regulator-name = "pm8008j_l6"; + regulator-min-microvolt = <3104000>; + regulator-max-microvolt = <3104000>; + qcom,min-dropout-voltage = <120000>; + qcom,hpm-min-load = <0>; + }; + + L7J: pm8008j_l7: regulator@4600 { + reg = <0x4600>; + regulator-name = "pm8008j_l7"; + regulator-min-microvolt = <3104000>; + regulator-max-microvolt = <3104000>; + qcom,min-dropout-voltage = <96000>; + qcom,hpm-min-load = <0>; + }; + }; + }; + + /delete-node/ pm8008i@8; + /delete-node/ pm8008i@9; +}; \ No newline at end of file diff --git a/qcom/unicorn-sm8475.dtsi b/qcom/unicorn-sm8475.dtsi new file mode 100644 index 00000000..d53f019f --- /dev/null +++ b/qcom/unicorn-sm8475.dtsi @@ -0,0 +1,687 @@ +/* + this file is for attribution only of unicorn + And public attribution of xiaomi platforms(like K2 and so and) +*/ +#include "unicorn-pinctrl.dtsi" +#include "xiaomi-sm8475-common.dtsi" + +&qupv3_se15_i2c { + status = "ok"; + cs35l41_0: cs35l41@40 { + status = "ok"; + compatible = "cirrus,cs35l41"; + reset-gpios = <&tlmm 120 0>; + reg = <0x40>; + interrupt-parent = <&tlmm>; + interrupts = <117 0x2008>; + pinctrl-names = "default"; + pinctrl-0 = <&cirrus_reset_default_0 &cirrus_irq_default_0>; + cirrus,temp-warn_threshold = <3>; + cirrus,boost-peak-milliamp = <4000>; + cirrus,boost-ind-nanohenry = <1000>; + cirrus,boost-cap-microfarad = <15>; + cirrus,asp-sdout-hiz = <3>; + cirrus,right-channel-amp; + sound-name-prefix = "B"; + cirrus,fast-switch = "B-music.txt", "B-handfree.txt"; + cirrus,gpio-config2 { + cirrus,gpio-src-select = <0x4>; + cirrus,gpio-output-enable; + }; + }; + cs35l41_3: cs35l41@43 { + status = "ok"; + compatible = "cirrus,cs35l41"; + reset-gpios = <&tlmm 1 0>; + spk-sw-gpios = <&tlmm 52 0>; + reg = <0x43>; + interrupt-parent = <&tlmm>; + interrupts = <88 0x2008>; + pinctrl-names = "default"; + pinctrl-0 = <&cirrus_reset_default_3 &cirrus_irq_default_3>; + cirrus,temp-warn_threshold = <3>; + cirrus,boost-peak-milliamp = <4000>; + cirrus,boost-ind-nanohenry = <1000>; + cirrus,boost-cap-microfarad = <15>; + cirrus,asp-sdout-hiz = <3>; + sound-name-prefix = "T"; + cirrus,fast-switch = "T-music.txt", "T-handset.txt", "T-handfree.txt"; + cirrus,gpio-config2 { + cirrus,gpio-src-select = <0x4>; + cirrus,gpio-output-enable; + }; + }; +}; + +&qupv3_se18_i2c { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <400000>; + status = "ok"; + aw8697_haptic@5A { + compatible = "awinic,awinic_haptic"; + reg = <0x5a>; + reset-gpio = <&tlmm 89 0x00>; + irq-gpio = <&tlmm 90 0x00>; + pinctrl-names = "awinic_reset_reset","awinic_reset_active","awinic_interrupt_active"; + pinctrl-0 = <&awinic_gpio_reset>; + pinctrl-1 = <&awinic_gpio_reset_output_high>; + pinctrl-2 = <&awinic_gpio_int>; + /*----------------------aw8697----------------------*/ + aw8697_vib_mode = < 0 >; /*mode: RAM mode->0; CONT mode -> 1*/ + aw8697_vib_f0_pre = < 1300 >; + aw8697_vib_f0_cali_percen = < 7 >; + aw8697_vib_cont_drv_lev = < 60 >; + aw8697_vib_cont_drv_lvl_ov = < 60 >; + aw8697_vib_cont_td = < 0xef >; + aw8697_vib_cont_zc_thr = < 0x08f8 >; /*hq 0x08F8 */ + aw8697_vib_cont_num_brk = < 3 >; + aw8697_vib_f0_coeff = < 260 >; /*Don't modify it 2.604167*/ + aw8697_vib_f0_trace_parameter = < 9 3 1 31 >; + aw8697_vib_bemf_config = < 0 0x08 0x03 0xf8 >; + aw8697_vib_sw_brake = < 0x2c >; + aw8697_vib_tset = < 0x1a >; + aw8697_vib_r_spare = < 0x68 >; + aw8697_vib_bstdbg = < 0x30 0xeb 0xd4 0 0 0 >; + aw8697_vib_trig_config = < 0 1 0 1 2 + 0 1 0 1 2 + 0 1 0 1 2 >; + aw8697_vib_bst_vol_default = < 0x0e >; + aw8697_vib_bst_vol_ram = < 0x0e >; + aw8697_vib_bst_vol_rtp = < 0x0e >; + /*----------------------aw8692x----------------------*/ + aw86927_vib_mode = < 0 >; /* mode: RAM mode->0; CONT mode->1 */ + aw86927_vib_f0_pre = < 1300 >; + aw86927_vib_f0_cali_percen = < 7 >; + aw86927_vib_cont_drv1_lvl = < 0x7F >; + aw86927_vib_cont_drv2_lvl = < 0x36 >; + aw86927_vib_cont_drv1_time = < 0x04 >; + aw86927_vib_cont_drv2_time = < 0x06 >; + aw86927_vib_cont_drv_width = < 0x6A >; + aw86927_vib_cont_wait_num = < 0x06 >; + aw86927_vib_cont_brk_time = < 0x08 >; + aw86927_vib_cont_track_margin = < 0x0C >; + aw86927_vib_brk_bst_md = < 0 >; + aw86927_vib_cont_tset = < 0x06 >; + aw86927_vib_cont_bemf_set = < 0x02 >; + aw86927_vib_cont_bst_brk_gain = < 0x05 >; + aw86927_vib_cont_brk_gain = < 0x08 >; + aw86927_vib_d2s_gain = < 0x04 >; + aw86927_vib_trig_config = < 0 0 0 1 0 2 0 0 + 0 0 0 1 0 2 0 0 + 0 0 0 1 0 2 0 0 >; + aw86927_vib_bst_vol_default = < 0x47 >; + aw86927_vib_bst_vol_ram = < 0x47 >; + aw86927_vib_bst_vol_rtp = < 0x47 >; + /*--------------------common--------------------*/ + vib_effect_id_boundary = < 10 >; + vib_effect_max = < 197 >; /*vib_effect_max must bigger than vib_effect_id*/ + vib_rtp_time = < 20 20 20 20 20 20 20 20 20000 15000 + 15000 20000 25000 15000 30000 25000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 20000 20000 20000 20000 20000 + 20000 20000 20000 20000 20000 >; + status = "ok"; + wf_0 { + /*CLICK*/ + qcom,effect-id = <0>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [3e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_1 { + /*DOUBLE CLICK*/ + qcom,effect-id = <1>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [7e 3e]; + qcom,wf-brake-pattern = [03 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_2 { + /*TICK*/ + qcom,effect-id = <2>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [7e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_3 { + /*THUD*/ + qcom,effect-id = <3>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [3e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_4 { + /*POP*/ + qcom,effect-id = <4>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [3e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <28000>; + }; + wf_5 { + /*HEAVY CLICK*/ + qcom,effect-id = <5>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [7e 7e 7e]; + qcom,wf-brake-pattern = [03 03 01 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_6 { + /*id 6*/ + qcom,effect-id = <6>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [3e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_7 { + /*id 7*/ + qcom,effect-id = <7>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [3e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_8 { + /*id 8*/ + qcom,effect-id = <8>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [3e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + wf_9 { + /*id 9*/ + qcom,effect-id = <9>; + qcom,wf-vmax-mv = <3600>; + qcom,wf-pattern = [3e 3e]; + qcom,wf-brake-pattern = [02 01 00 00]; + qcom,wf-play-rate-us = <20000>; + }; + }; +}; + +&soc { + fingerprint_goodix { + compatible = "goodix,fingerprint"; + l11c_vdd-supply = <&L11C>; + goodix,gpio-reset = <&tlmm 41 0x0>; + goodix,gpio-irq = <&tlmm 40 0x0>; + status = "ok"; + }; +}; + +&L11C { + regulator-boot-on; + regulator-always-on; + regulator-min-microvolt = <3008000>; + regulator-max-microvolt = <3008000>; + qcom,init-voltage = <3008000>; +}; + + +&soc { + touch_avdd_vreg: touch_avdd_vreg { + compatible = "regulator-fixed"; + regulator-name = "touch_avdd_vreg"; + enable-active-high; + gpio = <&tlmm 97 0>; + }; + + xiaomi_touch { + compatible = "xiaomi-touch"; + status = "ok"; + touch,name = "xiaomi-touch"; + }; +}; + +&tlmm { + mi_ts_active: mi_ts_active { + mux { + pins = "gpio21", "gpio20"; + function = "gpio"; + }; + + config { + pins = "gpio21", "gpio20"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + +&L9C { + regulator-min-microvolt = <3224000>; + regulator-max-microvolt = <3224000>; + qcom,init-voltage = <3224000>; +}; + +&L2C { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,init-voltage = <1800000>; +}; + +&BOB { + regulator-min-microvolt = <3296000>; + regulator-max-microvolt = <3296000>; + qcom,init-voltage = <3296000>; +}; + + +&qupv3_se4_spi { + status = "ok"; + qcom,rt; + fts@0 { + status = "ok"; + compatible = "st,spi"; + reg = <0x0>; + interrupt-parent = <&tlmm>; + interrupts = <21 0x2008>; + pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; + pinctrl-0 = <&mi_ts_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + avdd-supply = <&L9C>; + vdd-supply = <&L2C>; + fts,pwr-reg-name = "avdd"; + fts,bus-reg-name = "vdd"; + fts,irq-gpio = <&tlmm 21 0x2008>; + fts,irq-gpio-name = "fts_irq"; + fts,reset-gpio-enable; + fts,reset-gpio = <&tlmm 20 0x00>; + fts,reset-gpio-name = "fts_rst"; + fts,irq-flags = <0x2008>; + fts,x-max = <14400>; + fts,y-max = <32000>; + fts,fod-lx = <5860>; + fts,fod-ly = <23460>; + fts,fod-x-size = <2680>; + fts,fod-y-size = <2660>; + fts,support-fod; + fts,support-thp; + fts,support-thp-fw; + spi-max-frequency = <12000000>; + fts,support-super-resolution = <1>; + fts,default-fw-name = "st_fts_l2s.ftb"; + fts,thp-fw-name = "st_fts_l2s_thp.ftb"; + fts,config-array-size = <1>; + fts,touch-follow-performance-def = <3>; + fts,touch-tap-sensitivity-def = <4>; + fts,touch-aim-sensitivity-def = <3>; + fts,touch-tap-stability-def = <3>; + fts,cornerfilter-area-step1 = <150>; + fts,cornerfilter-area-step2 = <280>; + fts,cornerfilter-area-step3 = <400>; + fts,touch-deadzone-filter-ver = <2 0 0 0 0 0 0 0 + 2 1 0 0 0 0 0 0 + 2 2 0 0 0 3199 0 0 + 2 3 1439 0 1439 3199 0 0>; + fts,touch-deadzone-filter-hor = <2 0 0 0 1439 7 0 0 + 2 1 0 3192 1439 3199 0 0 + 2 2 0 0 0 3199 0 0 + 2 3 1439 0 1439 3199 0 0>; + fts,touch-edgezone-filter-ver = <1 0 0 0 0 0 0 0 + 1 1 0 0 0 0 0 0 + 1 2 0 0 60 3199 0 0 + 1 3 1379 0 1439 3199 0 0>; + fts,touch-edgezone-filter-hor = <1 0 0 0 1439 70 0 0 + 1 1 0 3129 1439 3199 0 0 + 1 2 0 0 60 3199 0 0 + 1 3 1379 0 1439 3199 0 0>; + fts,touch-cornerzone-filter-ver = <0 0 0 0 0 0 0 0 + 0 1 0 0 0 0 0 0 + 0 2 0 2799 250 3199 0 0 + 0 3 1189 2799 1439 3199 0 0>; + fts,touch-cornerzone-filter-hor1 = <0 0 0 0 280 280 0 0 + 0 1 0 0 0 0 0 0 + 0 2 0 2919 280 3199 0 0 + 0 3 0 0 0 0 0 0>; + fts,touch-cornerzone-filter-hor2 = <0 0 0 0 0 0 0 0 + 0 1 1159 0 1439 280 0 0 + 0 2 0 0 0 0 0 0 + 0 3 1159 2919 1439 3199 0 0>; + fts,touch-follow-performance = <10 15 1 + 8 15 1 + 6 15 1 + 4 15 1 + 2 15 1>; + fts,touch-tap-sensitivity = <160 150 140 120 100>; + fts,touch-aim-sensitivity = <10 8 6 4 2>; + fts,touch-tap-stability = <8 12 15 18 25>; + fts,touch-expert-array = <6 15 1 120 6 15 + 2 15 1 120 4 15 + 4 15 1 120 2 15>; + fts,cfg_0 { + fts,tp-vendor = <0x38>; + fts,fw-name = "st_fts_l2s.ftb"; + fts,limit-name = "stm_fts_production_limits.csv"; + }; + }; +}; + +&pmk8350_vadc { + pinctrl-names = "default"; + pinctrl-0 = <&pm8350b_rear_tof_therm_default>; + + pm8350_msm_therm { + reg = ; + label = "pm8350_msm_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350_cam_flash_therm { + reg = ; + label = "pm8350_cam_flash_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350_hot_pocket_therm { + reg = ; + label = "pm8350_hot_pocket_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350_wide_rfc_therm { + reg = ; + label = "pm8350_wide_rfc_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350b_rear_tof_therm { + reg = ; + label = "pm8350b_rear_tof_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350b_usb_conn_therm { + reg = ; + label = "pm8350b_usb_conn_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pm8350b_wl_chg_therm { + reg = ; + label = "pm8350b_wl_chg_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pmk8350_wifi_therm { + reg = ; + label = "pmk8350_wifi_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + pmk8350_xo_therm { + reg = ; + label = "pmk8350_xo_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pmk8350_adc_tm { + io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM1_100K_PU>, + <&pmk8350_vadc PM8350_ADC7_AMUX_THM2_100K_PU>, + <&pmk8350_vadc PM8350_ADC7_AMUX_THM3_100K_PU>, + <&pmk8350_vadc PM8350B_ADC7_GPIO4_100K_PU>, + <&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>, + <&pmk8350_vadc PMR735A_ADC7_GPIO1_100K_PU>, + <&pmk8350_vadc PMR735A_ADC7_GPIO2_100K_PU>, + <&pmk8350_vadc PMR735A_ADC7_GPIO3_100K_PU>; + + pm8350_msm_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350_cam_flash_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350_hot_pocket_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350_wide_rfc_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350b_rear_tof_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350b_usb_conn_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pm8350b_wl_chg_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pmk8350_wifi_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&pmk8350 { + pm8350_adc_tm_iio: adc_tm_e { + compatible = "qcom,adc-tm7-iio"; + reg = <0x3400>; + #thermal-sensor-cells = <1>; + #address-cells = <1>; + #size-cells = <0>; + + io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; + + pmk8350_xo_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + }; +}; + +&thermal_zones { + cpu_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350_ADC7_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + flash_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350_ADC7_AMUX_THM2_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + quiet_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350_ADC7_AMUX_THM3_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + charger_therm0 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_GPIO4_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + wireless_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_GPIO2_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + pa_therm0 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PMR735A_ADC7_GPIO1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + pa_therm1 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PMR735A_ADC7_GPIO2_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + wifi_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PMR735A_ADC7_GPIO3_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + xo-therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8350_adc_tm_iio PMK8350_ADC7_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&qseecom_ta_mem { + size = <0x0 0x2000000>; +}; + +&qseecom_mem { + size = <0x0 0x2400000>; +}; + +&nxp_eusb2_repeater { + qcom,param-override-seq = + <0x62 0x08 + 0x00 0x07>; + qcom,param-override-seq-host = + <0x63 0x08 + 0x22 0x07>; +}; + +&battery_charger { + qcom,shutdown-voltage = <3350>; +};