This platform has three auxiliary NTC thermistors, connected to the
SoC's ADC pins. Enable the auxadc in order to be able to read the
ADC values, add a generic-adc-thermal LUT for each and finally assign
them to the SoC's thermal zones.
Signed-off-by: AngeloGioacchino Del Regno <[email protected]>
Tested-by: Chen-Yu Tsai <[email protected]>
Reviewed-by: Chen-Yu Tsai <[email protected]>
---
.../boot/dts/mediatek/mt8195-cherry.dtsi | 105 ++++++++++++++++++
1 file changed, 105 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index 8ac80a136c37..4229f4f7dc2f 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -114,6 +114,77 @@ ppvar_sys: regulator-ppvar-sys {
regulator-boot-on;
};
+ /* Murata NCP03WF104F05RL */
+ tboard_thermistor1: thermal-sensor-t1 {
+ compatible = "generic-adc-thermal";
+ #thermal-sensor-cells = <0>;
+ io-channels = <&auxadc 0>;
+ io-channel-names = "sensor-channel";
+ temperature-lookup-table = < (-10000) 1553
+ (-5000) 1485
+ 0 1406
+ 5000 1317
+ 10000 1219
+ 15000 1115
+ 20000 1007
+ 25000 900
+ 30000 796
+ 35000 697
+ 40000 605
+ 45000 523
+ 50000 449
+ 55000 384
+ 60000 327
+ 65000 279
+ 70000 237
+ 75000 202
+ 80000 172
+ 85000 147
+ 90000 125
+ 95000 107
+ 100000 92
+ 105000 79
+ 110000 68
+ 115000 59
+ 120000 51
+ 125000 44>;
+ };
+
+ tboard_thermistor2: thermal-sensor-t2 {
+ compatible = "generic-adc-thermal";
+ #thermal-sensor-cells = <0>;
+ io-channels = <&auxadc 1>;
+ io-channel-names = "sensor-channel";
+ temperature-lookup-table = < (-10000) 1553
+ (-5000) 1485
+ 0 1406
+ 5000 1317
+ 10000 1219
+ 15000 1115
+ 20000 1007
+ 25000 900
+ 30000 796
+ 35000 697
+ 40000 605
+ 45000 523
+ 50000 449
+ 55000 384
+ 60000 327
+ 65000 279
+ 70000 237
+ 75000 202
+ 80000 172
+ 85000 147
+ 90000 125
+ 95000 107
+ 100000 92
+ 105000 79
+ 110000 68
+ 115000 59
+ 120000 51
+ 125000 44>;
+ };
+
usb_vbus: regulator-5v0-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "usb-vbus";
@@ -260,6 +331,10 @@ &gpu {
mali-supply = <&mt6315_7_vbuck1>;
};
+&auxadc {
+ status = "okay";
+};
+
&i2c0 {
status = "okay";
@@ -1098,6 +1173,36 @@ mt6315_7_vbuck1: vbuck1 {
};
};
+&thermal_zones {
+ soc-area-thermal {
+ polling-delay = <1000>;
+ polling-delay-passive = <250>;
+ thermal-sensors = <&tboard_thermistor1>;
+
+ trips {
+ trip-crit {
+ temperature = <84000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ pmic-area-thermal {
+ polling-delay = <1000>;
+ polling-delay-passive = <0>;
+ thermal-sensors = <&tboard_thermistor2>;
+
+ trips {
+ trip-crit {
+ temperature = <84000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+};
+
&u3phy0 {
status = "okay";
};
--
2.40.0
On 24/04/2023 13:25, AngeloGioacchino Del Regno wrote:
> This platform has three auxiliary NTC thermistors, connected to the
> SoC's ADC pins. Enable the auxadc in order to be able to read the
> ADC values, add a generic-adc-thermal LUT for each and finally assign
> them to the SoC's thermal zones.
>
> Signed-off-by: AngeloGioacchino Del Regno <[email protected]>
> Tested-by: Chen-Yu Tsai <[email protected]>
> Reviewed-by: Chen-Yu Tsai <[email protected]>
> ---
> .../boot/dts/mediatek/mt8195-cherry.dtsi | 105 ++++++++++++++++++
> 1 file changed, 105 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
> index 8ac80a136c37..4229f4f7dc2f 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
> @@ -114,6 +114,77 @@ ppvar_sys: regulator-ppvar-sys {
> regulator-boot-on;
> };
>
> + /* Murata NCP03WF104F05RL */
> + tboard_thermistor1: thermal-sensor-t1 {
> + compatible = "generic-adc-thermal";
> + #thermal-sensor-cells = <0>;
> + io-channels = <&auxadc 0>;
> + io-channel-names = "sensor-channel";
> + temperature-lookup-table = < (-10000) 1553
> + (-5000) 1485
> + 0 1406
> + 5000 1317
> + 10000 1219
> + 15000 1115
> + 20000 1007
> + 25000 900
> + 30000 796
> + 35000 697
> + 40000 605
> + 45000 523
> + 50000 449
> + 55000 384
> + 60000 327
> + 65000 279
> + 70000 237
> + 75000 202
> + 80000 172
> + 85000 147
> + 90000 125
> + 95000 107
> + 100000 92
> + 105000 79
> + 110000 68
> + 115000 59
> + 120000 51
> + 125000 44>;
> + };
> +
> + tboard_thermistor2: thermal-sensor-t2 {
> + compatible = "generic-adc-thermal";
> + #thermal-sensor-cells = <0>;
> + io-channels = <&auxadc 1>;
> + io-channel-names = "sensor-channel";
> + temperature-lookup-table = < (-10000) 1553
> + (-5000) 1485
> + 0 1406
> + 5000 1317
> + 10000 1219
> + 15000 1115
> + 20000 1007
> + 25000 900
> + 30000 796
> + 35000 697
> + 40000 605
> + 45000 523
> + 50000 449
> + 55000 384
> + 60000 327
> + 65000 279
> + 70000 237
> + 75000 202
> + 80000 172
> + 85000 147
> + 90000 125
> + 95000 107
> + 100000 92
> + 105000 79
> + 110000 68
> + 115000 59
> + 120000 51
> + 125000 44>;
> + };
> +
> usb_vbus: regulator-5v0-usb-vbus {
> compatible = "regulator-fixed";
> regulator-name = "usb-vbus";
> @@ -260,6 +331,10 @@ &gpu {
> mali-supply = <&mt6315_7_vbuck1>;
> };
>
> +&auxadc {
Can you put it in alphabetical order please. ?
> + status = "okay";
> +};
> +
> &i2c0 {
> status = "okay";
>
> @@ -1098,6 +1173,36 @@ mt6315_7_vbuck1: vbuck1 {
> };
> };
>
> +&thermal_zones {
> + soc-area-thermal {
> + polling-delay = <1000>;
> + polling-delay-passive = <250>;
> + thermal-sensors = <&tboard_thermistor1>;
> +
> + trips {
> + trip-crit {
> + temperature = <84000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +
> + pmic-area-thermal {
> + polling-delay = <1000>;
> + polling-delay-passive = <0>;
> + thermal-sensors = <&tboard_thermistor2>;
> +
> + trips {
> + trip-crit {
> + temperature = <84000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +};
> +
> &u3phy0 {
> status = "okay";
> };
After that:
Reviewed-by: Alexandre Mergnat <[email protected]>
Regards,
Alexandre
Hi Angelo
On Tue, Apr 25, 2023 at 01:46:42PM +0200, Alexandre Mergnat wrote:
> On 24/04/2023 13:25, AngeloGioacchino Del Regno wrote:
> > This platform has three auxiliary NTC thermistors, connected to the
> > SoC's ADC pins. Enable the auxadc in order to be able to read the
> > ADC values, add a generic-adc-thermal LUT for each and finally assign
> > them to the SoC's thermal zones.
> >
> > Signed-off-by: AngeloGioacchino Del Regno <[email protected]>
> > Tested-by: Chen-Yu Tsai <[email protected]>
> > Reviewed-by: Chen-Yu Tsai <[email protected]>
> > ---
> > .../boot/dts/mediatek/mt8195-cherry.dtsi | 105 ++++++++++++++++++
> > 1 file changed, 105 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
> > index 8ac80a136c37..4229f4f7dc2f 100644
> > --- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
> > +++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
> > @@ -114,6 +114,77 @@ ppvar_sys: regulator-ppvar-sys {
> > regulator-boot-on;
> > };
> > + /* Murata NCP03WF104F05RL */
> > + tboard_thermistor1: thermal-sensor-t1 {
> > + compatible = "generic-adc-thermal";
> > + #thermal-sensor-cells = <0>;
> > + io-channels = <&auxadc 0>;
> > + io-channel-names = "sensor-channel";
> > + temperature-lookup-table = < (-10000) 1553
> > + (-5000) 1485
> > + 0 1406
> > + 5000 1317
> > + 10000 1219
> > + 15000 1115
> > + 20000 1007
> > + 25000 900
> > + 30000 796
> > + 35000 697
> > + 40000 605
> > + 45000 523
> > + 50000 449
> > + 55000 384
> > + 60000 327
> > + 65000 279
> > + 70000 237
> > + 75000 202
> > + 80000 172
> > + 85000 147
> > + 90000 125
> > + 95000 107
> > + 100000 92
> > + 105000 79
> > + 110000 68
> > + 115000 59
> > + 120000 51
> > + 125000 44>;
> > + };
> > +
> > + tboard_thermistor2: thermal-sensor-t2 {
> > + compatible = "generic-adc-thermal";
> > + #thermal-sensor-cells = <0>;
> > + io-channels = <&auxadc 1>;
> > + io-channel-names = "sensor-channel";
> > + temperature-lookup-table = < (-10000) 1553
> > + (-5000) 1485
> > + 0 1406
> > + 5000 1317
> > + 10000 1219
> > + 15000 1115
> > + 20000 1007
> > + 25000 900
> > + 30000 796
> > + 35000 697
> > + 40000 605
> > + 45000 523
> > + 50000 449
> > + 55000 384
> > + 60000 327
> > + 65000 279
> > + 70000 237
> > + 75000 202
> > + 80000 172
> > + 85000 147
> > + 90000 125
> > + 95000 107
> > + 100000 92
> > + 105000 79
> > + 110000 68
> > + 115000 59
> > + 120000 51
> > + 125000 44>;
> > + };
> > +
> > usb_vbus: regulator-5v0-usb-vbus {
> > compatible = "regulator-fixed";
> > regulator-name = "usb-vbus";
> > @@ -260,6 +331,10 @@ &gpu {
> > mali-supply = <&mt6315_7_vbuck1>;
> > };
> > +&auxadc {
>
> Can you put it in alphabetical order please. ?
I believe this patch needs to be respun?
> > + status = "okay";
> > +};
> > +
> > &i2c0 {
> > status = "okay";
> > @@ -1098,6 +1173,36 @@ mt6315_7_vbuck1: vbuck1 {
> > };
> > };
> > +&thermal_zones {
> > + soc-area-thermal {
> > + polling-delay = <1000>;
> > + polling-delay-passive = <250>;
> > + thermal-sensors = <&tboard_thermistor1>;
> > +
> > + trips {
> > + trip-crit {
> > + temperature = <84000>;
> > + hysteresis = <1000>;
> > + type = "critical";
> > + };
> > + };
> > + };
> > +
> > + pmic-area-thermal {
> > + polling-delay = <1000>;
> > + polling-delay-passive = <0>;
> > + thermal-sensors = <&tboard_thermistor2>;
> > +
> > + trips {
> > + trip-crit {
> > + temperature = <84000>;
> > + hysteresis = <1000>;
> > + type = "critical";
> > + };
> > + };
> > + };
> > +};
> > +
> > &u3phy0 {
> > status = "okay";
> > };
>
> After that:
> Reviewed-by: Alexandre Mergnat <[email protected]>
>
> Regards,
> Alexandre
>