18c2ecf20Sopenharmony_ciThermal driver for MAX77620 Power management IC from Maxim Semiconductor.
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciMaxim Semiconductor MAX77620 supports alarm interrupts when its
48c2ecf20Sopenharmony_cidie temperature crosses 120C and 140C. These threshold temperatures
58c2ecf20Sopenharmony_ciare not configurable. Device does not provide the real temperature
68c2ecf20Sopenharmony_ciof die other than just indicating whether temperature is above or
78c2ecf20Sopenharmony_cibelow threshold level.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciRequired properties:
108c2ecf20Sopenharmony_ci-------------------
118c2ecf20Sopenharmony_ci#thermal-sensor-cells:	For more details, please refer to
128c2ecf20Sopenharmony_ci			<devicetree/bindings/thermal/thermal-sensor.yaml>
138c2ecf20Sopenharmony_ci			The value must be 0.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciFor more details, please refer generic thermal DT binding document
168c2ecf20Sopenharmony_ci<devicetree/bindings/thermal/thermal*.yaml>.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciPlease refer <devicetree/bindings/mfd/max77620.txt> for mfd DT binding
198c2ecf20Sopenharmony_cidocument for the MAX77620.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciExample:
228c2ecf20Sopenharmony_ci--------
238c2ecf20Sopenharmony_ci#include <dt-bindings/mfd/max77620.h>
248c2ecf20Sopenharmony_ci#include <dt-bindings/thermal/thermal.h>
258c2ecf20Sopenharmony_ci...
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_cii2c@7000d000 {
288c2ecf20Sopenharmony_ci	spmic: max77620@3c {
298c2ecf20Sopenharmony_ci		compatible = "maxim,max77620";
308c2ecf20Sopenharmony_ci		:::::
318c2ecf20Sopenharmony_ci		#thermal-sensor-cells = <0>;
328c2ecf20Sopenharmony_ci		:::
338c2ecf20Sopenharmony_ci	};
348c2ecf20Sopenharmony_ci};
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_cicool_dev: cool-dev {
378c2ecf20Sopenharmony_ci	compatible = "cooling-dev";
388c2ecf20Sopenharmony_ci	#cooling-cells = <2>;
398c2ecf20Sopenharmony_ci};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_cithermal-zones {
428c2ecf20Sopenharmony_ci	PMIC-Die {
438c2ecf20Sopenharmony_ci		polling-delay = <0>;
448c2ecf20Sopenharmony_ci		polling-delay-passive = <0>;
458c2ecf20Sopenharmony_ci		thermal-sensors = <&spmic>;
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci		trips {
488c2ecf20Sopenharmony_ci			pmic_die_warn_temp_thresh: hot-die {
498c2ecf20Sopenharmony_ci				temperature = <120000>;
508c2ecf20Sopenharmony_ci				type = "hot";
518c2ecf20Sopenharmony_ci				hysteresis = <0>;
528c2ecf20Sopenharmony_ci			};
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci			pmic_die_cirt_temp_thresh: cirtical-die {
558c2ecf20Sopenharmony_ci				temperature = <140000>;
568c2ecf20Sopenharmony_ci				type = "critical";
578c2ecf20Sopenharmony_ci				hysteresis = <0>;
588c2ecf20Sopenharmony_ci			};
598c2ecf20Sopenharmony_ci		};
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci		cooling-maps {
628c2ecf20Sopenharmony_ci			map0 {
638c2ecf20Sopenharmony_ci				trip = <&pmic_die_warn_temp_thresh>;
648c2ecf20Sopenharmony_ci				cooling-device = <&cool_dev THERMAL_NO_LIMIT
658c2ecf20Sopenharmony_ci						  THERMAL_NO_LIMIT>;
668c2ecf20Sopenharmony_ci				contribution = <100>;
678c2ecf20Sopenharmony_ci			};
688c2ecf20Sopenharmony_ci		};
698c2ecf20Sopenharmony_ci	};
708c2ecf20Sopenharmony_ci};
71