16d97d497SAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26d97d497SAnson Huang%YAML 1.2
36d97d497SAnson Huang---
46d97d497SAnson Huang$id: http://devicetree.org/schemas/thermal/imx-thermal.yaml#
56d97d497SAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml#
66d97d497SAnson Huang
7*84e85359SKrzysztof Kozlowskititle: NXP i.MX Thermal
86d97d497SAnson Huang
96d97d497SAnson Huangmaintainers:
10e65b85ddSFabio Estevam  - Shawn Guo <shawnguo@kernel.org>
116d97d497SAnson Huang  - Anson Huang <Anson.Huang@nxp.com>
126d97d497SAnson Huang
136d97d497SAnson Huangproperties:
146d97d497SAnson Huang  compatible:
156d97d497SAnson Huang    enum:
166d97d497SAnson Huang      - fsl,imx6q-tempmon
176d97d497SAnson Huang      - fsl,imx6sx-tempmon
186d97d497SAnson Huang      - fsl,imx7d-tempmon
196d97d497SAnson Huang
206d97d497SAnson Huang  interrupts:
216d97d497SAnson Huang    description: |
226d97d497SAnson Huang      The interrupt output of the controller, i.MX6Q has IRQ_HIGH which
236d97d497SAnson Huang      will be triggered when temperature is higher than high threshold,
246d97d497SAnson Huang      i.MX6SX and i.MX7S/D have two more IRQs than i.MX6Q, one is IRQ_LOW
256d97d497SAnson Huang      and the other is IRQ_PANIC, when temperature is lower than low
266d97d497SAnson Huang      threshold, IRQ_LOW will be triggered, when temperature is higher
276d97d497SAnson Huang      than panic threshold, IRQ_PANIC will be triggered, and system can
286d97d497SAnson Huang      be configured to auto reboot by SRC module for IRQ_PANIC. IRQ_HIGH,
296d97d497SAnson Huang      IRQ_LOW and IRQ_PANIC share same interrupt output of controller.
306d97d497SAnson Huang    maxItems: 1
316d97d497SAnson Huang
326d97d497SAnson Huang  nvmem-cells:
336d97d497SAnson Huang    items:
346d97d497SAnson Huang      - description: Phandle to the calibration data provided by ocotp
356d97d497SAnson Huang      - description: Phandle to the temperature grade provided by ocotp
366d97d497SAnson Huang
376d97d497SAnson Huang  nvmem-cell-names:
386d97d497SAnson Huang    items:
396d97d497SAnson Huang      - const: calib
406d97d497SAnson Huang      - const: temp_grade
416d97d497SAnson Huang
426d97d497SAnson Huang  fsl,tempmon:
436d97d497SAnson Huang    $ref: '/schemas/types.yaml#/definitions/phandle'
446d97d497SAnson Huang    description: Phandle to anatop system controller node.
456d97d497SAnson Huang
466d97d497SAnson Huang  fsl,tempmon-data:
476d97d497SAnson Huang    $ref: '/schemas/types.yaml#/definitions/phandle'
486d97d497SAnson Huang    description: |
496d97d497SAnson Huang      Deprecated property, phandle pointer to fuse controller that contains
506d97d497SAnson Huang      TEMPMON calibration data, e.g. OCOTP on imx6q. The details about
516d97d497SAnson Huang      calibration data can be found in SoC Reference Manual.
526d97d497SAnson Huang    deprecated: true
536d97d497SAnson Huang
546d97d497SAnson Huang  clocks:
556d97d497SAnson Huang    maxItems: 1
566d97d497SAnson Huang
576d97d497SAnson Huangrequired:
586d97d497SAnson Huang  - compatible
596d97d497SAnson Huang  - interrupts
606d97d497SAnson Huang  - fsl,tempmon
616d97d497SAnson Huang  - nvmem-cells
626d97d497SAnson Huang  - nvmem-cell-names
636d97d497SAnson Huang
646d97d497SAnson HuangadditionalProperties: false
656d97d497SAnson Huang
666d97d497SAnson Huangexamples:
676d97d497SAnson Huang  - |
686d97d497SAnson Huang    #include <dt-bindings/clock/imx6sx-clock.h>
696d97d497SAnson Huang    #include <dt-bindings/interrupt-controller/arm-gic.h>
706d97d497SAnson Huang
716d97d497SAnson Huang    efuse@21bc000 {
726d97d497SAnson Huang         #address-cells = <1>;
736d97d497SAnson Huang         #size-cells = <1>;
746d97d497SAnson Huang         compatible = "fsl,imx6sx-ocotp", "syscon";
756d97d497SAnson Huang         reg = <0x021bc000 0x4000>;
766d97d497SAnson Huang         clocks = <&clks IMX6SX_CLK_OCOTP>;
776d97d497SAnson Huang
786d97d497SAnson Huang         tempmon_calib: calib@38 {
796d97d497SAnson Huang             reg = <0x38 4>;
806d97d497SAnson Huang         };
816d97d497SAnson Huang
826d97d497SAnson Huang         tempmon_temp_grade: temp-grade@20 {
836d97d497SAnson Huang             reg = <0x20 4>;
846d97d497SAnson Huang         };
856d97d497SAnson Huang    };
866d97d497SAnson Huang
876d97d497SAnson Huang    anatop@20c8000 {
886d97d497SAnson Huang        compatible = "fsl,imx6q-anatop", "syscon", "simple-mfd";
896d97d497SAnson Huang        reg = <0x020c8000 0x1000>;
906d97d497SAnson Huang        interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
916d97d497SAnson Huang                     <0 54 IRQ_TYPE_LEVEL_HIGH>,
926d97d497SAnson Huang                     <0 127 IRQ_TYPE_LEVEL_HIGH>;
936d97d497SAnson Huang
946d97d497SAnson Huang        tempmon {
956d97d497SAnson Huang             compatible = "fsl,imx6sx-tempmon";
966d97d497SAnson Huang             interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
976d97d497SAnson Huang             fsl,tempmon = <&anatop>;
986d97d497SAnson Huang             nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
996d97d497SAnson Huang             nvmem-cell-names = "calib", "temp_grade";
1006d97d497SAnson Huang             clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
1016d97d497SAnson Huang        };
1026d97d497SAnson Huang    };
103