Message ID | 20250315081225.92118-3-john.madieu.xa@bp.renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | thermal: renesas: Add support fot RZ/G3E | expand |
On Sat, Mar 15, 2025 at 09:12:12AM +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. Please wrap commit message according to Linux coding style / submission process (neither too early nor over the limit): https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597 Please run scripts/checkpatch.pl and fix reported warnings. After that, run also 'scripts/checkpatch.pl --strict' and (probably) fix more warnings. Some warnings can be ignored, especially from --strict run, but the code here looks like it needs a fix. Feel free to get in touch if the warning is not clear. > > Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com> > --- > v1 -> v2: > * Fix reg property specifier to get rid of yamlint warnings > * Fix IRQ name to reflect TSU expectations ... > + interrupts: > + description: | > + Interrupt specifiers for the TSU: > + - S12TSUADI1: Conversion complete interrupt signal (pulse) > + - S12TSUADCMPI1: Comparison result interrupt signal (level) Same problems as before - you need to list and describe items to have constraints. Otherwise why 5 interrupts are allowed but only two interrupt-names (test this)? There is no syntax like above in any other bindings. If you found such, please share the filename so we can fix it. > + > + interrupt-names: > + items: > + - const: adi > + - const: adcmpi > + > + "#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. > + > +required: > + - compatible > + - reg > + - clocks > + - resets > + - power-domains > + - interrupts > + - interrupt-names > + - "#thermal-sensor-cells" > + - 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 = <0x14002000 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 = "adi", "adcmpi"; > + #thermal-sensor-cells = <0>; > + renesas,tsu-calibration-sys = <&sys>; > + }; > + > + thermal-zones { Drop the node, no need to show how to use provider binding. Best regards, Krzysztof
Hi Krzysztof, Thanks for the review! > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: Monday, March 17, 2025 10:29 AM > To: John Madieu <john.madieu.xa@bp.renesas.com> > Subject: Re: [PATCH v3 2/6] dt-bindings: thermal: r9a09g047-tsu: Document > the TSU unit > > On Sat, Mar 15, 2025 at 09:12:12AM +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. > > Please wrap commit message according to Linux coding style / submission > process (neither too early nor over the limit): Will be fixed in v4. > > Please run scripts/checkpatch.pl and fix reported warnings. After that, > run also 'scripts/checkpatch.pl --strict' and (probably) fix more > warnings. Some warnings can be ignored, especially from --strict run, but > the code here looks like it needs a fix. Feel free to get in touch if the > warning is not clear. Noted. Thanks! > > > > > Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com> > > --- > > v1 -> v2: > > * Fix reg property specifier to get rid of yamlint warnings > > * Fix IRQ name to reflect TSU expectations > > ... > > > + interrupts: > > + description: | > > + Interrupt specifiers for the TSU: > > + - S12TSUADI1: Conversion complete interrupt signal (pulse) > > + - S12TSUADCMPI1: Comparison result interrupt signal (level) > > Same problems as before - you need to list and describe items to have > constraints. Otherwise why 5 interrupts are allowed but only two > interrupt-names (test this)? > > There is no syntax like above in any other bindings. If you found such, > please share the filename so we can fix it. Will fix it in v4. > > > + > > + interrupt-names: > > + items: > > + - const: adi > > + - const: adcmpi > > + > > + "#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. > > + > > +required: > > + - compatible > > + - reg > > + - clocks > > + - resets > > + - power-domains > > + - interrupts > > + - interrupt-names > > + - "#thermal-sensor-cells" > > + - renesas,tsu-calibration-sys > > + > > + thermal-zones { > > Drop the node, no need to show how to use provider binding. Noted. Thanks! > > Best regards, > Krzysztof Regards, John
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..46f0646d1c4f --- /dev/null +++ b/Documentation/devicetree/bindings/thermal/renesas,r9a09g047-tsu.yaml @@ -0,0 +1,113 @@ +# 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@bp.renesas.com> + +description: + The Temperature Sensor Unit (TSU) is an integrated thermal sensor that + monitors 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: adi + - const: adcmpi + + "#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. + +required: + - compatible + - reg + - clocks + - resets + - power-domains + - interrupts + - interrupt-names + - "#thermal-sensor-cells" + - 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 = <0x14002000 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 = "adi", "adcmpi"; + #thermal-sensor-cells = <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"; + }; + }; + }; + };
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@bp.renesas.com> --- v1 -> v2: * Fix reg property specifier to get rid of yamlint warnings * Fix IRQ name to reflect TSU expectations v2 -> v3: * Remove useless 'renesas,tsu-operating-mode' property .../thermal/renesas,r9a09g047-tsu.yaml | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 Documentation/devicetree/bindings/thermal/renesas,r9a09g047-tsu.yaml