Merge "ARM: dts: msm: add PMIC support for sdxkova"

This commit is contained in:
QCTECMDR Service
2024-09-16 01:49:08 -07:00
committed by Gerrit - the friendly Code Review server
5 changed files with 607 additions and 1 deletions

87
qcom/pmx75.dtsi Normal file
View File

@@ -0,0 +1,87 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
&spmi_bus {
#address-cells = <2>;
#size-cells = <0>;
interrupt-controller;
#interrupt-cells = <4>;
qcom,pmx75@1 {
compatible = "qcom,spmi-pmic";
reg = <1 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
pmx75_tz: qcom,temp-alarm@a00 {
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
};
pmx75_vbus_detect: qcom,pmd-vbus-det@1500 {
compatible = "qcom,pm8941-misc";
reg = <0x1500>;
interrupts = <0x1 0x15 0x0 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "usb_vbus";
status = "disabled";
};
pmx75_gpios: pinctrl@8800 {
compatible = "qcom,pmx75-gpio";
reg = <0x8800>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
pmx75_pwm: pwms@e800 {
compatible = "qcom,pwm-lpg";
reg = <0xe800>;
reg-names = "lpg-base";
#pwm-cells = <2>;
qcom,num-lpg-channels = <4>;
};
pmx75_eusb2_repeater: qcom,eusb2-repeater@fd00 {
compatible = "qcom,pmic-eusb2-repeater";
reg = <0xfd00>;
status = "disabled";
};
};
};
&thermal_zones {
pmx75_temp_alarm: pmx75_tz {
polling-delay-passive = <100>;
polling-delay = <0>;
thermal-sensors = <&pmx75_tz>;
trips {
pmx75_trip0: trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
pmx75_trip1: trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
pmx75_trip2: trip2 {
temperature = <145000>;
hysteresis = <0>;
type = "critical";
};
};
};
};

View File

@@ -46,3 +46,8 @@
operating-points-v2 = <&sdhc1_opp_table>;
};
&pmx75_vbus_detect {
status = "ok";
};

View File

@@ -3,8 +3,9 @@
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include "sdxkova-pmic-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include "sdxkova-pmic-overlay.dtsi"
#include "pm7550ba.dtsi"
&sdhc_1 {
status = "disabled";
@@ -28,3 +29,39 @@
operating-points-v2 = <&sdhc2_opp_table>;
};
&pmk8550_vadc {
/* PM8550BA Channel nodes */
pm7550ba_offset_ref {
status = "ok";
};
pm7550ba_vref_1p25 {
status = "ok";
};
pm7550ba_die_temp {
status = "ok";
};
pm7550ba_vph_pwr {
status = "ok";
};
pm7550ba_chg_temp {
status = "ok";
};
pm7550ba_iin_fb {
status = "ok";
};
pm7550ba_ichg_fb {
status = "ok";
};
};
&pm7550ba_tz {
io-channels = <&pmk8550_vadc PM7550BA_ADC5_GEN3_DIE_TEMP>;
io-channel-names = "thermal";
};

View File

@@ -4,6 +4,11 @@
*/
#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 {
@@ -27,3 +32,365 @@
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";
};
};

View File

@@ -4,6 +4,7 @@
*/
#include <dt-bindings/soc/qcom,ipcc.h>
#include <dt-bindings/spmi/spmi.h>
#include "sdx75.dtsi"
/delete-node/ &apps_smmu;
/delete-node/ &tcsr_mutex;
@@ -1549,6 +1550,115 @@
iommu-addresses = <&qupv3_id_0 0x0 0x40000000>,
<&qupv3_id_0 0x50000000 0xb0000000>;
};
/delete-node/ spmi@c400000;
spmi_bus: qcom,spmi@c42d000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0x0 0xc42d000 0x0 0x4000>,
<0x0 0xc400000 0x0 0x2800>,
<0x0 0xc500000 0x0 0x200000>,
<0x0 0xc440000 0x0 0x3c000>,
<0x0 0xc4c0000 0x0 0x10000>;
reg-names = "cnfg", "core", "chnls", "obsrvr", "intr";
interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "periph_irq";
interrupt-controller;
#interrupt-cells = <4>;
#address-cells = <2>;
#size-cells = <0>;
cell-index = <0>;
qcom,channel = <0>;
qcom,ee = <0>;
qcom,bus-id = <0>;
};
spmi_debug_bus: qcom,spmi-debug@24b14000 {
compatible = "qcom,spmi-pmic-arb-debug";
reg = <0x0 0x24b14000 0x0 0x60>, <0x0 0x221c8784 0x0 0x4>;
reg-names = "core", "fuse";
clock-names = "core_clk";
qcom,fuse-enable-bit = <18>;
#address-cells = <2>;
#size-cells = <0>;
depends-on-supply = <&spmi_bus>;
qcom,pmk8550-debug@0 {
compatible = "qcom,spmi-pmic";
reg = <0 SPMI_USID>;
#address-cells = <2>;
#size-cells = <0>;
qcom,can-sleep;
};
qcom,pmx75-debug@1 {
compatible = "qcom,spmi-pmic";
reg = <1 SPMI_USID>;
#address-cells = <2>;
#size-cells = <0>;
qcom,can-sleep;
};
qcom,pm7550ba-debug@7 {
compatible = "qcom,spmi-pmic";
reg = <7 SPMI_USID>;
#address-cells = <2>;
#size-cells = <0>;
qcom,can-sleep;
};
};
thermal_zones: thermal-zones {
};
pmic_glink: qcom,pmic_glink {
compatible = "qcom,pmic-glink";
qcom,pmic-glink-channel = "PMIC_RTR_ADSP_APPS";
qcom,subsys-name = "mpss";
status = "disabled";
ucsi: qcom,ucsi {
compatible = "qcom,ucsi-glink";
};
qcom,battery_charger {
compatible = "qcom,battery-charger";
qcom,wireless-charging-not-supported;
qcom,thermal-mitigation-step = <500000>;
};
};
pmic_glink_log: qcom,pmic_glink_log {
compatible = "qcom,pmic-glink";
qcom,pmic-glink-channel = "PMIC_LOGS_ADSP_APPS";
status = "disabled";
qcom,battery_debug {
compatible = "qcom,battery-debug";
};
qcom,charger_ulog_glink {
compatible = "qcom,charger-ulog-glink";
};
pmic_glink_debug: qcom,pmic_glink_debug {
compatible = "qcom,pmic-glink-debug";
#address-cells = <1>;
#size-cells = <0>;
depends-on-supply = <&spmi_bus>;
spmi@0 {
reg = <0>;
#address-cells = <2>;
#size-cells = <0>;
qcom,pm7550ba-debug@7 {
compatible = "qcom,spmi-pmic";
reg = <7 SPMI_USID>;
qcom,can-sleep;
};
};
};
};
};
&gcc {