18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/thermal/imx-thermal.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: NXP i.MX Thermal Binding
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Shawn Guo <shawnguo@kernel.org>
118c2ecf20Sopenharmony_ci  - Anson Huang <Anson.Huang@nxp.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciproperties:
148c2ecf20Sopenharmony_ci  compatible:
158c2ecf20Sopenharmony_ci    enum:
168c2ecf20Sopenharmony_ci      - fsl,imx6q-tempmon
178c2ecf20Sopenharmony_ci      - fsl,imx6sx-tempmon
188c2ecf20Sopenharmony_ci      - fsl,imx7d-tempmon
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  interrupts:
218c2ecf20Sopenharmony_ci    description: |
228c2ecf20Sopenharmony_ci      The interrupt output of the controller, i.MX6Q has IRQ_HIGH which
238c2ecf20Sopenharmony_ci      will be triggered when temperature is higher than high threshold,
248c2ecf20Sopenharmony_ci      i.MX6SX and i.MX7S/D have two more IRQs than i.MX6Q, one is IRQ_LOW
258c2ecf20Sopenharmony_ci      and the other is IRQ_PANIC, when temperature is lower than low
268c2ecf20Sopenharmony_ci      threshold, IRQ_LOW will be triggered, when temperature is higher
278c2ecf20Sopenharmony_ci      than panic threshold, IRQ_PANIC will be triggered, and system can
288c2ecf20Sopenharmony_ci      be configured to auto reboot by SRC module for IRQ_PANIC. IRQ_HIGH,
298c2ecf20Sopenharmony_ci      IRQ_LOW and IRQ_PANIC share same interrupt output of controller.
308c2ecf20Sopenharmony_ci    maxItems: 1
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  nvmem-cells:
338c2ecf20Sopenharmony_ci    items:
348c2ecf20Sopenharmony_ci      - description: Phandle to the calibration data provided by ocotp
358c2ecf20Sopenharmony_ci      - description: Phandle to the temperature grade provided by ocotp
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  nvmem-cell-names:
388c2ecf20Sopenharmony_ci    items:
398c2ecf20Sopenharmony_ci      - const: calib
408c2ecf20Sopenharmony_ci      - const: temp_grade
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci  fsl,tempmon:
438c2ecf20Sopenharmony_ci    $ref: '/schemas/types.yaml#/definitions/phandle'
448c2ecf20Sopenharmony_ci    description: Phandle to anatop system controller node.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  fsl,tempmon-data:
478c2ecf20Sopenharmony_ci    $ref: '/schemas/types.yaml#/definitions/phandle'
488c2ecf20Sopenharmony_ci    description: |
498c2ecf20Sopenharmony_ci      Deprecated property, phandle pointer to fuse controller that contains
508c2ecf20Sopenharmony_ci      TEMPMON calibration data, e.g. OCOTP on imx6q. The details about
518c2ecf20Sopenharmony_ci      calibration data can be found in SoC Reference Manual.
528c2ecf20Sopenharmony_ci    deprecated: true
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci  clocks:
558c2ecf20Sopenharmony_ci    maxItems: 1
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_cirequired:
588c2ecf20Sopenharmony_ci  - compatible
598c2ecf20Sopenharmony_ci  - interrupts
608c2ecf20Sopenharmony_ci  - fsl,tempmon
618c2ecf20Sopenharmony_ci  - nvmem-cells
628c2ecf20Sopenharmony_ci  - nvmem-cell-names
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciadditionalProperties: false
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciexamples:
678c2ecf20Sopenharmony_ci  - |
688c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/imx6sx-clock.h>
698c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci    efuse@21bc000 {
728c2ecf20Sopenharmony_ci         #address-cells = <1>;
738c2ecf20Sopenharmony_ci         #size-cells = <1>;
748c2ecf20Sopenharmony_ci         compatible = "fsl,imx6sx-ocotp", "syscon";
758c2ecf20Sopenharmony_ci         reg = <0x021bc000 0x4000>;
768c2ecf20Sopenharmony_ci         clocks = <&clks IMX6SX_CLK_OCOTP>;
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci         tempmon_calib: calib@38 {
798c2ecf20Sopenharmony_ci             reg = <0x38 4>;
808c2ecf20Sopenharmony_ci         };
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci         tempmon_temp_grade: temp-grade@20 {
838c2ecf20Sopenharmony_ci             reg = <0x20 4>;
848c2ecf20Sopenharmony_ci         };
858c2ecf20Sopenharmony_ci    };
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci    anatop@20c8000 {
888c2ecf20Sopenharmony_ci        compatible = "fsl,imx6q-anatop", "syscon", "simple-mfd";
898c2ecf20Sopenharmony_ci        reg = <0x020c8000 0x1000>;
908c2ecf20Sopenharmony_ci        interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
918c2ecf20Sopenharmony_ci                     <0 54 IRQ_TYPE_LEVEL_HIGH>,
928c2ecf20Sopenharmony_ci                     <0 127 IRQ_TYPE_LEVEL_HIGH>;
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci        tempmon {
958c2ecf20Sopenharmony_ci             compatible = "fsl,imx6sx-tempmon";
968c2ecf20Sopenharmony_ci             interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
978c2ecf20Sopenharmony_ci             fsl,tempmon = <&anatop>;
988c2ecf20Sopenharmony_ci             nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
998c2ecf20Sopenharmony_ci             nvmem-cell-names = "calib", "temp_grade";
1008c2ecf20Sopenharmony_ci             clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
1018c2ecf20Sopenharmony_ci        };
1028c2ecf20Sopenharmony_ci    };
103