File Index
Files and directories
Sign in
FILE

imx-thermal.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/thermal/imx-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/imx-thermal.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: NXP i.MX Thermal
  8
  9maintainers:
 10  - Shawn Guo <shawnguo@kernel.org>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - enum:
 16          - fsl,imx6q-tempmon
 17          - fsl,imx6sx-tempmon
 18          - fsl,imx7d-tempmon
 19      - items:
 20          - enum:
 21              - fsl,imx6sll-tempmon
 22              - fsl,imx6ul-tempmon
 23          - const: fsl,imx6sx-tempmon
 24
 25  interrupts:
 26    description: |
 27      The interrupt output of the controller, i.MX6Q has IRQ_HIGH which
 28      will be triggered when temperature is higher than high threshold,
 29      i.MX6SX and i.MX7S/D have two more IRQs than i.MX6Q, one is IRQ_LOW
 30      and the other is IRQ_PANIC, when temperature is lower than low
 31      threshold, IRQ_LOW will be triggered, when temperature is higher
 32      than panic threshold, IRQ_PANIC will be triggered, and system can
 33      be configured to auto reboot by SRC module for IRQ_PANIC. IRQ_HIGH,
 34      IRQ_LOW and IRQ_PANIC share same interrupt output of controller.
 35    maxItems: 1
 36
 37  nvmem-cells:
 38    items:
 39      - description: Phandle to the calibration data provided by ocotp
 40      - description: Phandle to the temperature grade provided by ocotp
 41
 42  nvmem-cell-names:
 43    items:
 44      - const: calib
 45      - const: temp_grade
 46
 47  fsl,tempmon:
 48    $ref: /schemas/types.yaml#/definitions/phandle
 49    description: Phandle to anatop system controller node.
 50
 51  fsl,tempmon-data:
 52    $ref: /schemas/types.yaml#/definitions/phandle
 53    description: |
 54      Deprecated property, phandle pointer to fuse controller that contains
 55      TEMPMON calibration data, e.g. OCOTP on imx6q. The details about
 56      calibration data can be found in SoC Reference Manual.
 57    deprecated: true
 58
 59  clocks:
 60    maxItems: 1
 61
 62  "#thermal-sensor-cells":
 63    const: 0
 64
 65required:
 66  - compatible
 67  - interrupts
 68  - fsl,tempmon
 69  - nvmem-cells
 70  - nvmem-cell-names
 71
 72allOf:
 73  - $ref: thermal-sensor.yaml#
 74
 75additionalProperties: false
 76
 77examples:
 78  - |
 79    #include <dt-bindings/clock/imx6sx-clock.h>
 80    #include <dt-bindings/interrupt-controller/arm-gic.h>
 81
 82    efuse@21bc000 {
 83        #address-cells = <1>;
 84        #size-cells = <1>;
 85        compatible = "fsl,imx6sx-ocotp", "syscon";
 86        reg = <0x021bc000 0x4000>;
 87        clocks = <&clks IMX6SX_CLK_OCOTP>;
 88
 89        tempmon_calib: calib@38 {
 90            reg = <0x38 4>;
 91        };
 92
 93        tempmon_temp_grade: temp-grade@20 {
 94            reg = <0x20 4>;
 95        };
 96    };
 97
 98    anatop@20c8000 {
 99        compatible = "fsl,imx6q-anatop", "syscon", "simple-mfd";
100        reg = <0x020c8000 0x1000>;
101        interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
102                     <0 54 IRQ_TYPE_LEVEL_HIGH>,
103                     <0 127 IRQ_TYPE_LEVEL_HIGH>;
104
105        tempmon {
106            compatible = "fsl,imx6sx-tempmon";
107            interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
108            fsl,tempmon = <&anatop>;
109            nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
110            nvmem-cell-names = "calib", "temp_grade";
111            clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
112            #thermal-sensor-cells = <0>;
113        };
114    };
~/ Read-only file preview.