EXYNOS EMULATION MODE
========================

Copyright (C) 2012 Samsung Electronics

Written by Jonghwa Lee <jonghwa3.lee@samsung.com>

Description
-----------

Exynos 4x12 (4212, 4412) and 5 series provide emulation mode for thermal management unit.
Thermal emulation mode supports software debug for TMU's operation. User can set temperature
manually with software code and TMU will read current temperature from user value not from
sensor's value.

Enabling CONFIG_EXYNOS_THERMAL_EMUL option will make this support in available.
When it's enabled, sysfs node will be created under
/sys/bus/platform/devices/'exynos device name'/ with name of 'emulation'.

The sysfs node, 'emulation', will contain value 0 for the initial state. When you input any
temperature you want to update to sysfs node, it automatically enable emulation mode and
current temperature will be changed into it.
(Exynos also supports user changable delay time which would be used to delay of
 changing temperature. However, this node only uses same delay of real sensing time, 938us.)

Exynos emulation mode requires synchronous of value changing and enabling. It means when you
want to update the any value of delay or next temperature, then you have to enable emulation
mode at the same time. (Or you have to keep the mode enabling.) If you don't, it fails to
change the value to updated one and just use last succeessful value repeatedly. That's why
this node gives users the right to change termerpature only. Just one interface makes it more
simply to use.

Disabling emulation mode only requires writing value 0 to sysfs node.


TEMP	120 |
	    |
	100 |
	    |
	 80 |
	    |		     	 	 +-----------
	 60 |      		     	 |	    |
	    |	           +-------------|          |
	 40 |              |         	 |          |
	    |		   |	     	 |          |
	 20 |		   |	     	 |          +----------
	    |	 	   |	     	 |          |          |
	  0 |______________|_____________|__________|__________|_________
		   A	    	 A	    A	   	       A     TIME
		   |<----->|	 |<----->|  |<----->|	       |
		   | 938us |  	 |	 |  |       |          |
emulation    :  0  50	   |  	 70      |  20      |          0
current temp :   sensor   50		 70         20	      sensor
