summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra3_tsensor.c
diff options
context:
space:
mode:
authorBitan Biswas <bbiswas@nvidia.com>2011-07-21 17:32:53 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:55 -0800
commitb51228481e6105e24c42ff30470ad31efa4e0279 (patch)
tree6df130e29ac95d0e88f31c0cba2eb3108ad64029 /arch/arm/mach-tegra/tegra3_tsensor.c
parent858bfc00630c812916b4d905b07a445d487d0f15 (diff)
arm: tegra: fuse: tsensor specific fuse public API added
Defined public fuse API to extract tegra3 tsensor configuration parameters. bug 851791 Original-Change-Id: Ia14e2d515ee1d695556492464e8ceaf4b0d13477 Reviewed-on: http://git-master/r/42367 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Tested-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Rebase-Id: R1090e6ad78bcef23670ff647de86e695780f5b76
Diffstat (limited to 'arch/arm/mach-tegra/tegra3_tsensor.c')
-rw-r--r--arch/arm/mach-tegra/tegra3_tsensor.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/tegra3_tsensor.c b/arch/arm/mach-tegra/tegra3_tsensor.c
index cbf5c5ab2522..019513218939 100644
--- a/arch/arm/mach-tegra/tegra3_tsensor.c
+++ b/arch/arm/mach-tegra/tegra3_tsensor.c
@@ -20,6 +20,8 @@
#ifdef CONFIG_SENSORS_TEGRA_TSENSOR
#include <mach/tsensor.h>
+#include <mach/tegra_fuse.h>
+
#include "devices.h"
#include "fuse.h"
@@ -31,15 +33,17 @@ static struct tegra_tsensor_platform_data tsensor_data = {
};
/* fuse revision constants used for tsensor */
-#define FUSE_TEST_PROGRAM_REVISION_0 0x128
#define TSENSOR_FUSE_REVISION_DECIMAL 8
#define TSENSOR_FUSE_REVISION_INTEGER 0
void __init tegra_tsensor_init(void)
{
unsigned int reg, fuse_rev_integer, fuse_rev_decimal;
+ int err;
/* tsensor driver is instantiated based on fuse revision */
- reg = tegra_fuse_readl(FUSE_TEST_PROGRAM_REVISION_0);
+ err = tegra_fuse_get_revision(&reg);
+ if (err)
+ goto errLabel;
fuse_rev_decimal = (reg & 0xf);
fuse_rev_integer = ((reg >> 4) & 0x7);
pr_info("\nTegra3 fuse revision %d.%d \n", fuse_rev_integer,
@@ -50,7 +54,10 @@ void __init tegra_tsensor_init(void)
tegra_tsensor_device.dev.platform_data = &tsensor_data;
platform_device_register(&tegra_tsensor_device);
}
+errLabel:
+ return;
}
+
#else
void __init tegra_tsensor_init(void) { }
#endif