Files
android_kernel_samsung_sm87…/qcom/sdxkova-pmic-overlay.dtsi
Jishnu Prakash d286c97fef ARM: dts: msm: add PMIC support for sdxkova
sdxkova uses PMK8550, PM7550BA and PMX75. Add SPMI slave device
and some of the peripheral devices for PMX75.
Update PMIC overlay file to add devices from these PMICs that
are common for all sdxkova platforms. Also add PM7550BA-related
configurations required for the IDP MBB platform.

Add spmi_debug_bus so that PMIC peripherals can be accessed via
debug bus on sdxkova devices where the fuse is not blown. This
is useful for debugging.

Add PMIC Glink devices and their client devices.  The PMIC Glink
device with name PMIC_RTR_ADSP_APPS supports the clients: ucsi,
altmode, and battery_charger.  The PMIC Glink device with name
PMIC_LOGS_ADSP_APPS supports the clients: battery_debug,
pmic_glink_debug, charger_ulog_glink, and glink_adc.

Change-Id: I6dc40cc36a46c1b34edd274655306dadd3143ebf
Signed-off-by: Jishnu Prakash <quic_jprakash@quicinc.com>
2024-09-16 06:59:21 +05:30

397 lines
7.9 KiB
Plaintext

// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/qcom,spmi-adc5-gen3-pm7550ba.h>
#include <dt-bindings/iio/qcom,spmi-adc5-gen3-pmx75.h>
#include "pmk8550.dtsi"
#include "pmx75.dtsi"
/ {
vreg_sdc1_sd_ls_vccb: sdc1-sd-ls-gpio-regulator {
compatible = "regulator-gpio";
regulator-name = "sdc1_sd_ls_vccb";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2850000>;
enable-gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 84 GPIO_ACTIVE_HIGH>;
states = <1800000 0>,
<2850000 1>;
startup-delay-us = <5000>;
enable-active-high;
};
vreg_sdc1_emmc_sd_vdd: sdc1-emmc-sd-fixed-regulator {
compatible = "qcom,stub-regulator";
regulator-name = "sdc1_emmc_sd_vdd";
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
parent-supply = <&vreg_sdc1_sd_ls_vccb>;
};
};
&spmi_bus {
#address-cells = <2>;
#size-cells = <0>;
interrupt-controller;
#interrupt-cells = <4>;
qcom,pmg1110@a {
compatible = "qcom,spmi-pmic";
reg = <10 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pmg1110_tz: qcom,temp-alarm@a00 {
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0xa 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
};
};
};
&thermal_zones {
pmg1110_temp_alarm: pmg1110_tz {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmg1110_tz>;
trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
trip2 {
temperature = <145000>;
hysteresis = <0>;
type = "critical";
};
};
};
};
&pmk8550_vadc {
/delete-node/ pm8550_offset_ref;
/delete-node/ pm8550_vref_1p25;
/delete-node/ pm8550_die_temp;
/delete-node/ pm8550_vph_pwr;
/* PM8550BA Channel nodes */
pm7550ba_offset_ref {
reg = <PM7550BA_ADC5_GEN3_OFFSET_REF>;
label = "pm7550ba_offset_ref";
qcom,pre-scaling = <1 1>;
status = "disabled";
};
pm7550ba_vref_1p25 {
reg = <PM7550BA_ADC5_GEN3_1P25VREF>;
label = "pm7550ba_vref_1p25";
qcom,pre-scaling = <1 1>;
status = "disabled";
};
pm7550ba_die_temp {
reg = <PM7550BA_ADC5_GEN3_DIE_TEMP>;
label = "pm7550ba_die_temp";
qcom,pre-scaling = <1 1>;
status = "disabled";
};
pm7550ba_vph_pwr {
reg = <PM7550BA_ADC5_GEN3_VPH_PWR>;
label = "pm7550ba_vph_pwr";
qcom,pre-scaling = <1 3>;
status = "disabled";
};
pm7550ba_chg_temp {
reg = <PM7550BA_ADC5_GEN3_CHG_TEMP_V>;
label = "pm7550ba_chg_temp";
status = "disabled";
};
pm7550ba_iin_fb {
reg = <PM7550BA_ADC5_GEN3_IIN_FB>;
label = "pm7550ba_iin_fb";
status = "disabled";
};
pm7550ba_ichg_fb {
reg = <PM7550BA_ADC5_GEN3_ICHG_FB>;
label = "pm7550ba_ichg_fb";
status = "disabled";
};
/* PMX75 Channel nodes */
pmx75_offset_ref {
reg = <PMX75_ADC5_GEN3_OFFSET_REF>;
label = "pmx75_offset_ref";
qcom,pre-scaling = <1 1>;
};
pmx75_vref_1p25 {
reg = <PMX75_ADC5_GEN3_1P25VREF>;
label = "pmx75_vref_1p25";
qcom,pre-scaling = <1 1>;
};
pmx75_die_temp {
reg = <PMX75_ADC5_GEN3_DIE_TEMP>;
label = "pmx75_die_temp";
qcom,pre-scaling = <1 1>;
};
pmx75_vph_pwr {
reg = <PMX75_ADC5_GEN3_VPH_PWR>;
label = "pmx75_vph_pwr";
qcom,pre-scaling = <1 3>;
};
pmx75_pa_therm1 {
reg = <PMX75_ADC5_GEN3_AMUX_THM1_100K_PU>;
label = "pmx75_pa_therm1";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm-type = <1>;
};
pmx75_pa_therm2 {
reg = <PMX75_ADC5_GEN3_AMUX_THM2_100K_PU>;
label = "pmx75_pa_therm2";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm-type = <1>;
};
pmx75_sdx_case_therm {
reg = <PMX75_ADC5_GEN3_AMUX_THM3_100K_PU>;
label = "pmx75_sdx_case_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm-type = <1>;
};
pmx75_ambient_therm {
reg = <PMX75_ADC5_GEN3_AMUX_THM4_100K_PU>;
label = "pmx75_ambient_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm-type = <1>;
};
pmx75_qtm_therm {
reg = <PMX75_ADC5_GEN3_AMUX_THM5_100K_PU>;
label = "pmx75_qtm_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm-type = <1>;
};
pmx75_sdr_skin_therm {
reg = <PMX75_ADC5_GEN3_AMUX_THM6_100K_PU>;
label = "pmx75_sdr_skin_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm-type = <1>;
};
};
&pmx75_tz {
io-channels = <&pmk8550_vadc PMX75_ADC5_GEN3_DIE_TEMP>;
io-channel-names = "thermal";
};
&thermal_zones {
sys-therm-1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&pmk8550_vadc PMX75_ADC5_GEN3_AMUX_THM1_100K_PU>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
sys-therm-2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&pmk8550_vadc PMX75_ADC5_GEN3_AMUX_THM2_100K_PU>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
sys-therm-3 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&pmk8550_vadc PMX75_ADC5_GEN3_AMUX_THM3_100K_PU>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
sys-therm-4 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&pmk8550_vadc PMX75_ADC5_GEN3_AMUX_THM4_100K_PU>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
sys-therm-5 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&pmk8550_vadc PMX75_ADC5_GEN3_AMUX_THM5_100K_PU>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
sys-therm-6 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&pmk8550_vadc PMX75_ADC5_GEN3_AMUX_THM6_100K_PU>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo-therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&pmk8550_vadc PMK8550_ADC5_GEN3_AMUX_THM1_XO_THERM_100K_PU>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pmg1110_temp_alarm: pmg1110_tz {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmg1110_tz>;
trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
trip2 {
temperature = <145000>;
hysteresis = <0>;
type = "critical";
};
};
};
};
&soc {
pmic-pon-log {
compatible = "qcom,pmic-pon-log";
nvmem = <&pmk8550_sdam_5>, <&pmk8550_sdam_6>;
nvmem-names = "pon_log0", "pon_log1";
};
reboot_reason {
compatible = "qcom,reboot-reason";
nvmem-cells = <&restart_reason>;
nvmem-cell-names = "restart_reason";
};
};