Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/thermal/imx-thermal.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: NXP i.MX Thermal Binding
0008 
0009 maintainers:
0010   - Shawn Guo <shawnguo@kernel.org>
0011   - Anson Huang <Anson.Huang@nxp.com>
0012 
0013 properties:
0014   compatible:
0015     enum:
0016       - fsl,imx6q-tempmon
0017       - fsl,imx6sx-tempmon
0018       - fsl,imx7d-tempmon
0019 
0020   interrupts:
0021     description: |
0022       The interrupt output of the controller, i.MX6Q has IRQ_HIGH which
0023       will be triggered when temperature is higher than high threshold,
0024       i.MX6SX and i.MX7S/D have two more IRQs than i.MX6Q, one is IRQ_LOW
0025       and the other is IRQ_PANIC, when temperature is lower than low
0026       threshold, IRQ_LOW will be triggered, when temperature is higher
0027       than panic threshold, IRQ_PANIC will be triggered, and system can
0028       be configured to auto reboot by SRC module for IRQ_PANIC. IRQ_HIGH,
0029       IRQ_LOW and IRQ_PANIC share same interrupt output of controller.
0030     maxItems: 1
0031 
0032   nvmem-cells:
0033     items:
0034       - description: Phandle to the calibration data provided by ocotp
0035       - description: Phandle to the temperature grade provided by ocotp
0036 
0037   nvmem-cell-names:
0038     items:
0039       - const: calib
0040       - const: temp_grade
0041 
0042   fsl,tempmon:
0043     $ref: '/schemas/types.yaml#/definitions/phandle'
0044     description: Phandle to anatop system controller node.
0045 
0046   fsl,tempmon-data:
0047     $ref: '/schemas/types.yaml#/definitions/phandle'
0048     description: |
0049       Deprecated property, phandle pointer to fuse controller that contains
0050       TEMPMON calibration data, e.g. OCOTP on imx6q. The details about
0051       calibration data can be found in SoC Reference Manual.
0052     deprecated: true
0053 
0054   clocks:
0055     maxItems: 1
0056 
0057 required:
0058   - compatible
0059   - interrupts
0060   - fsl,tempmon
0061   - nvmem-cells
0062   - nvmem-cell-names
0063 
0064 additionalProperties: false
0065 
0066 examples:
0067   - |
0068     #include <dt-bindings/clock/imx6sx-clock.h>
0069     #include <dt-bindings/interrupt-controller/arm-gic.h>
0070 
0071     efuse@21bc000 {
0072          #address-cells = <1>;
0073          #size-cells = <1>;
0074          compatible = "fsl,imx6sx-ocotp", "syscon";
0075          reg = <0x021bc000 0x4000>;
0076          clocks = <&clks IMX6SX_CLK_OCOTP>;
0077 
0078          tempmon_calib: calib@38 {
0079              reg = <0x38 4>;
0080          };
0081 
0082          tempmon_temp_grade: temp-grade@20 {
0083              reg = <0x20 4>;
0084          };
0085     };
0086 
0087     anatop@20c8000 {
0088         compatible = "fsl,imx6q-anatop", "syscon", "simple-mfd";
0089         reg = <0x020c8000 0x1000>;
0090         interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
0091                      <0 54 IRQ_TYPE_LEVEL_HIGH>,
0092                      <0 127 IRQ_TYPE_LEVEL_HIGH>;
0093 
0094         tempmon {
0095              compatible = "fsl,imx6sx-tempmon";
0096              interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
0097              fsl,tempmon = <&anatop>;
0098              nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
0099              nvmem-cell-names = "calib", "temp_grade";
0100              clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
0101         };
0102     };