File Index
Files and directories
Sign in
FILE

samsung,exynos-thermal.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/thermal/samsung,exynos-thermal.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/thermal/samsung,exynos-thermal.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Samsung Exynos SoC Thermal Management Unit (TMU)
  8
  9maintainers:
 10  - Krzysztof Kozlowski <krzk@kernel.org>
 11
 12description: |
 13  For multi-instance tmu each instance should have an alias correctly numbered
 14  in "aliases" node.
 15
 16properties:
 17  compatible:
 18    enum:
 19      - samsung,exynos3250-tmu
 20      - samsung,exynos4412-tmu
 21      - samsung,exynos4210-tmu
 22      - samsung,exynos5250-tmu
 23      - samsung,exynos5260-tmu
 24        # For TMU channel 0, 1 on Exynos5420:
 25      - samsung,exynos5420-tmu
 26        # For TMU channels 2, 3 and 4 of Exynos5420:
 27      - samsung,exynos5420-tmu-ext-triminfo
 28      - samsung,exynos5433-tmu
 29      - samsung,exynos7-tmu
 30
 31  clocks:
 32    minItems: 1
 33    maxItems: 3
 34
 35  clock-names:
 36    minItems: 1
 37    maxItems: 3
 38
 39  interrupts:
 40    description: |
 41      The Exynos TMU supports generating interrupts when reaching given
 42      temperature thresholds. Number of supported thermal trip points depends
 43      on the SoC (only first trip points defined in DT will be configured)::
 44       - most of SoC: 4
 45       - samsung,exynos5433-tmu: 8
 46       - samsung,exynos7-tmu: 8
 47    maxItems: 1
 48
 49  reg:
 50    items:
 51      - description: TMU instance registers.
 52      - description: |
 53          Shared TMU registers.
 54
 55          Note:: On Exynos5420, the TRIMINFO register is misplaced for TMU
 56          channels 2, 3 and 4 Use "samsung,exynos5420-tmu-ext-triminfo" in
 57          cases, there is a misplaced register, also provide clock to access
 58          that base.
 59          TRIMINFO at 0x1006c000 contains data for TMU channel 3
 60          TRIMINFO at 0x100a0000 contains data for TMU channel 4
 61          TRIMINFO at 0x10068000 contains data for TMU channel 2
 62    minItems: 1
 63
 64  '#thermal-sensor-cells':
 65    const: 0
 66
 67  vtmu-supply:
 68    description: The regulator node supplying voltage to TMU.
 69
 70required:
 71  - compatible
 72  - clocks
 73  - clock-names
 74  - interrupts
 75  - reg
 76
 77allOf:
 78  - $ref: /schemas/thermal/thermal-sensor.yaml
 79  - if:
 80      properties:
 81        compatible:
 82          contains:
 83            const: samsung,exynos5420-tmu-ext-triminfo
 84    then:
 85      properties:
 86        clocks:
 87          items:
 88            - description:
 89                Operational clock for TMU channel.
 90            - description:
 91                Optional clock to access the shared registers (e.g. TRIMINFO) of TMU
 92                channel.
 93        clock-names:
 94          items:
 95            - const: tmu_apbif
 96            - const: tmu_triminfo_apbif
 97        reg:
 98          minItems: 2
 99          maxItems: 2
100  - if:
101      properties:
102        compatible:
103          contains:
104            enum:
105              - samsung,exynos5433-tmu
106              - samsung,exynos7-tmu
107    then:
108      properties:
109        clocks:
110          items:
111            - description:
112                Operational clock for TMU channel.
113            - description:
114                Optional special clock for functional operation of TMU channel.
115        clock-names:
116          items:
117            - const: tmu_apbif
118            - const: tmu_sclk
119        reg:
120          minItems: 1
121          maxItems: 1
122
123  - if:
124      properties:
125        compatible:
126          contains:
127            enum:
128              - samsung,exynos3250-tmu
129              - samsung,exynos4412-tmu
130              - samsung,exynos4210-tmu
131              - samsung,exynos5250-tmu
132              - samsung,exynos5260-tmu
133              - samsung,exynos5420-tmu
134    then:
135      properties:
136        clocks:
137          minItems: 1
138          maxItems: 1
139        reg:
140          minItems: 1
141          maxItems: 1
142
143additionalProperties: false
144
145examples:
146  - |
147    #include <dt-bindings/clock/exynos4.h>
148
149    tmu@100c0000 {
150        compatible = "samsung,exynos4412-tmu";
151        reg = <0x100C0000 0x100>;
152        interrupt-parent = <&combiner>;
153        interrupts = <2 4>;
154        #thermal-sensor-cells = <0>;
155        clocks = <&clock CLK_TMU_APBIF>;
156        clock-names = "tmu_apbif";
157        vtmu-supply = <&ldo10_reg>;
158    };
159
160  - |
161    #include <dt-bindings/interrupt-controller/arm-gic.h>
162
163    tmu@10068000 {
164        compatible = "samsung,exynos5420-tmu-ext-triminfo";
165        reg = <0x10068000 0x100>, <0x1006c000 0x4>;
166        interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
167        #thermal-sensor-cells = <0>;
168        clocks = <&clock 318>, <&clock 318>; /* CLK_TMU */
169        clock-names = "tmu_apbif", "tmu_triminfo_apbif";
170        vtmu-supply = <&ldo7_reg>;
171    };
172
173  - |
174    #include <dt-bindings/interrupt-controller/arm-gic.h>
175
176    tmu@10060000 {
177        compatible = "samsung,exynos5433-tmu";
178        reg = <0x10060000 0x200>;
179        interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
180        #thermal-sensor-cells = <0>;
181        clocks = <&cmu_peris 3>, /* CLK_PCLK_TMU0_APBIF */
182                 <&cmu_peris 35>; /* CLK_SCLK_TMU0 */
183        clock-names = "tmu_apbif", "tmu_sclk";
184        vtmu-supply = <&ldo3_reg>;
185    };
~/ Read-only file preview.