summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra_odm_fuses.c
diff options
context:
space:
mode:
authorVenu Byravarasu <vbyravarasu@nvidia.com>2012-01-31 10:11:29 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2012-03-22 23:50:37 -0700
commit735af9b8ba9baffef1bb7ad1ab21f5228cf07ece (patch)
tree282a3ae16859f763644e8fe1ae3b1f112a3bf6fc /arch/arm/mach-tegra/tegra_odm_fuses.c
parent7962c7bea861a51b005e028abb8213eb199f4e92 (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 Rebase-Id: R8f5b08db1d8cd4562ed5cbe08dded39ccbbdb674
Diffstat (limited to 'arch/arm/mach-tegra/tegra_odm_fuses.c')
-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 96f69f4b0458..7b75f211300b 100644
--- a/arch/arm/mach-tegra/tegra_odm_fuses.c
+++ b/arch/arm/mach-tegra/tegra_odm_fuses.c
@@ -302,20 +302,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;
@@ -372,7 +358,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) {
@@ -389,7 +374,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);
@@ -635,16 +619,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;
}
@@ -695,9 +675,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();
@@ -919,7 +896,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);