ARM: dts: imx6dl: plym2m, prtvt7, victgo: add thermal zones and hwmon
authorOleksij Rempel <o.rempel@pengutronix.de>
Fri, 11 Feb 2022 13:30:35 +0000 (14:30 +0100)
committerShawn Guo <shawnguo@kernel.org>
Sun, 13 Feb 2022 05:20:14 +0000 (13:20 +0800)
Add thermal zones and hwmon connected to the ADC-touchscreen controller.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6dl-plym2m.dts
arch/arm/boot/dts/imx6dl-prtvt7.dts
arch/arm/boot/dts/imx6dl-victgo.dts

index 73c7622..c4ce23d 100644 (file)
                };
        };
 
+       iio-hwmon {
+               compatible = "iio-hwmon";
+               io-channels = <&vdiv_vaccu>;
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
                regulator-max-microvolt = <12000000>;
        };
 
+       thermal-zones {
+               chassis-thermal {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&tsens0>;
+               };
+
+               touch-thermal0 {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&touch_temp0>;
+               };
+
+               touch-thermal1 {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&touch_temp1>;
+               };
+       };
+
        touchscreen {
                compatible = "resistive-adc-touch";
                io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                touchscreen-x-plate-ohms = <300>;
                touchscreen-y-plate-ohms = <800>;
        };
+
+       touch_temp0: touch-temperature-sensor0 {
+               compatible = "generic-adc-thermal";
+               #thermal-sensor-cells = <0>;
+               io-channels = <&adc_ts 0>;
+               io-channel-names = "sensor-channel";
+               temperature-lookup-table = <    (-40000) 736
+                                               85000 474>;
+       };
+
+       touch_temp1: touch-temperature-sensor1 {
+               compatible = "generic-adc-thermal";
+               #thermal-sensor-cells = <0>;
+               io-channels = <&adc_ts 7>;
+               io-channel-names = "sensor-channel";
+               temperature-lookup-table = <    (-40000) 826
+                                               85000 609>;
+       };
+
+       vdiv_vaccu: voltage-divider-vaccu {
+               compatible = "voltage-divider";
+               io-channels = <&adc_ts 2>;
+               output-ohms = <2500>;
+               full-ohms = <64000>;
+               #io-channel-cells = <0>;
+       };
 };
 
 &can1 {
                #address-cells = <1>;
                #size-cells = <0>;
 
+               channel@0 {
+                       reg = <0>;
+                       settling-time-us = <300>;
+                       oversampling-ratio = <5>;
+               };
+
                channel@1 {
                        reg = <1>;
                        settling-time-us = <700>;
                        oversampling-ratio = <5>;
                };
 
+               channel@2 {
+                       reg = <2>;
+                       settling-time-us = <300>;
+                       oversampling-ratio = <5>;
+               };
+
                channel@3 {
                        reg = <3>;
                        settling-time-us = <700>;
                        settling-time-us = <700>;
                        oversampling-ratio = <5>;
                };
+
+               /* channel 6 is not connected */
+
+               channel@7 {
+                       reg = <7>;
+                       settling-time-us = <300>;
+                       oversampling-ratio = <5>;
+               };
        };
 };
 
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       temperature-sensor@70 {
+       tsens0: temperature-sensor@70 {
                compatible = "ti,tmp103";
                reg = <0x70>;
+               #thermal-sensor-cells = <0>;
        };
 };
 
index 59e0674..b86deeb 100644 (file)
                };
        };
 
+       iio-hwmon {
+               compatible = "iio-hwmon";
+               io-channels = <&vdiv_vaccu>;
+       };
+
        keys {
                compatible = "gpio-keys";
                autorepeat;
                };
        };
 
+       thermal-zones {
+               chassis-thermal {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&tsens0>;
+               };
+
+               touch-thermal0 {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&touch_temp0>;
+               };
+
+               touch-thermal1 {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&touch_temp1>;
+               };
+       };
+
        touchscreen {
                compatible = "resistive-adc-touch";
                io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                touchscreen-x-plate-ohms = <300>;
                touchscreen-y-plate-ohms = <800>;
        };
+
+       touch_temp0: touch-temperature-sensor0 {
+               compatible = "generic-adc-thermal";
+               #thermal-sensor-cells = <0>;
+               io-channels = <&adc_ts 0>;
+               io-channel-names = "sensor-channel";
+               temperature-lookup-table = <    (-40000) 736
+                                               85000 474>;
+       };
+
+       touch_temp1: touch-temperature-sensor1 {
+               compatible = "generic-adc-thermal";
+               #thermal-sensor-cells = <0>;
+               io-channels = <&adc_ts 7>;
+               io-channel-names = "sensor-channel";
+               temperature-lookup-table = <    (-40000) 826
+                                               85000 609>;
+       };
+
+       vdiv_vaccu: voltage-divider-vaccu {
+               compatible = "voltage-divider";
+               io-channels = <&adc_ts 2>;
+               output-ohms = <2500>;
+               full-ohms = <64000>;
+               #io-channel-cells = <0>;
+       };
 };
 
 &audmux {
                reg = <0x51>;
        };
 
+       tsens0: temperature-sensor@70 {
+               compatible = "ti,tmp103";
+               reg = <0x70>;
+               #thermal-sensor-cells = <0>;
+       };
+
        gpio_pca: gpio@74 {
                compatible = "nxp,pca9539";
                reg = <0x74>;
index 52de091..227c952 100644 (file)
                };
        };
 
+       iio-hwmon {
+               compatible = "iio-hwmon";
+               io-channels = <&vdiv_vaccu>, <&vdiv_hitch_pos>;
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
                };
        };
 
+       thermal-zones {
+               chassis-thermal {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&tsens0>;
+               };
+
+               touch-thermal0 {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&touch_temp0>;
+               };
+
+               touch-thermal1 {
+                       polling-delay = <20000>;
+                       polling-delay-passive = <0>;
+                       thermal-sensors = <&touch_temp1>;
+               };
+       };
+
        touchscreen {
                compatible = "resistive-adc-touch";
                io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                touchscreen-x-plate-ohms = <300>;
                touchscreen-y-plate-ohms = <800>;
        };
+
+       touch_temp0: touch-temperature-sensor0 {
+               compatible = "generic-adc-thermal";
+               #thermal-sensor-cells = <0>;
+               io-channels = <&adc_ts 0>;
+               io-channel-names = "sensor-channel";
+               temperature-lookup-table = <    (-40000) 736
+                                               85000 474>;
+       };
+
+       touch_temp1: touch-temperature-sensor1 {
+               compatible = "generic-adc-thermal";
+               #thermal-sensor-cells = <0>;
+               io-channels = <&adc_ts 7>;
+               io-channel-names = "sensor-channel";
+               temperature-lookup-table = <    (-40000) 826
+                                               85000 609>;
+       };
+
+       vdiv_vaccu: voltage-divider-vaccu {
+               compatible = "voltage-divider";
+               io-channels = <&adc_ts 2>;
+               output-ohms = <2500>;
+               full-ohms = <64000>;
+               #io-channel-cells = <0>;
+       };
+
+       vdiv_hitch_pos: voltage-divider-hitch-pos {
+               compatible = "voltage-divider";
+               io-channels = <&adc_ts 6>;
+               output-ohms = <3300>;
+               full-ohms = <13300>;
+               #io-channel-cells = <0>;
+       };
 };
 
 &audmux {
                reg = <0x51>;
        };
 
-       temperature-sensor@70 {
+       tsens0: temperature-sensor@70 {
                compatible = "ti,tmp103";
                reg = <0x70>;
+               #thermal-sensor-cells = <0>;
        };
 };