mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 17:36:25 +07:00
041b9a7b9f
The PMS405 PMIC has an ADC that exposes the on-die temperature that we wire up to spmi-temp-alarm thermal driver. This allows the PMIC temperature to be exposed to Linux through the thermal framework. Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
135 lines
2.8 KiB
Plaintext
135 lines
2.8 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
// Copyright (c) 2018, Linaro Limited
|
|
|
|
#include <dt-bindings/spmi/spmi.h>
|
|
#include <dt-bindings/input/linux-event-codes.h>
|
|
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
|
#include <dt-bindings/thermal/thermal.h>
|
|
|
|
/ {
|
|
thermal-zones {
|
|
pms405 {
|
|
polling-delay-passive = <250>;
|
|
polling-delay = <1000>;
|
|
|
|
thermal-sensors = <&pms405_temp>;
|
|
|
|
trips {
|
|
pms405_alert0: pms405-alert0 {
|
|
temperature = <105000>;
|
|
hysteresis = <2000>;
|
|
type = "passive";
|
|
};
|
|
pms405_crit: pms405-crit {
|
|
temperature = <125000>;
|
|
hysteresis = <2000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&spmi_bus {
|
|
pms405_0: pms405@0 {
|
|
compatible = "qcom,spmi-pmic";
|
|
reg = <0x0 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pms405_gpios: gpio@c000 {
|
|
compatible = "qcom,pms405-gpio";
|
|
reg = <0xc000>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
|
|
<0 0xc1 0 IRQ_TYPE_NONE>,
|
|
<0 0xc2 0 IRQ_TYPE_NONE>,
|
|
<0 0xc3 0 IRQ_TYPE_NONE>,
|
|
<0 0xc4 0 IRQ_TYPE_NONE>,
|
|
<0 0xc5 0 IRQ_TYPE_NONE>,
|
|
<0 0xc6 0 IRQ_TYPE_NONE>,
|
|
<0 0xc7 0 IRQ_TYPE_NONE>,
|
|
<0 0xc8 0 IRQ_TYPE_NONE>,
|
|
<0 0xc9 0 IRQ_TYPE_NONE>,
|
|
<0 0xca 0 IRQ_TYPE_NONE>,
|
|
<0 0xcb 0 IRQ_TYPE_NONE>;
|
|
};
|
|
|
|
pon@800 {
|
|
compatible = "qcom,pms405-pon";
|
|
reg = <0x0800>;
|
|
mode-bootloader = <0x2>;
|
|
mode-recovery = <0x1>;
|
|
|
|
pwrkey {
|
|
compatible = "qcom,pm8941-pwrkey";
|
|
interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
|
|
debounce = <15625>;
|
|
bias-pull-up;
|
|
linux,code = <KEY_POWER>;
|
|
};
|
|
};
|
|
|
|
pms405_temp: temp-alarm@2400 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0x2400>;
|
|
interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
|
|
io-channels = <&pms405_adc ADC5_DIE_TEMP>;
|
|
io-channel-names = "thermal";
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
pms405_adc: adc@3100 {
|
|
compatible = "qcom,pms405-adc", "qcom,spmi-adc-rev2";
|
|
reg = <0x3100>;
|
|
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
#io-channel-cells = <1>;
|
|
|
|
ref_gnd {
|
|
reg = <ADC5_REF_GND>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
vref_1p25 {
|
|
reg = <ADC5_1P25VREF>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
vph_pwr {
|
|
reg = <ADC5_VPH_PWR>;
|
|
qcom,pre-scaling = <1 3>;
|
|
};
|
|
|
|
die_temp {
|
|
reg = <ADC5_DIE_TEMP>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
xo_therm_100k_pu {
|
|
reg = <ADC5_XO_THERM_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
amux_thm1_100k_pu {
|
|
reg = <ADC5_AMUX_THM1_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
amux_thm3_100k_pu {
|
|
reg = <ADC5_AMUX_THM3_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
};
|
|
|
|
rtc@6000 {
|
|
compatible = "qcom,pm8941-rtc";
|
|
reg = <0x6000>;
|
|
reg-names = "rtc", "alarm";
|
|
interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
|
|
};
|
|
};
|
|
};
|