diff --git a/drivers/nvmem/rk628-efuse.c b/drivers/nvmem/rk628-efuse.c index 8c9a32dd6ced..863473fba8d5 100644 --- a/drivers/nvmem/rk628-efuse.c +++ b/drivers/nvmem/rk628-efuse.c @@ -180,7 +180,7 @@ static int rk628_efuse_read(void *context, unsigned int offset, return ret; } } else { - regmap_write(efuse->cru, CRU_GATE_CON0, PCLK_EFUSE_EN_MASK | PCLK_EFUSE_EN); + regmap_write(efuse->cru, CRU_GATE_CON0, PCLK_EFUSE_EN_MASK); } addr_start = rounddown(offset, RK628_NBYTES) / RK628_NBYTES; @@ -220,7 +220,7 @@ nomem: if (efuse->clk) clk_disable_unprepare(efuse->clk); else - regmap_write(efuse->cru, CRU_GATE_CON0, PCLK_EFUSE_EN_MASK); + regmap_write(efuse->cru, CRU_GATE_CON0, PCLK_EFUSE_EN_MASK | PCLK_EFUSE_DISABLE); return ret; } diff --git a/include/linux/mfd/rk630.h b/include/linux/mfd/rk630.h index 2c6061c9da69..0ec9bd04351a 100644 --- a/include/linux/mfd/rk630.h +++ b/include/linux/mfd/rk630.h @@ -161,7 +161,7 @@ #define CRU_CLKSEL_CON3 CRU_REG(0x003c) #define CRU_GATE_CON0 CRU_REG(0x0040) #define PCLK_EFUSE_EN_MASK BIT(14 + 16) -#define PCLK_EFUSE_EN BIT(14) +#define PCLK_EFUSE_DISABLE BIT(14) #define DCLK_CVBS_1X_PLL_CLK_EN_MASK HIWORD_MASK(12, 12) #define DCLK_CVBS_1X_PLL_CLK_EN(x) HIWORD_UPDATE(x, 12, 12) #define DCLK_CVBS_4X_PLL_CLK_EN_MASK HIWORD_MASK(11, 11)