Commit 9f24a81e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull thermal soc updates from Eduardo Valentin:
 "Specifics:

   - mediatek thermal now supports MT8183

   - broadcom thermal now supports Stingray

   - qoirq now supports multiple sensors

   - fixes on different drivers: rcar, tsens, tegra

  Some new drivers are still pending further review and I chose to leave
  them for the next merge window while still sending this material"

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal:
  thermal: rcar_gen3_thermal: Register hwmon sysfs interface
  thermal/qcom/tsens-common : fix possible object reference leak
  thermal: tegra: add get_trend ops
  thermal: tegra: fix memory allocation
  thermal: tegra: remove unnecessary warnings
  thermal: mediatek: add support for MT8183
  dt-bindings: thermal: add binding document for mt8183 thermal controller
  thermal: mediatek: add flag for bank selection
  thermal: mediatek: add thermal controller offset
  thermal: mediatek: add calibration item
  thermal: mediatek: add common index of vts settings.
  thermal: mediatek: fix register index error
  thermal: qoriq: add multiple sensors support
  thermal: broadcom: Add Stingray thermal driver
  dt-bindings: thermal: Add binding document for SR thermal
parents 564e7411 6269e9f7
Loading
Loading
Loading
Loading
+105 −0
Original line number Diff line number Diff line
* Broadcom Stingray Thermal

This binding describes thermal sensors that is part of Stingray SoCs.

Required properties:
- compatible : Must be "brcm,sr-thermal"
- reg : Memory where tmon data will be available.
- brcm,tmon-mask: A one cell bit mask of valid TMON sources.
                  Each bit represents single TMON source.
- #thermal-sensor-cells : Thermal sensor phandler
- polling-delay: Max number of milliseconds to wait between polls.
- thermal-sensors: A list of thermal sensor phandles and specifier.
                   specifier value is tmon ID and it should be
                   in correspond with brcm,tmon-mask.
- temperature: trip temperature threshold in millicelsius.

Example:
	tmons {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x0 0x0 0x8f100000 0x100>;

		tmon: tmon@0 {
			compatible = "brcm,sr-thermal";
			reg = <0x0 0x40>;
			brcm,tmon-mask = <0x3f>;
			#thermal-sensor-cells = <1>;
		};
	};

	thermal-zones {
		ihost0_thermal: ihost0-thermal {
			polling-delay-passive = <0>;
			polling-delay = <1000>;
			thermal-sensors = <&tmon 0>;
			trips {
				cpu-crit {
					temperature = <105000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
		ihost1_thermal: ihost1-thermal {
			polling-delay-passive = <0>;
			polling-delay = <1000>;
			thermal-sensors = <&tmon 1>;
			trips {
				cpu-crit {
					temperature = <105000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
		ihost2_thermal: ihost2-thermal {
			polling-delay-passive = <0>;
			polling-delay = <1000>;
			thermal-sensors = <&tmon 2>;
			trips {
				cpu-crit {
					temperature = <105000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
		ihost3_thermal: ihost3-thermal {
			polling-delay-passive = <0>;
			polling-delay = <1000>;
			thermal-sensors = <&tmon 3>;
			trips {
				cpu-crit {
					temperature = <105000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
		crmu_thermal: crmu-thermal {
			polling-delay-passive = <0>;
			polling-delay = <1000>;
			thermal-sensors = <&tmon 4>;
			trips {
				cpu-crit {
					temperature = <105000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
		nitro_thermal: nitro-thermal {
			polling-delay-passive = <0>;
			polling-delay = <1000>;
			thermal-sensors = <&tmon 5>;
			trips {
				cpu-crit {
					temperature = <105000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
	};
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ Required properties:
  - "mediatek,mt2701-thermal" : For MT2701 family of SoCs
  - "mediatek,mt2712-thermal" : For MT2712 family of SoCs
  - "mediatek,mt7622-thermal" : For MT7622 SoC
  - "mediatek,mt8183-thermal" : For MT8183 family of SoCs
- reg: Address range of the thermal controller
- interrupts: IRQ for the thermal controller
- clocks, clock-names: Clocks needed for the thermal controller. required
+2 −1
Original line number Diff line number Diff line
@@ -344,7 +344,8 @@ source "drivers/thermal/intel/Kconfig"
endmenu

menu "Broadcom thermal drivers"
depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST
depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \
		COMPILE_TEST
source "drivers/thermal/broadcom/Kconfig"
endmenu

+9 −0
Original line number Diff line number Diff line
@@ -22,3 +22,12 @@ config BCM_NS_THERMAL
	  BCM4708, BCM4709, BCM5301x, BCM95852X, etc). It contains DMU (Device
	  Management Unit) block with a thermal sensor that allows checking CPU
	  temperature.

config BCM_SR_THERMAL
	tristate "Stingray thermal driver"
	depends on ARCH_BCM_IPROC || COMPILE_TEST
	default ARCH_BCM_IPROC
	help
	  Support for the Stingray family of SoCs. Its different blocks like
	  iHost, CRMU and NITRO has thermal sensor that allows checking its
	  temperature.
+1 −0
Original line number Diff line number Diff line
obj-$(CONFIG_BCM2835_THERMAL)		+= bcm2835_thermal.o
obj-$(CONFIG_BRCMSTB_THERMAL)		+= brcmstb_thermal.o
obj-$(CONFIG_BCM_NS_THERMAL)		+= ns-thermal.o
obj-$(CONFIG_BCM_SR_THERMAL)		+= sr-thermal.o
Loading