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

title: Samsung Exynos SoC Thermal Management Unit (TMU)

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

description: |
  For multi-instance tmu each instance should have an alias correctly numbered
  in "aliases" node.

properties:
  compatible:
    enum:
      - samsung,exynos3250-tmu
      - samsung,exynos4412-tmu
      - samsung,exynos4210-tmu
      - samsung,exynos5250-tmu
      - samsung,exynos5260-tmu
        # For TMU channel 0, 1 on Exynos5420:
      - samsung,exynos5420-tmu
        # For TMU channels 2, 3 and 4 of Exynos5420:
      - samsung,exynos5420-tmu-ext-triminfo
      - samsung,exynos5433-tmu
      - samsung,exynos7-tmu

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    minItems: 1
    maxItems: 3

  interrupts:
    description: |
      The Exynos TMU supports generating interrupts when reaching given
      temperature thresholds. Number of supported thermal trip points depends
      on the SoC (only first trip points defined in DT will be configured)::
       - most of SoC: 4
       - samsung,exynos5433-tmu: 8
       - samsung,exynos7-tmu: 8
    maxItems: 1

  reg:
    items:
      - description: TMU instance registers.
      - description: |
          Shared TMU registers.

          Note:: On Exynos5420, the TRIMINFO register is misplaced for TMU
          channels 2, 3 and 4 Use "samsung,exynos5420-tmu-ext-triminfo" in
          cases, there is a misplaced register, also provide clock to access
          that base.
          TRIMINFO at 0x1006c000 contains data for TMU channel 3
          TRIMINFO at 0x100a0000 contains data for TMU channel 4
          TRIMINFO at 0x10068000 contains data for TMU channel 2
    minItems: 1

  '#thermal-sensor-cells':
    const: 0

  vtmu-supply:
    description: The regulator node supplying voltage to TMU.

required:
  - compatible
  - clocks
  - clock-names
  - interrupts
  - reg

allOf:
  - $ref: /schemas/thermal/thermal-sensor.yaml
  - if:
      properties:
        compatible:
          contains:
            const: samsung,exynos5420-tmu-ext-triminfo
    then:
      properties:
        clocks:
          items:
            - description:
                Operational clock for TMU channel.
            - description:
                Optional clock to access the shared registers (e.g. TRIMINFO) of TMU
                channel.
        clock-names:
          items:
            - const: tmu_apbif
            - const: tmu_triminfo_apbif
        reg:
          minItems: 2
          maxItems: 2
  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,exynos5433-tmu
              - samsung,exynos7-tmu
    then:
      properties:
        clocks:
          items:
            - description:
                Operational clock for TMU channel.
            - description:
                Optional special clock for functional operation of TMU channel.
        clock-names:
          items:
            - const: tmu_apbif
            - const: tmu_sclk
        reg:
          minItems: 1
          maxItems: 1

  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,exynos3250-tmu
              - samsung,exynos4412-tmu
              - samsung,exynos4210-tmu
              - samsung,exynos5250-tmu
              - samsung,exynos5260-tmu
              - samsung,exynos5420-tmu
    then:
      properties:
        clocks:
          minItems: 1
          maxItems: 1
        reg:
          minItems: 1
          maxItems: 1

additionalProperties: false

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

    tmu@100c0000 {
        compatible = "samsung,exynos4412-tmu";
        reg = <0x100C0000 0x100>;
        interrupt-parent = <&combiner>;
        interrupts = <2 4>;
        #thermal-sensor-cells = <0>;
        clocks = <&clock CLK_TMU_APBIF>;
        clock-names = "tmu_apbif";
        vtmu-supply = <&ldo10_reg>;
    };

  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    tmu@10068000 {
        compatible = "samsung,exynos5420-tmu-ext-triminfo";
        reg = <0x10068000 0x100>, <0x1006c000 0x4>;
        interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
        #thermal-sensor-cells = <0>;
        clocks = <&clock 318>, <&clock 318>; /* CLK_TMU */
        clock-names = "tmu_apbif", "tmu_triminfo_apbif";
        vtmu-supply = <&ldo7_reg>;
    };

  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    tmu@10060000 {
        compatible = "samsung,exynos5433-tmu";
        reg = <0x10060000 0x200>;
        interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
        #thermal-sensor-cells = <0>;
        clocks = <&cmu_peris 3>, /* CLK_PCLK_TMU0_APBIF */
                 <&cmu_peris 35>; /* CLK_SCLK_TMU0 */
        clock-names = "tmu_apbif", "tmu_sclk";
        vtmu-supply = <&ldo3_reg>;
    };
