arm: tegra: power: Add dynamic CPU EDP mechanism
authorDaniel Solomon <daniels@nvidia.com>
Tue, 24 Jul 2012 19:09:03 +0000 (12:09 -0700)
committerSimone Willett <swillett@nvidia.com>
Thu, 2 Aug 2012 20:51:57 +0000 (13:51 -0700)
commited7e315a3fc89f309f3c3c98fe43f1a3517589d9
treed406de71b41a10e64fbb0464a9334a435ab6d6b8
parent175312dabe42c3dd0615cec1af86f33476fb094a
arm: tegra: power: Add dynamic CPU EDP mechanism

Add dynamic VDD_CPU EDP. This mechanism calculates EDP frequency
caps based on dynamic power, leakage power, and CPU regulator
current limit.

The formula for this uses temperature, number of cores, and CPU
IDDQ as input. It relies on sets of pre-calculated constants, which
vary per SKU.

This mechanism complements the existing EDP mechanism. At bootup,
chip SKU is read: If a corresponding hardcoded EDP table is found,
this table is used; otherwise, an EDP table is calculated.

Note that the EDP formula used is subject to change, and final sets
of pre-calculated constants still need to be added for each SKU.

Change-Id: I5fb22c6a3da0f0adff21dcdf4950275002927e88
Signed-off-by: Daniel Solomon <daniels@nvidia.com>
Reviewed-on: http://git-master/r/116120
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
arch/arm/mach-tegra/edp.c