* DT bindings for Renesas R-Car Gen3 Thermal Sensor driver

On R-Car Gen3 SoCs, the thermal sensor controllers (TSC) control the thermal
sensors (THS) which are the analog circuits for measuring temperature (Tj)
inside the LSI.

Required properties:
- compatible		: "renesas,<soctype>-thermal",
			  Examples with soctypes are:
			    - "renesas,r8a7795-thermal" (R-Car H3)
			    - "renesas,r8a7796-thermal" (R-Car M3-W)
			    - "renesas,r8a77965-thermal" (R-Car M3-N)
- reg			: Address ranges of the thermal registers. Each sensor
			  needs one address range. Sorting must be done in
			  increasing order according to datasheet, i.e.
			  TSC1, TSC2, ...
- clocks		: Must contain a reference to the functional clock.
- #thermal-sensor-cells : must be <1>.

Optional properties:

- interrupts           : interrupts routed to the TSC (3 for H3, M3-W and M3-N)
- power-domain		: Must contain a reference to the power domain. This
			  property is mandatory if the thermal sensor instance
			  is part of a controllable power domain.

Example:

	tsc: thermal@e6198000 {
		compatible = "renesas,r8a7795-thermal";
		reg = <0 0xe6198000 0 0x100>,
		      <0 0xe61a0000 0 0x100>,
		      <0 0xe61a8000 0 0x100>;
		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cpg CPG_MOD 522>;
		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
		#thermal-sensor-cells = <1>;
	};

	thermal-zones {
		sensor_thermal1: sensor-thermal1 {
			polling-delay-passive = <250>;
			polling-delay = <1000>;
			thermal-sensors = <&tsc 0>;

			trips {
				sensor1_crit: sensor1-crit {
					temperature = <90000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};
		};
	};
