summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVenu Byravarasu <vbyravarasu@nvidia.com>2012-01-31 10:11:29 +0530
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-02-03 05:53:34 -0800
commit51f40227d9f41491af52467515c51cacc77fdef8 (patch)
treeeace8c0e416989e22e79fe7cdb0aba9b3d36561f
parent944a82b32d44bae0acb56abf5fec33a1c696c362 (diff)
arm: tegra: fuse: Keep fuse register visible always
Fuse registers are made visible during init. As they need not be masked and unmasked during every fuse access, removing these functions. bug 933113 Reviewed-on: http://git-master/r/78355 Change-Id: If95c021b9ec377ba9610eedd481ec3c8ff6bf874 Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/78714 Reviewed-by: Automatic_Commit_Validation_User
-rw-r--r--arch/arm/mach-tegra/tegra_odm_fuses.c24
1 files changed, 0 insertions, 24 deletions
diff --git a/arch/arm/mach-tegra/tegra_odm_fuses.c b/arch/arm/mach-tegra/tegra_odm_fuses.c
index 6f6d22362fd1..ed672c3fa974 100644
--- a/arch/arm/mach-tegra/tegra_odm_fuses.c
+++ b/arch/arm/mach-tegra/tegra_odm_fuses.c
@@ -303,20 +303,6 @@ static void fuse_cmd_sense(void)
wait_for_idle();
}
-static void fuse_reg_hide(void)
-{
- u32 reg = tegra_fuse_readl(0x48);
- reg &= ~(1 << 28);
- tegra_fuse_writel(reg, 0x48);
-}
-
-static void fuse_reg_unhide(void)
-{
- u32 reg = tegra_fuse_readl(0x48);
- reg |= (1 << 28);
- tegra_fuse_writel(reg, 0x48);
-}
-
static void get_fuse(enum fuse_io_param io_param, u32 *out)
{
int start_bit = fuse_info_tbl[io_param].start_bit;
@@ -373,7 +359,6 @@ int tegra_fuse_read(enum fuse_io_param io_param, u32 *data, int size)
mutex_lock(&fuse_lock);
clk_enable(clk_fuse);
- fuse_reg_unhide();
fuse_cmd_sense();
if (io_param == SBK_DEVKEY_STATUS) {
@@ -390,7 +375,6 @@ int tegra_fuse_read(enum fuse_io_param io_param, u32 *data, int size)
get_fuse(io_param, data);
}
- fuse_reg_hide();
clk_disable(clk_fuse);
mutex_unlock(&fuse_lock);
@@ -636,16 +620,12 @@ int tegra_fuse_program(struct fuse_data *pgm_data, u32 flags)
clk_enable(clk_fuse);
- /* make all the fuse registers visible */
- fuse_reg_unhide();
-
/* check that fuse options write access hasn't been disabled */
mutex_lock(&fuse_lock);
reg = tegra_fuse_readl(FUSE_DIS_PGM);
mutex_unlock(&fuse_lock);
if (reg) {
pr_err("fuse programming disabled");
- fuse_reg_hide();
clk_disable(clk_fuse);
return -EACCES;
}
@@ -696,9 +676,6 @@ int tegra_fuse_program(struct fuse_data *pgm_data, u32 flags)
/* disable software writes to the fuse registers */
tegra_fuse_writel(1, FUSE_WRITE_ACCESS);
- /* make all the fuse registers invisible */
- fuse_reg_hide();
-
/* apply the fuse values immediately instead of resetting the chip */
fuse_cmd_sense();
@@ -927,7 +904,6 @@ static void __exit tegra_fuse_program_exit(void)
{
fuse_power_disable();
- fuse_reg_hide();
if (!IS_ERR_OR_NULL(vdd_fuse))
regulator_put(vdd_fuse);