mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-11-09 12:24:07 -05:00
Add calibrated batt_therm channel for yupik to read battery temperature accurately. Change-Id: Ide4529ae1ee5cfaf922ca1e50127f6c0d67c95d2
425 lines
10 KiB
Devicetree
425 lines
10 KiB
Devicetree
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/iio/qcom,spmi-adc7-pm7325b.h>
|
|
#include <dt-bindings/iio/qcom,spmi-adc7-smb139x.h>
|
|
#include "yupik-pmic-overlay.dtsi"
|
|
#include "pm7325b.dtsi"
|
|
#include "yupik-audio-overlay.dtsi"
|
|
#include "yupik-thermal-overlay.dtsi"
|
|
#include "display/yupik-sde-display-idp.dtsi"
|
|
|
|
&soc {
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
label = "gpio-keys";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&key_vol_up_default>;
|
|
|
|
vol_up {
|
|
label = "volume_up";
|
|
gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
|
|
linux,input-type = <1>;
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
gpio-key,wakeup;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
};
|
|
};
|
|
|
|
&qupv3_se9_i2c {
|
|
status = "ok"
|
|
qcom,clk-freq-out = <1000000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
nq@28 {
|
|
compatible = "qcom,sn-nci";
|
|
reg = <0x28>;
|
|
qcom,sn-irq = <&tlmm 41 0x00>;
|
|
qcom,sn-ven = <&tlmm 38 0x00>;
|
|
qcom,sn-firm = <&tlmm 40 0x00>;
|
|
qcom,sn-clkreq = <&tlmm 39 0x00>;
|
|
qcom,sn-vdd-1p8-supply = <&L18B>;
|
|
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
|
|
qcom,sn-vdd-1p8-current = <157000>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <41 0>;
|
|
interrupt-names = "nfc_irq";
|
|
pinctrl-names = "nfc_active", "nfc_suspend";
|
|
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
|
|
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
|
|
};
|
|
};
|
|
|
|
&ufsphy_mem {
|
|
compatible = "qcom,ufs-phy-qmp-v4-yupik";
|
|
|
|
vdda-phy-supply = <&L10C>;
|
|
vdda-pll-supply = <&L6B>;
|
|
vdda-phy-max-microamp = <97500>;
|
|
vdda-pll-max-microamp = <18400>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&ufshc_mem {
|
|
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
|
|
vdd-hba-fixed-regulator;
|
|
|
|
vcc-supply = <&L7B>;
|
|
vcc-voltage-level = <2504000 2952000>;
|
|
vcc-low-voltage-sup;
|
|
vcc-max-microamp = <800000>;
|
|
|
|
/*
|
|
* Yupik target supports both UFS2.2 & UFS3.1, here
|
|
* vccq2 is supplied via eLDO, and that is controlled via
|
|
* L9B which supports a max voltage of 1.2V, but eLDO would
|
|
* supply 1.8V. and same L9B acts as vccq voltage for UFS3.1
|
|
* devices.
|
|
* Here L9B can max support for 1.2V but UFS GKI driver code
|
|
* votes for 1.8V, which is leading to failure from pmic
|
|
* regulator.
|
|
*
|
|
* Now since vccq and control of eLDO are common that is L9B
|
|
* we can use vccq vote as control of eLDO for vccq2.
|
|
* Hence vccq entries shall be used for both type of UFS
|
|
* devices only. And vccq entries should not be changed/removed
|
|
* for any design alteration.
|
|
*/
|
|
vccq-supply = <&L9B>;
|
|
vccq-max-microamp = <900000>;
|
|
vccq-min-microamp = <10000>;
|
|
|
|
qcom,vddp-ref-clk-supply = <&L9B>;
|
|
qcom,vddp-ref-clk-max-microamp = <100>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&pmk8350_vadc {
|
|
pm7325b_ref_gnd {
|
|
reg = <PM7325B_ADC7_REF_GND>;
|
|
label = "pm7325b_ref_gnd";
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
pm7325b_vref_1p25 {
|
|
reg = <PM7325B_ADC7_1P25VREF>;
|
|
label = "pm7325b_vref_1p25";
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
pm7325b_die_temp {
|
|
reg = <PM7325B_ADC7_DIE_TEMP>;
|
|
label = "pm7325b_die_temp";
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
pm7325b_vph_pwr {
|
|
reg = <PM7325B_ADC7_VPH_PWR>;
|
|
label = "pm7325b_vph_pwr";
|
|
qcom,pre-scaling = <1 3>;
|
|
};
|
|
|
|
pm7325b_vbat_sns {
|
|
reg = <PM7325B_ADC7_VBAT_SNS>;
|
|
label = "pm7325b_vbat_sns";
|
|
qcom,pre-scaling = <1 3>;
|
|
};
|
|
|
|
pm7325b_usb_conn_therm {
|
|
reg = <PM7325B_ADC7_AMUX_THM4_100K_PU>;
|
|
label = "pm7325b_usb_conn_therm";
|
|
qcom,ratiometric;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
pm7325b_chg_skin_therm {
|
|
reg = <PM7325B_ADC7_GPIO2_100K_PU>;
|
|
label = "pm7325b_chg_skin_therm";
|
|
qcom,ratiometric;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
pm7325b_batt_therm {
|
|
reg = <PM7325B_ADC7_V_I_BAT_THERM>;
|
|
label = "pm7325b_batt_therm";
|
|
qcom,ratiometric;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
pm7325b_chg_temp {
|
|
reg = <PM7325B_ADC7_CHG_TEMP>;
|
|
label = "pm7325b_chg_temp";
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
pm7325b_iin_fb {
|
|
reg = <PM7325B_ADC7_IIN_FB>;
|
|
label = "pm7325b_iin_fb";
|
|
qcom,pre-scaling = <32 100>;
|
|
};
|
|
|
|
pm7325b_ichg_fb {
|
|
reg = <PM7325B_ADC7_ICHG_FB>;
|
|
label = "pm7325b_ichg_fb";
|
|
qcom,pre-scaling = <1000 305185>;
|
|
};
|
|
|
|
smb139x_1_smb_temp {
|
|
reg = <SMB139x_1_ADC7_SMB_TEMP>;
|
|
label = "smb139x_1_smb_temp";
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
smb139x_2_smb_temp {
|
|
reg = <SMB139x_2_ADC7_SMB_TEMP>;
|
|
label = "smb139x_2_smb_temp";
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
smb139x_1_iin_smb {
|
|
reg = <SMB139x_1_ADC7_IIN_SMB>;
|
|
label = "smb139x_1_iin_smb";
|
|
qcom,pre-scaling = <32 100>;
|
|
};
|
|
|
|
smb139x_2_iin_smb {
|
|
reg = <SMB139x_2_ADC7_IIN_SMB>;
|
|
label = "smb139x_2_iin_smb";
|
|
qcom,pre-scaling = <32 100>;
|
|
};
|
|
|
|
smb139x_1_ichg_smb {
|
|
reg = <SMB139x_1_ADC7_ICHG_SMB>;
|
|
label = "smb139x_1_ichg_smb";
|
|
qcom,pre-scaling = <16 100>;
|
|
};
|
|
|
|
smb139x_1_ichg_smb_pt {
|
|
reg = <SMB139x_1_ADC7_ICHG_SMB>;
|
|
label = "smb139x_1_ichg_smb_pt";
|
|
qcom,pre-scaling = <32 100>;
|
|
};
|
|
|
|
smb139x_2_ichg_smb {
|
|
reg = <SMB139x_2_ADC7_ICHG_SMB>;
|
|
label = "smb139x_2_ichg_smb";
|
|
qcom,pre-scaling = <16 100>;
|
|
};
|
|
|
|
smb139x_2_ichg_smb_pt {
|
|
reg = <SMB139x_2_ADC7_ICHG_SMB>;
|
|
label = "smb139x_2_ichg_smb_pt";
|
|
qcom,pre-scaling = <32 100>;
|
|
};
|
|
};
|
|
|
|
&pmk8350_adc_tm {
|
|
io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>,
|
|
<&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>,
|
|
<&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>,
|
|
<&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>,
|
|
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
|
|
<&pmk8350_vadc PM7325B_ADC7_AMUX_THM4_100K_PU>,
|
|
<&pmk8350_vadc PM7325B_ADC7_GPIO2_100K_PU>;
|
|
|
|
pm7325b_usb_conn_therm {
|
|
reg = <PM7325B_ADC7_AMUX_THM4_100K_PU>;
|
|
qcom,ratiometric;
|
|
qcom,hw-settle-time = <200>;
|
|
};
|
|
|
|
pm7325b_chg_skin_therm {
|
|
reg = <PM7325B_ADC7_GPIO2_100K_PU>;
|
|
qcom,ratiometric;
|
|
qcom,hw-settle-time = <200>;
|
|
};
|
|
};
|
|
|
|
&thermal_zones {
|
|
conn-therm-usr {
|
|
polling-delay-passive = <0>;
|
|
polling-delay = <0>;
|
|
thermal-governor = "user_space";
|
|
thermal-sensors = <&pmk8350_adc_tm PM7325B_ADC7_AMUX_THM4_100K_PU>;
|
|
wake-capable-sensor;
|
|
trips {
|
|
active-config0 {
|
|
temperature = <125000>;
|
|
hysteresis = <1000>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
|
|
charger-therm-usr {
|
|
polling-delay-passive = <0>;
|
|
polling-delay = <0>;
|
|
thermal-governor = "user_space";
|
|
thermal-sensors = <&pmk8350_adc_tm PM7325B_ADC7_GPIO2_100K_PU>;
|
|
wake-capable-sensor;
|
|
trips {
|
|
active-config0 {
|
|
temperature = <125000>;
|
|
hysteresis = <1000>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&pm7325b_wled {
|
|
qcom,string-cfg = <3>;
|
|
qcom,leds-per-string = <8>;
|
|
qcom,fs-current-limit = <22500>;
|
|
qcom,slew-ramp-time = <256>;
|
|
|
|
qcom,exp-dimming-map = <
|
|
0x1A 0x1B 0x1C 0x1D 0x1E 0x1E 0x1F 0x20
|
|
0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28
|
|
0x29 0x2A 0x2C 0x2D 0x2E 0x30 0x31 0x32
|
|
0x34 0x35 0x37 0x38 0x3A 0x3B 0x3D 0x3F
|
|
0x41 0x42 0x44 0x46 0x48 0x4A 0x4C 0x4F
|
|
0x51 0x53 0x55 0x58 0x5A 0x5D 0x60 0x62
|
|
0x65 0x68 0x6B 0x6E 0x71 0x74 0x77 0x7B
|
|
0x7E 0x82 0x86 0x89 0x8D 0x91 0x95 0x9A
|
|
0x9E 0xA2 0xA7 0xAC 0xB1 0xB6 0xBB 0xC0
|
|
0xC5 0xCB 0xD1 0xD7 0xDD 0xE3 0xE9 0xF0
|
|
0xF7 0xFE 0x105 0x10C 0x114 0x11C 0x124 0x12C
|
|
0x135 0x13D 0x146 0x150 0x159 0x163 0x16D 0x177
|
|
0x182 0x18D 0x198 0x1A4 0x1B0 0x1BC 0x1C8 0x1D5
|
|
0x1E3 0x1F0 0x1FE 0x20D 0x21C 0x22B 0x23B 0x24B
|
|
0x25C 0x26D 0x27E 0x290 0x2A3 0x2B6 0x2CA 0x2DE
|
|
0x2F3 0x308 0x31E 0x335 0x34C 0x364 0x37C 0x396
|
|
0x3B0 0x3CA 0x3E6 0x402 0x41F 0x43D 0x45C 0x47B
|
|
0x49C 0x4BD 0x4E0 0x503 0x527 0x54D 0x573 0x59B
|
|
0x5C3 0x5ED 0x618 0x644 0x672 0x6A0 0x6D0 0x702
|
|
0x735 0x769 0x79F 0x7D6 0x80F 0x849 0x885 0x8C3
|
|
0x903 0x944 0x987 0x9CC 0xA13 0xA5C 0xAA8 0xAF5
|
|
0xB44 0xB96 0xBEA 0xC40 0xC99 0xCF5 0xD52 0xDB3
|
|
0xE16 0xE7D 0xEE6 0xF52 0xFC1 0x1033 0x10A8 0x1121
|
|
0x119D 0x121D 0x12A1 0x1328 0x13B3 0x1441 0x14D4 0x156B
|
|
0x1607 0x16A6 0x174B 0x17F4 0x18A1 0x1954 0x1A0B 0x1AC8
|
|
0x1B8B 0x1C52 0x1D20 0x1DF3 0x1ECC 0x1FAB 0x2091 0x217D
|
|
0x2270 0x236A 0x246B 0x2573 0x2682 0x2799 0x28B9 0x29E0
|
|
0x2B10 0x2C48 0x2D89 0x2ED3 0x3027 0x3184 0x32EB 0x345C
|
|
0x35D8 0x375E 0x38F0 0x3A8D 0x3C35 0x3DEA 0x3FAB 0x4179
|
|
0x4353 0x453C 0x4732 0x4936 0x4B49 0x4D6B 0x4F9C 0x51DD
|
|
0x542F 0x5692 0x5905 0x5B8B 0x5E23 0x60CD 0x638B 0x665D
|
|
0x6944 0x6C3F 0x6F50 0x7277 0x75B5 0x790B 0x7C78 0x7FFF
|
|
>;
|
|
};
|
|
|
|
&spmi_debug_bus {
|
|
status = "ok"
|
|
};
|
|
|
|
&spmi_glink_debug {
|
|
status = "ok"
|
|
};
|
|
|
|
&pm8350c_switch0 {
|
|
qcom,led-mask = <9>; /* Channels 1 & 4 */
|
|
qcom,symmetry-en;
|
|
};
|
|
|
|
&pm8350c_switch1 {
|
|
qcom,led-mask = <6>; /* Channels 2 & 3 */
|
|
qcom,symmetry-en;
|
|
};
|
|
|
|
&pm8350c_switch2 {
|
|
qcom,led-mask = <15>; /* All Channels */
|
|
qcom,symmetry-en;
|
|
};
|
|
|
|
&pm8350c_flash {
|
|
status = "ok"
|
|
};
|
|
|
|
&battery_charger {
|
|
qcom,thermal-mitigation = <3000000 1500000 1000000 500000>;
|
|
};
|
|
|
|
&pm7325b_tz {
|
|
io-channels = <&pmk8350_vadc PM7325B_ADC7_DIE_TEMP>;
|
|
io-channel-names = "thermal";
|
|
};
|
|
|
|
&sdhc_1 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc1_on>;
|
|
pinctrl-1 = <&sdc1_off>;
|
|
|
|
vdd-supply = <&L7B>;
|
|
qcom,vdd-voltage-level = <2952000 2952000>;
|
|
qcom,vdd-current-level = <0 570000>;
|
|
|
|
vdd-io-supply = <&L19B>;
|
|
qcom,vdd-io-always-on;
|
|
qcom,vdd-io-lpm-sup;
|
|
qcom,vdd-io-voltage-level = <1800000 1800000>;
|
|
qcom,vdd-io-current-level = <0 325000>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&sdhc_2 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc2_on>;
|
|
pinctrl-1 = <&sdc2_off>;
|
|
|
|
vdd-supply = <&L9C>;
|
|
qcom,vdd-voltage-level = <2960000 2960000>;
|
|
qcom,vdd-current-level = <0 800000>;
|
|
|
|
vdd-io-supply = <&L6C>;
|
|
qcom,vdd-io-voltage-level = <1800000 2960000>;
|
|
qcom,vdd-io-current-level = <0 22000>;
|
|
|
|
cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
|
|
|
|
status = "ok"
|
|
};
|
|
|
|
&qupv3_se13_i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "ok"
|
|
qcom,i2c-touch-active="novatek,NVT-ts";
|
|
|
|
novatek@62 {
|
|
compatible = "novatek,NVT-ts";
|
|
reg = <0x62>;
|
|
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <81 0x2008>;
|
|
|
|
pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
|
|
"pmx_ts_release";
|
|
|
|
pinctrl-0 = <&ts_active>;
|
|
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
|
|
pinctrl-2 = <&ts_release>;
|
|
|
|
novatek,reset-gpio = <&tlmm 105 0x00>;
|
|
novatek,irq-gpio = <&tlmm 81 0x2008>;
|
|
|
|
panel = <&dsi_nt36672e_fhd_plus_60_video
|
|
&dsi_nt36672e_fhd_plus_120_video
|
|
&dsi_nt36672e_fhd_plus_144_video>;
|
|
|
|
novatek,trusted-touch-mode = "vm_mode";
|
|
novatek,touch-environment = "pvm";
|
|
novatek,trusted-touch-spi-irq = <601>;
|
|
novatek,trusted-touch-io-bases = <0xf134000 0xf135000 0xf169000 0xf151000 0xa94000 0x00a10000>;
|
|
novatek,trusted-touch-io-sizes = <0x1000 0x1000 0x1000 0x1000 0x1000 0x4000>;
|
|
};
|
|
};
|
|
#include "camera/yupik-camera-sensor-idp.dtsi"
|