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";
};
