From a8ab15fdb11e2bd302caf7b39e196698229af716 Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Sat, 12 Mar 2022 16:44:12 +0800 Subject: [PATCH] nvmem: rk628-efuse: Fix rk630 efuse clk enable/disable Signed-off-by: Algea Cao Change-Id: Ie876e46645d3c7fd843ecb78200c958859edb89d --- drivers/nvmem/rk628-efuse.c | 4 ++-- include/linux/mfd/rk630.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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)