| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/thermal/imx-thermal.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: NXP i.MX Thermal
- maintainers:
- - Shawn Guo <shawnguo@kernel.org>
- properties:
- compatible:
- oneOf:
- - enum:
- - fsl,imx6q-tempmon
- - fsl,imx6sx-tempmon
- - fsl,imx7d-tempmon
- - items:
- - enum:
- - fsl,imx6sll-tempmon
- - fsl,imx6ul-tempmon
- - const: fsl,imx6sx-tempmon
- interrupts:
- description: |
- The interrupt output of the controller, i.MX6Q has IRQ_HIGH which
- will be triggered when temperature is higher than high threshold,
- i.MX6SX and i.MX7S/D have two more IRQs than i.MX6Q, one is IRQ_LOW
- and the other is IRQ_PANIC, when temperature is lower than low
- threshold, IRQ_LOW will be triggered, when temperature is higher
- than panic threshold, IRQ_PANIC will be triggered, and system can
- be configured to auto reboot by SRC module for IRQ_PANIC. IRQ_HIGH,
- IRQ_LOW and IRQ_PANIC share same interrupt output of controller.
- maxItems: 1
- nvmem-cells:
- items:
- - description: Phandle to the calibration data provided by ocotp
- - description: Phandle to the temperature grade provided by ocotp
- nvmem-cell-names:
- items:
- - const: calib
- - const: temp_grade
- fsl,tempmon:
- $ref: /schemas/types.yaml#/definitions/phandle
- description: Phandle to anatop system controller node.
- fsl,tempmon-data:
- $ref: /schemas/types.yaml#/definitions/phandle
- description: |
- Deprecated property, phandle pointer to fuse controller that contains
- TEMPMON calibration data, e.g. OCOTP on imx6q. The details about
- calibration data can be found in SoC Reference Manual.
- deprecated: true
- clocks:
- maxItems: 1
- "#thermal-sensor-cells":
- const: 0
- required:
- - compatible
- - interrupts
- - fsl,tempmon
- - nvmem-cells
- - nvmem-cell-names
- allOf:
- - $ref: thermal-sensor.yaml#
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/clock/imx6sx-clock.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- efuse@21bc000 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "fsl,imx6sx-ocotp", "syscon";
- reg = <0x021bc000 0x4000>;
- clocks = <&clks IMX6SX_CLK_OCOTP>;
- tempmon_calib: calib@38 {
- reg = <0x38 4>;
- };
- tempmon_temp_grade: temp-grade@20 {
- reg = <0x20 4>;
- };
- };
- anatop@20c8000 {
- compatible = "fsl,imx6q-anatop", "syscon", "simple-mfd";
- reg = <0x020c8000 0x1000>;
- interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
- <0 54 IRQ_TYPE_LEVEL_HIGH>,
- <0 127 IRQ_TYPE_LEVEL_HIGH>;
- tempmon {
- compatible = "fsl,imx6sx-tempmon";
- interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
- fsl,tempmon = <&anatop>;
- nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
- nvmem-cell-names = "calib", "temp_grade";
- clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
- #thermal-sensor-cells = <0>;
- };
- };
|