ARM: dts: msm: Add platform-specific PMIC changes for yupik

Add PMIC support for yupik ATP, IDP and QRD platforms, including
PM7325B for IDP and PM8350B for ATP and QRD. Include platform-specific
changes for some devices like VADC, ADC_TM, battery_charger and
volume up key.

Change-Id: Ia9709a39b1412daffb0cf1df683dfd5a2b90fc92
This commit is contained in:
Jishnu Prakash 2020-12-08 19:08:12 +05:30
commit 3da956d44b
3 changed files with 639 additions and 0 deletions

View file

@ -1,2 +1,166 @@
#include <dt-bindings/gpio/gpio.h>
#include "yupik-pmic-overlay.dtsi"
#include "pm8350b.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;
};
};
};
&pmk8350_vadc {
pm8350b_ref_gnd {
reg = <PM8350B_ADC7_REF_GND>;
label = "pm8350b_ref_gnd";
qcom,pre-scaling = <1 1>;
};
pm8350b_vref_1p25 {
reg = <PM8350B_ADC7_1P25VREF>;
label = "pm8350b_vref_1p25";
qcom,pre-scaling = <1 1>;
};
pm8350b_die_temp {
reg = <PM8350B_ADC7_DIE_TEMP>;
label = "pm8350b_die_temp";
qcom,pre-scaling = <1 1>;
};
pm8350b_vph_pwr {
reg = <PM8350B_ADC7_VPH_PWR>;
label = "pm8350b_vph_pwr";
qcom,pre-scaling = <1 3>;
};
pm8350b_vbat_sns {
reg = <PM8350B_ADC7_VBAT_SNS>;
label = "pm8350b_vbat_sns";
qcom,pre-scaling = <1 3>;
};
pm8350b_usb_conn_therm {
reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>;
label = "pm8350b_usb_conn_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm8350b_chg_skin_therm {
reg = <PM8350B_ADC7_GPIO2_100K_PU>;
label = "pm8350b_chg_skin_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&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 PM8350B_ADC7_AMUX_THM4_100K_PU>,
<&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>;
pm8350b_usb_conn_therm {
reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm8350b_chg_skin_therm {
reg = <PM8350B_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 PM8350B_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 PM8350B_ADC7_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&spmi_debug_bus {
status = "ok"
};
&spmi_glink_debug {
status = "ok"
};
&pm8350b_haptics {
status = "ok"
};
&battery_charger {
qcom,thermal-mitigation = <3000000 1500000 1000000 500000>;
};
&pm8350b_tz {
io-channels = <&pmk8350_vadc PM8350B_ADC7_DIE_TEMP>;
io-channel-names = "thermal";
};
&pm8008i_chip {
status = "disabled";
};
&pm8008i_ldo {
status = "disabled";
};
&pm8008j_chip {
status = "disabled";
};
&pm8008j_ldo {
status = "disabled";
};
&pm8350c_flash {
status = "disabled";
};

View file

@ -1,2 +1,193 @@
#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"
&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;
};
};
};
&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_chg_temp {
reg = <PM7325B_ADC7_CHG_TEMP>;
label = "pm7325b_chg_temp";
qcom,pre-scaling = <1 1>;
};
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>;
};
pm7325b_iin_fb {
reg = <PM7325B_ADC7_SMB_IIN_IN>;
label = "pm7325b_iin_fb";
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";
};
};
};
};
&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";
};

View file

