From 6999767bb24a1de9544f7d5740cd5bb7069de68b Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Tue, 26 Mar 2019 10:46:45 +0800 Subject: [PATCH] dm: regulator: add "regulator-loader-ignore" property support The property indicates this regulator should skip init setting sequence, usually for saving boot time. Change-Id: I40a81c84b0696c70b16ddba50aeb457412287116 Signed-off-by: Joseph Chen --- drivers/power/regulator/regulator-uclass.c | 4 ++++ include/power/regulator.h | 1 + 2 files changed, 5 insertions(+) diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c index e902571c2c..0041c6a72a 100644 --- a/drivers/power/regulator/regulator-uclass.c +++ b/drivers/power/regulator/regulator-uclass.c @@ -265,6 +265,9 @@ int regulator_autoset(struct udevice *dev) uc_pdata = dev_get_uclass_platdata(dev); + if (uc_pdata->ignore) + return ret; + if (uc_pdata->ramp_delay != -ENODATA) regulator_set_ramp_delay(dev, uc_pdata->ramp_delay); @@ -437,6 +440,7 @@ static int regulator_pre_probe(struct udevice *dev) -ENODATA); uc_pdata->always_on = dev_read_bool(dev, "regulator-always-on"); uc_pdata->boot_on = dev_read_bool(dev, "regulator-boot-on"); + uc_pdata->ignore = dev_read_bool(dev, "regulator-loader-ignore"); uc_pdata->ramp_delay = dev_read_u32_default(dev, "regulator-ramp-delay", -ENODATA); node = dev_read_subnode(dev, "regulator-state-mem"); diff --git a/include/power/regulator.h b/include/power/regulator.h index a6a942bb90..8f45d7203a 100644 --- a/include/power/regulator.h +++ b/include/power/regulator.h @@ -178,6 +178,7 @@ struct dm_regulator_uclass_platdata { u8 ctrl_reg; u8 volt_reg; bool suspend_on; + bool ignore; u32 suspend_uV; u32 ramp_delay; };