blob: 67a986bbb339bbc650e17be9b8399842c63faae8 [file] [log] [blame]
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.
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";
};