On Thu, Feb 23, 2023 at 10:55 PM AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> 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 <angelogioacchino.delregno@xxxxxxxxxxxxx> > --- > .../boot/dts/mediatek/mt8195-cherry.dtsi | 124 ++++++++++++++++++ > 1 file changed, 124 insertions(+) > > diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi > index 24669093fbed..ae2052a7160d 100644 > --- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi > +++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi > @@ -104,6 +104,108 @@ ppvar_sys: regulator-ppvar-sys { > regulator-boot-on; > }; > > + 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 = < (-5000) 4241 > + 0 4063 > + 5000 3856 > + 10000 3621 > + 15000 3364 > + 20000 3091 > + 25000 2810 > + 30000 2526 > + 35000 2247 > + 40000 1982 > + 45000 1734 > + 50000 1507 > + 55000 1305 > + 60000 1122 > + 65000 964 > + 70000 827 > + 75000 710 > + 80000 606 > + 85000 519 > + 90000 445 > + 95000 382 > + 100000 330 > + 105000 284 > + 110000 245 > + 115000 213 > + 120000 183 > + 125000 161>; > + }; > + > + tboard_thermistor2: thermal-sensor-t2 { > + compatible = "generic-adc-thermal"; > + #thermal-sensor-cells = <0>; > + io-channels = <&auxadc 0>; You are reusing the same channel for all three sensors. That doesn't make a lot of sense. Furthermore, the design only has two thermistors, connected to the first two ADC channels. The first one is located near the SoC; the second one is near the PMIC. ChenYu > + io-channel-names = "sensor-channel"; > + temperature-lookup-table = < (-5000) 4241 > + 0 4063 > + 5000 3856 > + 10000 3621 > + 15000 3364 > + 20000 3091 > + 25000 2810 > + 30000 2526 > + 35000 2247 > + 40000 1982 > + 45000 1734 > + 50000 1507 > + 55000 1305 > + 60000 1122 > + 65000 964 > + 70000 827 > + 75000 710 > + 80000 606 > + 85000 519 > + 90000 445 > + 95000 382 > + 100000 330 > + 105000 284 > + 110000 245 > + 115000 213 > + 120000 183 > + 125000 161>; > + }; > + > + tboard_thermistor3: thermal-sensor-t3 { > + compatible = "generic-adc-thermal"; > + #thermal-sensor-cells = <0>; > + io-channels = <&auxadc 0>; > + io-channel-names = "sensor-channel"; > + temperature-lookup-table = < (-5000) 4241 > + 0 4063 > + 5000 3856 > + 10000 3621 > + 15000 3364 > + 20000 3091 > + 25000 2810 > + 30000 2526 > + 35000 2247 > + 40000 1982 > + 45000 1734 > + 50000 1507 > + 55000 1305 > + 60000 1122 > + 65000 964 > + 70000 827 > + 75000 710 > + 80000 606 > + 85000 519 > + 90000 445 > + 95000 382 > + 100000 330 > + 105000 284 > + 110000 245 > + 115000 213 > + 120000 183 > + 125000 161>; > + }; > + > usb_vbus: regulator-5v0-usb-vbus { > compatible = "regulator-fixed"; > regulator-name = "usb-vbus"; > @@ -243,6 +345,10 @@ &gpu { > mali-supply = <&mt6315_7_vbuck1>; > }; > > +&auxadc { > + status = "okay"; > +}; > + > &i2c0 { > status = "okay"; > > @@ -1074,6 +1180,24 @@ mt6315_7_vbuck1: vbuck1 { > }; > }; > > +&thermal_zones { > + ap_ntc1 { > + polling-delay = <1000>; > + polling-delay-passive = <0>; > + thermal-sensors = <&tboard_thermistor1>; > + }; > + ap_ntc2 { > + polling-delay = <1000>; > + polling-delay-passive = <0>; > + thermal-sensors = <&tboard_thermistor2>; > + }; > + ap_ntc3 { > + polling-delay = <1000>; > + polling-delay-passive = <0>; > + thermal-sensors = <&tboard_thermistor3>; > + }; > +}; > + > &u3phy0 { > status = "okay"; > }; > -- > 2.39.2 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel