| Qualcomm's TSENS driver |
| |
| The TSENS driver supports reading temperature from sensors across |
| the MSM. The driver defaults to support a 10 bit ADC. |
| |
| The driver uses the Thermal sysfs framework to provide thermal |
| clients the ability to enable/disable the sensors, read trip zones, |
| read cool/warm temperature thresholds, set temperature thresholds |
| for cool/warm notification and receive notification on temperature |
| threshold events. |
| |
| TSENS node |
| |
| Required properties: |
| - compatible : should be "qcom,msm-tsens" for MSM8974 TSENS driver. |
| - reg : offset and length of the TSENS registers. |
| - reg : offset and length of the QFPROM registers used for storing |
| the calibration data for the individual sensors. |
| - reg-names : resource names used for the physical address of the TSENS |
| registers, the QFPROM efuse primary calibration address region, |
| Should be "tsens_physical" for physical address of the TSENS, |
| "tsens_eeprom_physical" for physical address where primary |
| calibration data is stored. This includes the backup |
| calibration address region if TSENS calibration data is stored |
| in the region. |
| - interrupts : TSENS interrupt for cool/warm temperature threshold. |
| - qcom,sensors : Total number of available Temperature sensors for TSENS. |
| - qcom,slope : One point calibration characterized slope data for each |
| sensor used to compute the offset. Slope is represented |
| as ADC code/DegC and the value is multipled by a factor |
| of 1000. |
| - qcom,calib-mode : Calibration masks to use to abstract the offset data from efuse. |
| Select from the following strings. |
| "fuse_map1" : Used for 8974/9x25 fuse calibration map. |
| "fuse_map2" : Used for 8x26 fuse calibration map. |
| "fuse_map3" : Used for 8x10 fuse calibration map. |
| |
| Optional properties: |
| - qcom,calibration-less-mode : If present the pre-characterized data for offsets |
| are used else it defaults to use calibration data from QFPROM. |
| - qcom,tsens-local-init : If the flag is present the TSENS control registers are |
| initialized. If the boot configures the control register there is |
| no need to re-initialize them. The control registers are also |
| under a secure domain which can prevent them from being initialized |
| locally. |
| - qcom,sensor-id : If the flag is present map the TSENS sensors based on the |
| remote sensors that are enabled in HW. Ensure the mapping is not |
| more than the number of supported sensors. |
| Example: |
| |
| tsens@fc4a8000 { |
| compatible = "qcom,msm-tsens"; |
| reg = <0xfc4a8000 0x2000>, |
| <0xfc4b8000 0x1000>; |
| reg-names = "tsens_physical", |
| "tsens_eeprom_physical"; |
| interrupts = <0 184 0>; |
| qcom,calibration-less-mode; |
| qcom,sensors = <11>; |
| qcom,slope = <3200 3200 3200 3200 3200 3200 3200 3200 3200 |
| 3200>; |
| qcom,calib-mode = "fuse_map1"; |
| }; |