On Thu, Feb 20, 2025 at 04:26:08PM +0100, John Madieu wrote: > The Renesas RZ/G3E SoC includes a Thermal Sensor Unit (TSU) block designed > to measure the junction temperature. The device provides real-time temperature > measurements for thermal management, utilizing a single dedicated channel > (channel 1) for temperature sensing. > > Signed-off-by: John Madieu <john.madieu.xa@xxxxxxxxxxxxxx> > --- > .../thermal/renesas,r9a09g047-tsu.yaml | 123 ++++++++++++++++++ > 1 file changed, 123 insertions(+) > create mode 100644 Documentation/devicetree/bindings/thermal/renesas,r9a09g047-tsu.yaml > > diff --git a/Documentation/devicetree/bindings/thermal/renesas,r9a09g047-tsu.yaml b/Documentation/devicetree/bindings/thermal/renesas,r9a09g047-tsu.yaml > new file mode 100644 > index 000000000000..dbd3860a31d0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/thermal/renesas,r9a09g047-tsu.yaml > @@ -0,0 +1,123 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/thermal/renesas,r9a09g047-tsu.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Renesas RZ/G3E Temperature Sensor Unit (TSU) > + > +maintainers: > + - John Madieu <john.madieu.xa@xxxxxxxxxxxxxx> > + > +description: | Don't need '|' if there is no formatting to preserve. > + The Temperature Sensor Unit (TSU) is an integrated thermal sensor that monitors Wrap lines at <80 char. > + the chip temperature on the Renesas RZ/G3E SoC. The TSU provides real-time > + temperature measurements for thermal management. > + > +properties: > + compatible: > + const: renesas,r9a09g047-tsu > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + resets: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > + interrupts: > + description: | > + Interrupt specifiers for the TSU: > + - S12TSUADI1: Conversion complete interrupt signal (pulse) > + - S12TSUADCMPI1: Comparison result interrupt signal (level) > + > + interrupt-names: > + items: > + - const: S12TSUADI1 > + - const: S12TSUADCMPI1 Odd names for the interrupts... 'S12TSUAD' is the same for both, so that part is redundant from my perspective. I guess if these strings are meaningful for anyone familiar with this h/w, then it's fine. > + > + "#thermal-sensor-cells": > + const: 0 > + > + renesas,tsu-calibration-sys: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: | > + Phandle to the system controller (sys) that contains the TSU > + calibration values used for temperature calculations. > + > + renesas,tsu-operating-mode: > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] > + description: | > + TSU operating mode: > + 0: Mode 0 - Conversion started by software > + 1: Mode 1 - Conversion started by ELC trigger > + > +required: > + - compatible > + - reg > + - clocks > + - resets > + - power-domains > + - interrupts > + - interrupt-names > + - "#thermal-sensor-cells" > + - renesas,tsu-operating-mode > + - renesas,tsu-calibration-sys > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/renesas,r9a09g047-cpg.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + tsu: thermal@14002000 { > + compatible = "renesas,r9a09g047-tsu"; > + reg = <0 0x14002000 0 0x1000>; > + clocks = <&cpg CPG_MOD 0x10a>; > + resets = <&cpg 0xf8>; > + power-domains = <&cpg>; > + interrupts = <GIC_SPI 250 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-names = "S12TSUADI1", "S12TSUADCMPI1"; > + #thermal-sensor-cells = <0>; > + renesas,tsu-operating-mode = <0>; > + renesas,tsu-calibration-sys = <&sys>; > + }; > + > + thermal-zones { > + cpu-thermal { > + polling-delay = <1000>; > + polling-delay-passive = <250>; > + thermal-sensors = <&tsu>; > + > + cooling-maps { > + map0 { > + trip = <&target>; > + cooling-device = <&cpu0 0 3>, <&cpu1 0 3>, > + <&cpu2 0 3>, <&cpu3 0 3>; > + contribution = <1024>; > + }; > + }; > + > + trips { > + target: trip-point { > + temperature = <95000>; > + hysteresis = <1000>; > + type = "passive"; > + }; > + > + sensor_crit: sensor-crit { > + temperature = <120000>; > + hysteresis = <1000>; > + type = "critical"; > + }; > + }; > + }; > + }; > -- > 2.25.1 >