mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
Keep the different PMIC definitions in pm8550vs.dtsi disabled by default, and only enable them in boards explicitly. This allows to support boards better which only have pm8550vs_c, like the Milos/SM7635-based Fairphone (Gen. 6). Note: I assume that at least some of these devices with PM8550VS also don't have _c, _d, _e and _g, but this patch is keeping the resulting devicetree the same as before this change, disabling them on boards that don't actually have those is out of scope for this patch. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Link: https://lore.kernel.org/r/20251210-sm7635-fp6-initial-v4-5-b05fddd8b45c@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
199 lines
3.8 KiB
Plaintext
199 lines
3.8 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2022, Linaro Limited
|
|
*/
|
|
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/spmi/spmi.h>
|
|
|
|
/ {
|
|
thermal-zones {
|
|
pm8550vs-c-thermal {
|
|
polling-delay-passive = <100>;
|
|
|
|
thermal-sensors = <&pm8550vs_c_temp_alarm>;
|
|
|
|
trips {
|
|
trip0 {
|
|
temperature = <95000>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
trip1 {
|
|
temperature = <115000>;
|
|
hysteresis = <0>;
|
|
type = "hot";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm8550vs-d-thermal {
|
|
polling-delay-passive = <100>;
|
|
|
|
thermal-sensors = <&pm8550vs_d_temp_alarm>;
|
|
|
|
trips {
|
|
trip0 {
|
|
temperature = <95000>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
trip1 {
|
|
temperature = <115000>;
|
|
hysteresis = <0>;
|
|
type = "hot";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm8550vs-e-thermal {
|
|
polling-delay-passive = <100>;
|
|
|
|
thermal-sensors = <&pm8550vs_e_temp_alarm>;
|
|
|
|
trips {
|
|
trip0 {
|
|
temperature = <95000>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
trip1 {
|
|
temperature = <115000>;
|
|
hysteresis = <0>;
|
|
type = "hot";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm8550vs-g-thermal {
|
|
polling-delay-passive = <100>;
|
|
|
|
thermal-sensors = <&pm8550vs_g_temp_alarm>;
|
|
|
|
trips {
|
|
trip0 {
|
|
temperature = <95000>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
trip1 {
|
|
temperature = <115000>;
|
|
hysteresis = <0>;
|
|
type = "hot";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
&spmi_bus {
|
|
pm8550vs_c: pmic@2 {
|
|
compatible = "qcom,pm8550", "qcom,spmi-pmic";
|
|
reg = <0x2 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
|
|
pm8550vs_c_temp_alarm: temp-alarm@a00 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0xa00>;
|
|
interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
pm8550vs_c_gpios: gpio@8800 {
|
|
compatible = "qcom,pm8550vs-gpio", "qcom,spmi-gpio";
|
|
reg = <0x8800>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pm8550vs_c_gpios 0 0 6>;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
|
|
pm8550vs_d: pmic@3 {
|
|
compatible = "qcom,pm8550", "qcom,spmi-pmic";
|
|
reg = <0x3 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
|
|
pm8550vs_d_temp_alarm: temp-alarm@a00 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0xa00>;
|
|
interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
pm8550vs_d_gpios: gpio@8800 {
|
|
compatible = "qcom,pm8550vs-gpio", "qcom,spmi-gpio";
|
|
reg = <0x8800>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pm8550vs_d_gpios 0 0 6>;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
|
|
pm8550vs_e: pmic@4 {
|
|
compatible = "qcom,pm8550", "qcom,spmi-pmic";
|
|
reg = <0x4 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
|
|
pm8550vs_e_temp_alarm: temp-alarm@a00 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0xa00>;
|
|
interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
pm8550vs_e_gpios: gpio@8800 {
|
|
compatible = "qcom,pm8550vs-gpio", "qcom,spmi-gpio";
|
|
reg = <0x8800>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pm8550vs_e_gpios 0 0 6>;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
|
|
pm8550vs_g: pmic@6 {
|
|
compatible = "qcom,pm8550", "qcom,spmi-pmic";
|
|
reg = <0x6 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
|
|
pm8550vs_g_temp_alarm: temp-alarm@a00 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0xa00>;
|
|
interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
pm8550vs_g_gpios: gpio@8800 {
|
|
compatible = "qcom,pm8550vs-gpio", "qcom,spmi-gpio";
|
|
reg = <0x8800>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pm8550vs_g_gpios 0 0 6>;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
};
|