From 4486c45587762e0f2ee41a8ef874f6b8f4e91c5d Mon Sep 17 00:00:00 2001 From: Arian Date: Wed, 13 Mar 2024 00:09:09 +0100 Subject: [PATCH] Add support for Xiaomi 12 (cupid|L3) Change-Id: I26cdb1c1724499e80a7440e8732aede5ecc5944e --- qcom/Makefile | 2 + qcom/cupid-pinctrl.dtsi | 84 ++++ qcom/cupid-pm8008.dtsi | 224 +++++++++ qcom/cupid-sm8450-pm8008-overlay.dts | 13 + qcom/cupid-sm8450.dtsi | 713 +++++++++++++++++++++++++++ 5 files changed, 1036 insertions(+) create mode 100644 qcom/cupid-pinctrl.dtsi create mode 100644 qcom/cupid-pm8008.dtsi create mode 100644 qcom/cupid-sm8450-pm8008-overlay.dts create mode 100644 qcom/cupid-sm8450.dtsi diff --git a/qcom/Makefile b/qcom/Makefile index cf21815a..e9f02d0c 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -79,6 +79,7 @@ ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_WAIPIO) += waipio-rumi-overlay.dtbo \ waipio-mtp-pm8008-overlay.dtbo \ zeus-sm8450-pm8008-overlay.dtbo \ + cupid-sm8450-pm8008-overlay.dtbo \ waipio-cdp-pm8008-overlay.dtbo \ waipio-qrd-pm8008-overlay.dtbo \ waipio-atp-pm8008-overlay.dtbo \ @@ -106,6 +107,7 @@ dtbo-$(CONFIG_ARCH_WAIPIO) += waipio-rumi-overlay.dtbo \ waipio-rumi-overlay.dtbo-base := waipio.dtb waipiop.dtb waipio-v2.dtb waipiop-v2.dtb waipio-mtp-pm8008-overlay.dtbo-base := waipio.dtb waipiop.dtb waipio-v2.dtb waipiop-v2.dtb waipio-lte.dtb zeus-sm8450-pm8008-overlay.dtbo-base := waipio.dtb waipiop.dtb waipio-v2.dtb waipiop-v2.dtb waipio-lte.dtb +cupid-sm8450-pm8008-overlay.dtbo-base := waipio.dtb waipiop.dtb waipio-v2.dtb waipiop-v2.dtb waipio-lte.dtb waipio-mtp-68disp-pm8008-overlay.dtbo-base := waipio.dtb waipiop.dtb waipio-v2.dtb waipiop-v2.dtb waipio-lte.dtb waipio-cdp-pm8008-overlay.dtbo-base := waipio.dtb waipiop.dtb waipio-v2.dtb waipiop-v2.dtb waipio-lte.dtb waipio-qrd-pm8008-overlay.dtbo-base := waipio.dtb waipiop.dtb waipio-v2.dtb waipiop-v2.dtb waipio-lte.dtb diff --git a/qcom/cupid-pinctrl.dtsi b/qcom/cupid-pinctrl.dtsi new file mode 100644 index 00000000..8bf9cad4 --- /dev/null +++ b/qcom/cupid-pinctrl.dtsi @@ -0,0 +1,84 @@ +/*for cupid pinctrl */ +&tlmm { + cirrus_reset_default_0: cirrus_reset_default_0 { + 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 = "gpio118"; + function = "gpio"; + }; + config { + pins = "gpio118"; + drive-strength = <2>; + input-enable; + bias-pull-up; + }; + }; + cirrus_irq_default_1: cirrus_irq_default_1 { + mux { + pins = "gpio63"; + function = "gpio"; + }; + config { + pins = "gpio63"; + drive-strength = <2>; + input-enable; + bias-pull-up; + }; + }; + }; + + md_mode_ctrl_irq { + ant4_ctrl_irq: ant4_ctrl_irq { + mux { + pins = "gpio83"; + function = "gpio"; + }; + config { + pins = "gpio83"; + drive-strength = <2>; + bias-disable; + input-enable; + }; + }; + ant10_ctrl_irq: ant10_ctrl_irq { + mux { + pins = "gpio159"; + function = "gpio"; + }; + config { + pins = "gpio159"; + drive-strength = <2>; + bias-disable; + input-enable; + }; + }; + }; + + fingerprint_goodix_default: fingerprint_goodix_default { + mux { + pins = "gpio40"; + function = "gpio"; + }; + config { + pins = "gpio40"; + drive-strength = <2>; + input-enable; + bias-disable; + }; + }; +}; diff --git a/qcom/cupid-pm8008.dtsi b/qcom/cupid-pm8008.dtsi new file mode 100644 index 00000000..56e7134c --- /dev/null +++ b/qcom/cupid-pm8008.dtsi @@ -0,0 +1,224 @@ +/* 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"; + + pm8008i@8 { + compatible = "qcom,i2c-pmic"; + reg = <0x8>; + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&pm8008i_active>; + + pm8008-chip@900 { + compatible = "qcom,pm8008-chip"; + reg = <0x900>; + + PM8008I_EN: qcom,pm8008-chip-en { + regulator-name = "pm8008i-chip-en"; + }; + }; + + qcom,revid@100 { + compatible = "qcom,qpnp-revid"; + reg = <0x100>; + }; + }; + + pm8008i@9 { + compatible = "qcom,i2c-pmic"; + reg = <0x9>; + #address-cells = <1>; + #size-cells = <0>; + + qcom,pm8008i-regulator { + compatible = "qcom,pm8008-regulator"; + #address-cells = <1>; + #size-cells = <0>; + + pm8008_en-supply = <&PM8008I_EN>; + vdd_l1_l2-supply = <&S12B>; + vdd_l3_l4-supply = <&BOB>; + vdd_l5-supply = <&S1C>; + vdd_l6-supply = <&BOB>; + vdd_l7-supply = <&BOB>; + + L1I: pm8008i_l1: regulator@4000 { + reg = <0x4000>; + regulator-name = "pm8008i_l1"; + regulator-min-microvolt = <480000>; + regulator-max-microvolt = <1104000>; + qcom,min-dropout-voltage = <24000>; + qcom,hpm-min-load = <30000>; + }; + + L2I: pm8008i_l2: regulator@4100 { + reg = <0x4100>; + regulator-name = "pm8008i_l2"; + regulator-min-microvolt = <1056000>; + regulator-max-microvolt = <1056000>; + qcom,min-dropout-voltage = <56000>; + qcom,hpm-min-load = <30000>; + }; + + L3I: pm8008i_l3: regulator@4200 { + reg = <0x4200>; + regulator-name = "pm8008i_l3"; + regulator-min-microvolt = <2784000>; + regulator-max-microvolt = <2904000>; + qcom,min-dropout-voltage = <224000>; + }; + + L4I: pm8008i_l4: regulator@4300 { + reg = <0x4300>; + regulator-name = "pm8008i_l4"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + qcom,min-dropout-voltage = <152000>; + }; + + L5I: pm8008i_l5: regulator@4400 { + reg = <0x4400>; + regulator-name = "pm8008i_l5"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1800000>; + qcom,min-dropout-voltage = <24000>; + }; + + L6I: pm8008i_l6: regulator@4500 { + reg = <0x4500>; + regulator-name = "pm8008i_l6"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + qcom,min-dropout-voltage = <208000>; + }; + + L7I: pm8008i_l7: regulator@4600 { + reg = <0x4600>; + regulator-name = "pm8008i_l7"; + regulator-min-microvolt = <2712000>; + regulator-max-microvolt = <2960000>; + qcom,min-dropout-voltage = <296000>; + }; + }; + }; + + 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 = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,min-dropout-voltage = <64000>; + qcom,hpm-min-load = <30000>; + }; + + L2J: pm8008j_l2: regulator@4100 { + reg = <0x4100>; + regulator-name = "pm8008j_l2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,min-dropout-voltage = <24000>; + qcom,hpm-min-load = <30000>; + }; + + L3J: pm8008j_l3: regulator@4200 { + reg = <0x4200>; + regulator-name = "pm8008j_l3"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + qcom,min-dropout-voltage = <224000>; + }; + + L4J: pm8008j_l4: regulator@4300 { + reg = <0x4300>; + regulator-name = "pm8008j_l4"; + regulator-min-microvolt = <1608000>; + regulator-max-microvolt = <2808000>; + qcom,min-dropout-voltage = <192000>; + }; + + L5J: pm8008j_l5: regulator@4400 { + reg = <0x4400>; + regulator-name = "pm8008j_l5"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,min-dropout-voltage = <56000>; + }; + + L6J: pm8008j_l6: regulator@4500 { + reg = <0x4500>; + regulator-name = "pm8008j_l6"; + regulator-min-microvolt = <2912000>; + regulator-max-microvolt = <3304000>; + qcom,min-dropout-voltage = <96000>; + }; + + L7J: pm8008j_l7: regulator@4600 { + reg = <0x4600>; + regulator-name = "pm8008j_l7"; + regulator-min-microvolt = <2912000>; + regulator-max-microvolt = <3304000>; + qcom,min-dropout-voltage = <96000>; + }; + }; + }; +}; diff --git a/qcom/cupid-sm8450-pm8008-overlay.dts b/qcom/cupid-sm8450-pm8008-overlay.dts new file mode 100644 index 00000000..4dea9084 --- /dev/null +++ b/qcom/cupid-sm8450-pm8008-overlay.dts @@ -0,0 +1,13 @@ +/dts-v1/; +/plugin/; + +#include "cupid-sm8450.dtsi" +#include "cupid-pm8008.dtsi" + +/ { + model = "Cupid based on Qualcomm Technologies, Inc SM8450"; + compatible = "qcom,waipio-mtp", "qcom,waipio", "qcom,mtp"; + qcom,msm-id = <457 0x10000>, <482 0x10000>, <457 0x20000>, <482 0x20000>, <552 0x10000>; + qcom,board-id = <0x10008 0>; + xiaomi,miboard-id = <0x2 0>; +}; diff --git a/qcom/cupid-sm8450.dtsi b/qcom/cupid-sm8450.dtsi new file mode 100644 index 00000000..f903b40f --- /dev/null +++ b/qcom/cupid-sm8450.dtsi @@ -0,0 +1,713 @@ +/* + this file is for attribution only of cupid + And public attribution of xiaomi platforms(like K2 and so and) +*/ +#include "cupid-pinctrl.dtsi" +#include "xiaomi-sm8450-common.dtsi" +&soc { + fingerprint_goodix { + compatible = "goodix,fingerprint"; + l11c_vdd-supply = <&L11C>; + goodix,gpio-reset = <&tlmm 41 0x0>; + goodix,gpio-irq = <&tlmm 40 0x0>; + pinctrl-names = "fingerprint_goodix_default"; + pinctrl-0 = <&fingerprint_goodix_default>; + status = "ok"; + }; + + xiaomi_touch { + compatible = "xiaomi-touch"; + status = "ok"; + touch,name = "xiaomi-touch"; + }; + + md_testing_mode { + compatible = "modem,md-testing-mode"; + status-gpio = <&tlmm 83 0x00>, + <&tlmm 159 0x00>; + debounce-time = <30>; + pinctrl-names = "default"; + pinctrl-0 = <&ant4_ctrl_irq &ant10_ctrl_irq>; + }; + +}; + +&usb0 { + dwc3@a600000 { + maximum-speed = "high-speed"; + }; +}; + + +&L10C { + regulator-max-microvolt = <1220000>; +}; + +&usb2_phy0 { + qcom,param-override-seq = + <0xa7 0x6c + 0x0b 0x70 + 0x14 0x74>; +}; + +&battery_charger { + qcom,shutdown-voltage = <3350>; +}; + +&L11C { + regulator-boot-on; + regulator-always-on; + regulator-min-microvolt = <3200000>; + regulator-max-microvolt = <3200000>; + qcom,init-voltage = <3200000>; +}; +&tlmm { + mi_ts_active: mi_ts_active { + mux { + pins = "gpio21", "gpio20"; + function = "gpio"; + }; + + config { + pins = "gpio21", "gpio20"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + mi_ts_cs_active: mi_ts_cs_active { + mux { + pins = "gpio19"; + function = "qup4"; + }; + + config { + pins = "gpio19"; + drive-strength = <16>; + bias-pull-up; + }; + }; + + mi_ts_cs_suspend: mi_ts_cs_suspend { + mux { + pins = "gpio19"; + function = "gpio"; + }; + + config { + pins = "gpio19"; + drive-strength = <16>; + bias-pull-up; + }; + }; + + mi_ts_spi_active: mi_ts_spi_active { + mux { + pins = "gpio16", "gpio17", "gpio18"; + function = "qup4"; + }; + + config { + pins = "gpio16", "gpio17", "gpio18"; + drive-strength = <6>; + bias-disable; + }; + }; + + mi_ts_spi_suspend: mi_ts_spi_suspend { + mux { + pins = "gpio16", "gpio17", "gpio18"; + function = "gpio"; + }; + + config { + pins = "gpio16", "gpio17", "gpio18"; + drive-strength = <6>; + bias-disable; + }; + }; + + /* AW8697_RESET_N */ + aw8697_gpio_reset: aw8697_gpio_reset { + mux { + pins = "gpio89"; + unction = "gpio"; + }; + + config { + pins = "gpio89"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + /* AW8697_RESET_N, state device active*/ + aw8697_gpio_reset_output_high: aw8697_gpio_reset_output_high { + mux { + pins = "gpio89"; + function = "gpio"; + }; + + config { + pins = "gpio89"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + /* AW8697_INTERRUPT_N */ + aw8697_gpio_int: aw8697_gpio_int { + mux { + pins = "gpio90"; + function = "gpio"; + }; + + config { + pins = "gpio90"; + drive-strength = <2>; + bias-pull-up; + input-enable; + }; + }; +}; + +&L7C { + regulator-max-microvolt = <3304000>; + qcom,init-voltage = <3200000>; +}; + +&qupv3_se4_spi { + status = "ok"; + pinctrl-0 = <&mi_ts_spi_active &mi_ts_cs_active>; + pinctrl-1 = <&mi_ts_spi_suspend &mi_ts_cs_suspend>; + 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 = <&L7C>; + vdd-supply = <&L2C>; + /*panel = <&dsi_k8_42_02_0a_dsc_cmd>;*/ + 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 = <10800>; + fts,y-max = <24000>; + fts,fod-lx = <4330>; + fts,fod-ly = <20560>; + fts,fod-x-size = <2140>; + fts,fod-y-size = <2140>; + fts,support-fod; + fts,support-super-resolution = <1>; + spi-max-frequency = <12000000>; + fts,default-fw-name = "st_fts_l3.ftb"; + fts,htp-fw-name = "st_fts_l3_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 = <100>; + fts,cornerfilter-area-step2 = <170>; + fts,cornerfilter-area-step3 = <250>; + 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 2399 0 0 + 2 3 1079 0 1079 2399 0 0>; + fts,touch-deadzone-filter-hor = <2 0 0 0 1079 0 0 0 + 2 1 0 2399 1079 2399 0 0 + 2 2 0 0 0 2399 0 0 + 2 3 1079 0 1079 2399 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 2339 0 0 + 1 3 1019 0 1079 2339 0 0>; + fts,touch-edgezone-filter-hor = <1 0 0 0 1079 60 0 0 + 1 1 0 2339 1079 2399 0 0 + 1 2 0 0 60 2399 0 0 + 1 3 1019 0 1079 2399 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 2099 150 2399 0 0 + 0 3 929 2099 1079 2399 0 0>; + fts,touch-cornerzone-filter-hor1 = <0 0 0 0 170 170 0 0 + 0 1 0 0 0 0 0 0 + 0 2 0 2229 170 2399 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 909 0 1079 170 0 0 + 0 2 0 0 0 0 0 0 + 0 3 909 2229 1079 2399 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 5 3>; + fts,touch-tap-stability = <8 12 15 18 25>; + fts,touch-expert-array = <6 15 1 120 6 15 + 2 15 1 120 5 15 + 4 15 1 120 3 15>; + fts,cfg_0 { + fts,tp-vendor = <0x42>; + fts,fw-name = "st_fts_l3.ftb"; + fts,limit-name = "stm_fts_production_limits.csv"; + }; + }; +}; + +&qupv3_se15_i2c { + status = "ok"; + cs35l41_0: cs35l41@40 { + status = "ok"; + compatible = "cirrus,cs35l41"; + reset-gpios = <&tlmm 1 0>; + reg = <0x40>; + interrupt-parent = <&tlmm>; + interrupts = <118 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_1: cs35l41@42 { + status = "ok"; + compatible = "cirrus,cs35l41"; + reset-gpios = <&tlmm 1 0>; + spk-sw-gpios = <&tlmm 52 0>; + reg = <0x42>; + interrupt-parent = <&tlmm>; + interrupts = <63 0x2008>; + pinctrl-names = "default"; + pinctrl-0 = <&cirrus_irq_default_1>; + 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_se16_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "ok"; + aw8697_haptic@5A { + compatible = "awinic,aw8697_haptic"; + reg = <0x5a>; + reset-gpio = <&tlmm 89 0x00>; + irq-gpio = <&tlmm 90 0x00>; + vib_mode = < 0 >; /*mode: RAM mode->0; CONT mode -> 1*/ + vib_f0_pre = < 1700 >; + vib_f0_cali_percen = < 9 >; + vib_cont_drv_lev = < 56 >; + vib_cont_drv_lvl_ov = < 56 >; + vib_cont_td = < 0x009A >; + vib_cont_zc_thr = < 0x0FF1 >; /*hq 0x08F8 */ + vib_cont_num_brk = < 3 >; + vib_f0_coeff = < 260 >; /*Don't modify it 2.604167*/ + vib_f0_trace_parameter = <0x05 0x03 0x02 0x0f>; + vib_bemf_config = < 0x10 0x08 0x03 0xf8 >; + vib_sw_brake = < 0x2c >; + vib_tset = < 0x12 >; + vib_r_spare = < 0x68 >; + vib_bstdbg = < 0x30 0xeb 0xd4 0 0 0 >; + vib_effect_id_boundary = < 10 >; + vib_effect_max = < 192 >; /*vib_effect_max must bigger than vib_effect_id*/ + vib_trig_config = < 0 1 0 1 2 + 0 1 0 1 2 + 0 1 0 1 2 >; + vib_bst_vol_default = < 0x14 >; + vib_bst_vol_ram = < 0x14 >; + vib_bst_vol_rtp = < 0x14 >; + 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 >; + pinctrl-names = "aw8697_reset_reset","aw8697_reset_active","aw8697_interrupt_active"; + pinctrl-0 = <&aw8697_gpio_reset>; + pinctrl-1 = <&aw8697_gpio_reset_output_high>; + pinctrl-2 = <&aw8697_gpio_int>; + 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>; + }; + }; +}; + + +&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_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 PM8350_ADC7_AMUX_THM4_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_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 PM8350_ADC7_AMUX_THM4_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"; + }; + }; + }; +}; + +&qseecom_ta_mem { + size = <0x0 0x2000000>; +}; + +&qseecom_mem { + size = <0x0 0x2400000>; +};