1* Temperature Monitor (TEMPMON) on Freescale i.MX SoCs 2 3Required properties: 4- compatible : must be one of following: 5 - "fsl,imx6q-tempmon" for i.MX6Q, 6 - "fsl,imx6sx-tempmon" for i.MX6SX, 7 - "fsl,imx7d-tempmon" for i.MX7S/D. 8- interrupts : the interrupt output of the controller: 9 i.MX6Q has one IRQ which will be triggered when temperature is higher than high threshold, 10 i.MX6SX and i.MX7S/D have two more IRQs than i.MX6Q, one is IRQ_LOW and the other is IRQ_PANIC, 11 when temperature is below than low threshold, IRQ_LOW will be triggered, when temperature 12 is higher than panic threshold, system will auto reboot by SRC module. 13- fsl,tempmon : phandle pointer to system controller that contains TEMPMON 14 control registers, e.g. ANATOP on imx6q. 15- nvmem-cells: A phandle to the calibration cells provided by ocotp. 16- nvmem-cell-names: Should be "calib", "temp_grade". 17 18Deprecated properties: 19- fsl,tempmon-data : phandle pointer to fuse controller that contains TEMPMON 20 calibration data, e.g. OCOTP on imx6q. The details about calibration data 21 can be found in SoC Reference Manual. 22 23Direct access to OCOTP via fsl,tempmon-data is incorrect on some newer chips 24because it does not handle OCOTP clock requirements. 25 26Optional properties: 27- clocks : thermal sensor's clock source. 28 29Example: 30ocotp: ocotp@21bc000 { 31 #address-cells = <1>; 32 #size-cells = <1>; 33 compatible = "fsl,imx6sx-ocotp", "syscon"; 34 reg = <0x021bc000 0x4000>; 35 clocks = <&clks IMX6SX_CLK_OCOTP>; 36 37 tempmon_calib: calib@38 { 38 reg = <0x38 4>; 39 }; 40 41 tempmon_temp_grade: temp-grade@20 { 42 reg = <0x20 4>; 43 }; 44}; 45 46tempmon: tempmon { 47 compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon"; 48 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 49 fsl,tempmon = <&anatop>; 50 nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>; 51 nvmem-cell-names = "calib", "temp_grade"; 52 clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>; 53}; 54 55Legacy method (Deprecated): 56tempmon { 57 compatible = "fsl,imx6q-tempmon"; 58 fsl,tempmon = <&anatop>; 59 fsl,tempmon-data = <&ocotp>; 60 clocks = <&clks 172>; 61}; 62