From b9e9168c089ed67fe3c25802bf079030e579fab0 Mon Sep 17 00:00:00 2001 From: shengfei Xu Date: Sun, 21 Feb 2021 17:56:00 +0800 Subject: [PATCH] power: pmic: rk8xx: add not_save_power_en add not_save_power_en to judge whether save the PMIC_POWER_EN register. Signed-off-by: shengfei Xu Change-Id: I6e2117ca947dacee41eead631a5c877bd6be3e7a --- drivers/power/pmic/rk8xx.c | 6 ++++++ include/power/rk8xx_pmic.h | 1 + 2 files changed, 7 insertions(+) diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c index 3435f86bb8..ef11cc46d4 100644 --- a/drivers/power/pmic/rk8xx.c +++ b/drivers/power/pmic/rk8xx.c @@ -411,6 +411,9 @@ static int rk8xx_ofdata_to_platdata(struct udevice *dev) else rk8xx->lp_action = RK8XX_LP_OFF; + val = dev_read_u32_default(dev, "not-save-power-en", 0); + rk8xx->not_save_power_en = val; + return 0; } @@ -539,6 +542,9 @@ static int rk8xx_probe(struct udevice *dev) lp_act_msk = RK8XX_LP_ACTION_MSK; init_data = rk817_init_reg; init_data_num = ARRAY_SIZE(rk817_init_reg); + /* judge whether save the PMIC_POWER_EN register */ + if (priv->not_save_power_en) + break; power_en0 = pmic_reg_read(dev, RK817_POWER_EN0); power_en1 = pmic_reg_read(dev, RK817_POWER_EN1); power_en2 = pmic_reg_read(dev, RK817_POWER_EN2); diff --git a/include/power/rk8xx_pmic.h b/include/power/rk8xx_pmic.h index 87bb555817..b76bd9420e 100644 --- a/include/power/rk8xx_pmic.h +++ b/include/power/rk8xx_pmic.h @@ -283,6 +283,7 @@ struct rk8xx_priv { int lp_off_time; int lp_action; uint8_t sleep_pin; + int not_save_power_en; }; int rk8xx_spl_configure_buck(struct udevice *pmic, int buck, int uvolt);