# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/thermal/rzg2l-thermal.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas RZ/G2L Thermal Sensor Unit

description:
  On RZ/G2L SoCs, the thermal sensor unit (TSU) measures the
  temperature(Tj) inside the LSI.

maintainers:
  - Biju Das <biju.das.jz@bp.renesas.com>

properties:
  compatible:
    items:
      - enum:
          - renesas,r9a07g043-tsu # RZ/G2UL
          - renesas,r9a07g044-tsu # RZ/G2{L,LC}
          - renesas,r9a07g054-tsu # RZ/V2L
      - const: renesas,rzg2l-tsu

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  "#thermal-sensor-cells":
    const: 1

required:
  - compatible
  - reg
  - clocks
  - power-domains
  - resets
  - "#thermal-sensor-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/r9a07g044-cpg.h>

    tsu: thermal@10059400 {
            compatible = "renesas,r9a07g044-tsu",
                         "renesas,rzg2l-tsu";
            reg = <0x10059400 0x400>;
            clocks = <&cpg CPG_MOD R9A07G044_TSU_PCLK>;
            resets = <&cpg R9A07G044_TSU_PRESETN>;
            power-domains = <&cpg>;
            #thermal-sensor-cells = <1>;
    };

    thermal-zones {
            cpu-thermal {
                    polling-delay-passive = <250>;
                    polling-delay = <1000>;
                    thermal-sensors = <&tsu 0>;

                    trips {
                            sensor_crit: sensor-crit {
                                    temperature = <125000>;
                                    hysteresis = <1000>;
                                    type = "critical";
                            };
                    };
            };
    };
