mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 12:57:53 +00:00
9f6cbe37a7
It's not worth duplicating the same node over and over again, so let's keep the common bits in the pm660 DTSI, making only changing the status and keycode necessary. Also, disable RESIN/PWR by default just in case if there are devices that doesn't use them. Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org> Signed-off-by: Dang Huynh <danct12@riseup.net> Reviewed-by: Caleb Connolly <caleb@connolly.tech> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20211120214227.779742-3-danct12@riseup.net
194 lines
4.1 KiB
Text
194 lines
4.1 KiB
Text
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2020, Konrad Dybcio
|
|
*/
|
|
|
|
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
|
#include <dt-bindings/input/linux-event-codes.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/spmi/spmi.h>
|
|
#include <dt-bindings/thermal/thermal.h>
|
|
|
|
/ {
|
|
thermal-zones {
|
|
pm660 {
|
|
polling-delay-passive = <250>;
|
|
polling-delay = <1000>;
|
|
|
|
thermal-sensors = <&pm660_temp>;
|
|
|
|
trips {
|
|
pm660_alert0: pm660-alert0 {
|
|
temperature = <95000>;
|
|
hysteresis = <2000>;
|
|
type = "passive";
|
|
};
|
|
pm660_crit: pm660-crit {
|
|
temperature = <125000>;
|
|
hysteresis = <2000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&spmi_bus {
|
|
|
|
pmic@0 {
|
|
compatible = "qcom,pm660", "qcom,spmi-pmic";
|
|
reg = <0x0 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
rtc@6000 {
|
|
compatible = "qcom,pm8941-rtc";
|
|
reg = <0x6000>, <0x6100>;
|
|
reg-names = "rtc", "alarm";
|
|
interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
|
|
};
|
|
|
|
pon: pon@800 {
|
|
compatible = "qcom,pm8998-pon";
|
|
reg = <0x800>;
|
|
mode-bootloader = <0x2>;
|
|
mode-recovery = <0x1>;
|
|
|
|
pon_pwrkey: pwrkey {
|
|
compatible = "qcom,pm8941-pwrkey";
|
|
interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
|
|
debounce = <15625>;
|
|
bias-pull-up;
|
|
linux,code = <KEY_POWER>;
|
|
|
|
status = "disabled";
|
|
};
|
|
|
|
pon_resin: resin {
|
|
compatible = "qcom,pm8941-resin";
|
|
interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
|
|
debounce = <15625>;
|
|
bias-pull-up;
|
|
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
pm660_temp: temp-alarm@2400 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0x2400>;
|
|
interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
|
|
io-channels = <&pm660_adc ADC5_DIE_TEMP>;
|
|
io-channel-names = "thermal";
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
pm660_adc: adc@3100 {
|
|
compatible = "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: ref_gnd@0 {
|
|
reg = <ADC5_REF_GND>;
|
|
qcom,decimation = <1024>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
vref_1p25: vref_1p25@1 {
|
|
reg = <ADC5_1P25VREF>;
|
|
qcom,decimation = <1024>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
die_temp: die_temp@6 {
|
|
reg = <ADC5_DIE_TEMP>;
|
|
qcom,decimation = <1024>;
|
|
qcom,pre-scaling = <1 1>;
|
|
};
|
|
|
|
xo_therm: xo_therm@4c {
|
|
reg = <ADC5_XO_THERM_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
qcom,decimation = <1024>;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,ratiometric;
|
|
};
|
|
|
|
msm_therm: msm_therm@4d {
|
|
reg = <ADC5_AMUX_THM1_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
qcom,decimation = <1024>;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,ratiometric;
|
|
};
|
|
|
|
emmc_therm: emmc_therm@4e {
|
|
reg = <ADC5_AMUX_THM2_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
qcom,decimation = <1024>;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,ratiometric;
|
|
};
|
|
|
|
pa_therm0: thermistor0@4f {
|
|
reg = <ADC5_AMUX_THM3_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
qcom,decimation = <1024>;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,ratiometric;
|
|
};
|
|
|
|
pa_therm1: thermistor1@50 {
|
|
reg = <ADC5_AMUX_THM4_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
qcom,decimation = <1024>;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,ratiometric;
|
|
};
|
|
|
|
quiet_therm: quiet_therm@51 {
|
|
reg = <ADC5_AMUX_THM5_100K_PU>;
|
|
qcom,pre-scaling = <1 1>;
|
|
qcom,decimation = <1024>;
|
|
qcom,hw-settle-time = <200>;
|
|
qcom,ratiometric;
|
|
};
|
|
|
|
vadc_vph_pwr: vph_pwr@83 {
|
|
reg = <ADC5_VPH_PWR>;
|
|
qcom,decimation = <1024>;
|
|
qcom,pre-scaling = <1 3>;
|
|
};
|
|
|
|
vcoin: vcoin@83 {
|
|
reg = <ADC5_VCOIN>;
|
|
qcom,decimation = <1024>;
|
|
qcom,pre-scaling = <1 3>;
|
|
};
|
|
};
|
|
|
|
pm660_gpios: gpios@c000 {
|
|
compatible = "qcom,pm660-gpio";
|
|
reg = <0xc000>;
|
|
gpio-controller;
|
|
gpio-ranges = <&pm660_gpios 0 0 13>;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
|
|
pmic@1 {
|
|
compatible = "qcom,pm660", "qcom,spmi-pmic";
|
|
reg = <0x1 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pm660_spmi_regulators: pm660-regulators {
|
|
compatible = "qcom,pm660-regulators";
|
|
};
|
|
};
|
|
};
|