Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
250 changes: 250 additions & 0 deletions arch/arm64/boot/dts/qcom/hamoa-pmics.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
#include <dt-bindings/input/input.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/spmi/spmi.h>
#include "qcom-adc5-gen3.h"

/ {
thermal-zones {
Expand Down Expand Up @@ -189,6 +191,90 @@
};
};
};

sys-0-thermal {
polling-delay-passive = <0>;
thermal-sensors = <&pmk8550_vadc ADC5_GEN3_AMUX1_GPIO_100K_PU(1)>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};

sys-1-thermal {
polling-delay-passive = <0>;
thermal-sensors = <&pmk8550_vadc ADC5_GEN3_AMUX2_GPIO_100K_PU(1)>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};

sys-2-thermal {
polling-delay-passive = <0>;
thermal-sensors = <&pmk8550_vadc ADC5_GEN3_AMUX1_THM_100K_PU(1)>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};

sys-3-thermal {
polling-delay-passive = <0>;
thermal-sensors = <&pmk8550_vadc ADC5_GEN3_AMUX2_THM_100K_PU(1)>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};

sys-4-thermal {
polling-delay-passive = <0>;
thermal-sensors = <&pmk8550_vadc ADC5_GEN3_AMUX3_THM_100K_PU(1)>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};

sys-5-thermal {
polling-delay-passive = <0>;
thermal-sensors = <&pmk8550_vadc ADC5_GEN3_AMUX4_THM_100K_PU(1)>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};

sys-6-thermal {
polling-delay-passive = <0>;
thermal-sensors = <&pmk8550_vadc ADC5_GEN3_AMUX5_THM_100K_PU(1)>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
};

Expand Down Expand Up @@ -257,6 +343,142 @@

status = "disabled";
};

pmk8550_vadc: adc@9000 {
compatible = "qcom,spmi-adc5-gen3";
reg = <0x9000>, <0x9100>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <0x0 0x90 0x1 IRQ_TYPE_EDGE_RISING>,
<0x0 0x91 0x1 IRQ_TYPE_EDGE_RISING>;
#thermal-sensor-cells = <1>;
#io-channel-cells = <1>;
pinctrl-0 = <&sys_therm_0_gpio3>, <&sys_therm_1_gpio4>;
pinctrl-names = "default";

channel@3 {
reg = <ADC5_GEN3_DIE_TEMP(0)>;
label = "pmk8550_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@103 {
reg = <ADC5_GEN3_DIE_TEMP(1)>;
label = "pm8550_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@18e {
reg = <ADC5_GEN3_VPH_PWR(1)>;
label = "pm8550_vph_pwr";
qcom,pre-scaling = <1 3>;
};

channel@14a {
reg = <ADC5_GEN3_AMUX1_GPIO_100K_PU(1)>;
label = "pm8550_gpio_01";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm;
};

channel@14b {
reg = <ADC5_GEN3_AMUX2_GPIO_100K_PU(1)>;
label = "pm8550_gpio_02";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm;
};

channel@144 {
reg = <ADC5_GEN3_AMUX1_THM_100K_PU(1)>;
label = "pm8550_therm_2";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm;
};

channel@145 {
reg = <ADC5_GEN3_AMUX2_THM_100K_PU(1)>;
label = "pm8550_therm_3";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm;
};

channel@146 {
reg = <ADC5_GEN3_AMUX3_THM_100K_PU(1)>;
label = "pm8550_therm_4";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm;
};

channel@147 {
reg = <ADC5_GEN3_AMUX4_THM_100K_PU(1)>;
label = "pm8550_therm_5";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm;
};

channel@148 {
reg = <ADC5_GEN3_AMUX5_THM_100K_PU(1)>;
label = "pm8550_therm_6";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
qcom,adc-tm;
};

channel@203 {
reg = <ADC5_GEN3_DIE_TEMP(2)>;
label = "pm8550ve_2_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@303 {
reg = <ADC5_GEN3_DIE_TEMP(3)>;
label = "pmc8380_3_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@403 {
reg = <ADC5_GEN3_DIE_TEMP(4)>;
label = "pmc8380_4_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@503 {
reg = <ADC5_GEN3_DIE_TEMP(5)>;
label = "pmc8380_5_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@603 {
reg = <ADC5_GEN3_DIE_TEMP(6)>;
label = "pmc8380_6_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@803 {
reg = <ADC5_GEN3_DIE_TEMP(8)>;
label = "pm8550ve_8_die_temp";
qcom,pre-scaling = <1 1>;
};

channel@903 {
reg = <ADC5_GEN3_DIE_TEMP(9)>;
label = "pm8550ve_9_die_temp";
qcom,pre-scaling = <1 1>;
};
};
};

/* PMC8380C */
Expand All @@ -271,6 +493,8 @@
reg = <0xa00>;
interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(1)>;
io-channel-names = "thermal";
};

pm8550_gpios: gpio@8800 {
Expand All @@ -281,6 +505,18 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;

sys_therm_0_gpio3: sys-therm_0-gpio3-state {
pins = "gpio3";
function = PMIC_GPIO_FUNC_NORMAL;
bias-high-impedance;
};

sys_therm_1_gpio4: sys-therm-1-gpio4-state {
pins = "gpio4";
function = PMIC_GPIO_FUNC_NORMAL;
bias-high-impedance;
};
};

pm8550_flash: led-controller@ee00 {
Expand Down Expand Up @@ -309,6 +545,8 @@
reg = <0xa00>;
interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(2)>;
io-channel-names = "thermal";
};

pm8550ve_2_gpios: gpio@8800 {
Expand All @@ -334,6 +572,8 @@
reg = <0xa00>;
interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(3)>;
io-channel-names = "thermal";
};

pmc8380_3_gpios: gpio@8800 {
Expand All @@ -358,6 +598,8 @@
reg = <0xa00>;
interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(4)>;
io-channel-names = "thermal";
};

pmc8380_4_gpios: gpio@8800 {
Expand All @@ -382,6 +624,8 @@
reg = <0xa00>;
interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(5)>;
io-channel-names = "thermal";
};

pmc8380_5_gpios: gpio@8800 {
Expand All @@ -406,6 +650,8 @@
reg = <0xa00>;
interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(6)>;
io-channel-names = "thermal";
};

pmc8380_6_gpios: gpio@8800 {
Expand All @@ -431,6 +677,8 @@
reg = <0xa00>;
interrupts = <0x8 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(8)>;
io-channel-names = "thermal";
};

pm8550ve_8_gpios: gpio@8800 {
Expand All @@ -456,6 +704,8 @@
reg = <0xa00>;
interrupts = <0x9 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
io-channels = <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(9)>;
io-channel-names = "thermal";
};

pm8550ve_9_gpios: gpio@8800 {
Expand Down