@ -1,2 +1,286 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/qcom,spmi-adc7-smb139x.h>
#include "yupik-pmic-overlay.dtsi"
#include "pm8350b.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;
};
};
};
&pmk8350_vadc {
pm8350b_ref_gnd {
reg = <PM8350B_ADC7_REF_GND>;
label = "pm8350b_ref_gnd";
qcom,pre-scaling = <1 1>;
};
pm8350b_vref_1p25 {
reg = <PM8350B_ADC7_1P25VREF>;
label = "pm8350b_vref_1p25";
qcom,pre-scaling = <1 1>;
};
pm8350b_die_temp {
reg = <PM8350B_ADC7_DIE_TEMP>;
label = "pm8350b_die_temp";
qcom,pre-scaling = <1 1>;
};
pm8350b_vph_pwr {
reg = <PM8350B_ADC7_VPH_PWR>;
label = "pm8350b_vph_pwr";
qcom,pre-scaling = <1 3>;
};
pm8350b_vbat_sns {
reg = <PM8350B_ADC7_VBAT_SNS>;
label = "pm8350b_vbat_sns";
qcom,pre-scaling = <1 3>;
};
pm8350b_usb_conn_therm {
reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>;
label = "pm8350b_usb_conn_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm8350b_chg_skin_therm {
reg = <PM8350B_ADC7_GPIO2_100K_PU>;
label = "pm8350b_chg_skin_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm8350b_chg_temp {
reg = <PM8350B_ADC7_CHG_TEMP>;
label = "pm8350b_chg_temp";
qcom,pre-scaling = <1 1>;
};
pm8350b_iin_fb {
reg = <PM8350B_ADC7_IIN_FB>;
label = "pm8350b_iin_fb";
qcom,pre-scaling = <32 100>;
};
pm8350b_ichg_fb {
reg = <PM8350B_ADC7_ICHG_FB>;
label = "pm8350b_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_1_ichg_smb {
reg = <SMB139x_1_ADC7_ICHG_SMB>;
label = "smb139x_1_ichg_smb";
qcom,pre-scaling = <14 100>;
};
smb139x_1_ichg_smb_pt {
reg = <SMB139x_1_ADC7_ICHG_SMB>;
label = "smb139x_1_ichg_smb_pt";
qcom,pre-scaling = <32 100>;
};
smb139x_1_iin_smb {
reg = <SMB139x_1_ADC7_IIN_SMB>;
label = "smb139x_1_iin_smb";
qcom,pre-scaling = <28 100>;
};
smb139x_2_smb_temp {
reg = <SMB139x_2_ADC7_SMB_TEMP>;
label = "smb139x_2_smb_temp";
qcom,pre-scaling = <1 1>;
};
smb139x_2_ichg_smb {
reg = <SMB139x_2_ADC7_ICHG_SMB>;
label = "smb139x_2_ichg_smb";
qcom,pre-scaling = <14 100>;
};
smb139x_2_ichg_smb_pt {
reg = <SMB139x_2_ADC7_ICHG_SMB>;
label = "smb139x_2_ichg_smb_pt";
qcom,pre-scaling = <32 100>;
};
smb139x_2_iin_smb {
reg = <SMB139x_2_ADC7_IIN_SMB>;
label = "smb139x_2_iin_smb";
qcom,pre-scaling = <28 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 PM8350B_ADC7_AMUX_THM4_100K_PU>,
<&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>;
pm8350b_usb_conn_therm {
reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm8350b_chg_skin_therm {
reg = <PM8350B_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 PM8350B_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 PM8350B_ADC7_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&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"
};
&pmk8350_sdam_2 {
hap_cl_brake: cl_brake@7c {
reg = <0x7c 0x1>;
bits = <0 8>;
};
};
&pm8350b_haptics {
nvmem-cell-names = "hap_cl_brake";
nvmem-cells = <&hap_cl_brake>;
nvmem-names = "hap_cfg_sdam";
nvmem = <&pmk8350_sdam_46>;
qcom,pbs-client = <&pm8350b_pbs2>;
qcom,vmax-mv = <1300>;
qcom,lra-period-us = <5880>;
status = "ok"
effect_0 {
/* CLICK */
qcom,wf-vmax-mv = <1800>;
qcom,wf-pattern-period-us = <5880>;
};
effect_1 {
/* DOUBLE_CLICK */
qcom,wf-vmax-mv = <1800>;
qcom,wf-pattern-period-us = <5880>;
};
effect_2 {
/* TICK */
qcom,wf-vmax-mv = <1800>;
qcom,wf-pattern-period-us = <5880>;
};
effect_3 {
/* THUD */
qcom,wf-vmax-mv = <1800>;
qcom,wf-pattern-period-us = <5880>;
};
effect_4 {
/* POP */
qcom,wf-vmax-mv = <1800>;
qcom,wf-pattern-period-us = <5880>;
};
effect_5 {
/* HEAVY CLICK */
qcom,wf-vmax-mv = <1800>;
qcom,wf-pattern-period-us = <5880>;
};
};
&battery_charger {
qcom,thermal-mitigation = <10000000 9500000 9000000 8500000 8000000
7500000 7000000 6500000 6000000 5500000
5000000 4500000 4000000 3500000 3000000
2500000 2000000 1500000 1000000 500000>;
};
&pm8350b_tz {
io-channels = <&pmk8350_vadc PM8350B_ADC7_DIE_TEMP>;
io-channel-names = "thermal";
};