# 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': true

  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>;
    };
