imx-thermal.yaml 3.2 KB

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