On 8/9/21 3:20 AM, Simon Glass wrote: > This option is used in pre-driver model code and much of it has never > been converted to driver model. > > We want to add a new option to enable power support, so we can use a > simple rule in the Makefile. Rename this one, which is really about > a particular implementation of power. > > Also update the pmic.h header file so it either includes the legacy > API or the driver model one. > > Signed-off-by: Simon Glass <s...@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.ch...@samsung.com> Best Regars, Jaehoon Chung > --- > > board/compulab/cl-som-imx7/cl-som-imx7.c | 4 ++-- > board/freescale/imx8mp_evk/spl.c | 2 +- > board/freescale/imx8mq_evk/spl.c | 2 +- > board/samsung/common/board.c | 2 +- > board/technexion/pico-imx7d/pico-imx7d.c | 2 +- > board/tqc/tqma6/tqma6.c | 2 +- > board/udoo/neo/neo.c | 2 +- > drivers/power/Makefile | 2 +- > drivers/power/regulator/Makefile | 2 +- > include/configs/am43xx_evm.h | 2 +- > include/configs/cl-som-imx7.h | 2 +- > include/configs/cm_t43.h | 2 +- > include/configs/el6x_common.h | 2 +- > include/configs/gw_ventana.h | 2 +- > include/configs/hikey.h | 2 +- > include/configs/imx8mp_evk.h | 2 +- > include/configs/imx8mq_evk.h | 2 +- > include/configs/imx8mq_phanbell.h | 2 +- > include/configs/ls1046ardb.h | 4 ++-- > include/configs/mx51evk.h | 2 +- > include/configs/mx53loco.h | 2 +- > include/configs/mx6sabreauto.h | 2 +- > include/configs/mx6sabresd.h | 2 +- > include/configs/novena.h | 2 +- > include/configs/phycore_imx8mp.h | 2 +- > include/configs/pico-imx7d.h | 2 +- > include/configs/pico-imx8mq.h | 2 +- > include/configs/tqma6.h | 2 +- > include/configs/udoo_neo.h | 2 +- > include/configs/vining_2000.h | 2 +- > include/configs/warp.h | 2 +- > include/power/max77686_pmic.h | 2 +- > include/power/pmic.h | 15 ++++++++++----- > scripts/config_whitelist.txt | 2 +- > 34 files changed, 45 insertions(+), 40 deletions(-) > > diff --git a/board/compulab/cl-som-imx7/cl-som-imx7.c > b/board/compulab/cl-som-imx7/cl-som-imx7.c > index 454c93a572f..c54e02fdb44 100644 > --- a/board/compulab/cl-som-imx7/cl-som-imx7.c > +++ b/board/compulab/cl-som-imx7/cl-som-imx7.c > @@ -267,7 +267,7 @@ int board_init(void) > return 0; > } > > -#ifdef CONFIG_POWER > +#ifdef CONFIG_POWER_LEGACY > #define I2C_PMIC 0 > int power_init_board(void) > { > @@ -293,7 +293,7 @@ int power_init_board(void) > > return 0; > } > -#endif /* CONFIG_POWER */ > +#endif /* CONFIG_POWER_LEGACY */ > > /* > * cl_som_imx7_setup_wdog() - watchdog configuration. > diff --git a/board/freescale/imx8mp_evk/spl.c > b/board/freescale/imx8mp_evk/spl.c > index a7564e9b1ae..d317f212973 100644 > --- a/board/freescale/imx8mp_evk/spl.c > +++ b/board/freescale/imx8mp_evk/spl.c > @@ -63,7 +63,7 @@ struct i2c_pads_info i2c_pad_info1 = { > }, > }; > > -#ifdef CONFIG_POWER > +#ifdef CONFIG_POWER_LEGACY > #define I2C_PMIC 0 > int power_init_board(void) > { > diff --git a/board/freescale/imx8mq_evk/spl.c > b/board/freescale/imx8mq_evk/spl.c > index e8e0efe4855..6ee6230f748 100644 > --- a/board/freescale/imx8mq_evk/spl.c > +++ b/board/freescale/imx8mq_evk/spl.c > @@ -156,7 +156,7 @@ int board_mmc_init(struct bd_info *bis) > return 0; > } > > -#ifdef CONFIG_POWER > +#ifdef CONFIG_POWER_LEGACY > #define I2C_PMIC 0 > int power_init_board(void) > { > diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c > index 1c2fe025e89..08f9202b711 100644 > --- a/board/samsung/common/board.c > +++ b/board/samsung/common/board.c > @@ -185,7 +185,7 @@ int board_early_init_f(void) > } > #endif > > -#if defined(CONFIG_POWER) || defined(CONFIG_DM_PMIC) > +#if defined(CONFIG_POWER_LEGACY) || defined(CONFIG_DM_PMIC) > int power_init_board(void) > { > set_ps_hold_ctrl(); > diff --git a/board/technexion/pico-imx7d/pico-imx7d.c > b/board/technexion/pico-imx7d/pico-imx7d.c > index 2d749dac19a..81b1fb35122 100644 > --- a/board/technexion/pico-imx7d/pico-imx7d.c > +++ b/board/technexion/pico-imx7d/pico-imx7d.c > @@ -60,7 +60,7 @@ int dram_init(void) > return 0; > } > > -#ifdef CONFIG_POWER > +#ifdef CONFIG_POWER_LEGACY > #define I2C_PMIC 3 > int power_init_board(void) > { > diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c > index 4f86a929016..5d2e13a95a2 100644 > --- a/board/tqc/tqma6/tqma6.c > +++ b/board/tqc/tqma6/tqma6.c > @@ -247,7 +247,7 @@ static const char *tqma6_get_boardname(void) > }; > } > > -#ifdef CONFIG_POWER > +#ifdef CONFIG_POWER_LEGACY > /* setup board specific PMIC */ > int power_init_board(void) > { > diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c > index 92a1e084b52..88889df2d2f 100644 > --- a/board/udoo/neo/neo.c > +++ b/board/udoo/neo/neo.c > @@ -96,7 +96,7 @@ static struct i2c_pads_info i2c_pad_info1 = { > }; > #endif > > -#ifdef CONFIG_POWER > +#ifdef CONFIG_POWER_LEGACY > int power_init_board(void) > { > struct pmic *p; > diff --git a/drivers/power/Makefile b/drivers/power/Makefile > index 0bef06920a7..ab52bc1582c 100644 > --- a/drivers/power/Makefile > +++ b/drivers/power/Makefile > @@ -16,7 +16,7 @@ obj-$(CONFIG_TPS6586X_POWER) += tps6586x.o > obj-$(CONFIG_TWL4030_POWER) += twl4030.o > obj-$(CONFIG_TWL6030_POWER) += twl6030.o > obj-$(CONFIG_PALMAS_POWER) += palmas.o > -obj-$(CONFIG_POWER) += power_core.o > +obj-$(CONFIG_POWER_LEGACY) += power_core.o > obj-$(CONFIG_DIALOG_POWER) += power_dialog.o > obj-$(CONFIG_POWER_FSL) += power_fsl.o > obj-$(CONFIG_POWER_I2C) += power_i2c.o > diff --git a/drivers/power/regulator/Makefile > b/drivers/power/regulator/Makefile > index 677134c822c..4efb32a3228 100644 > --- a/drivers/power/regulator/Makefile > +++ b/drivers/power/regulator/Makefile > @@ -16,7 +16,7 @@ obj-$(CONFIG_$(SPL_)DM_REGULATOR_FAN53555) += fan53555.o > obj-$(CONFIG_$(SPL_)DM_REGULATOR_COMMON) += regulator_common.o > obj-$(CONFIG_$(SPL_)DM_REGULATOR_FIXED) += fixed.o > obj-$(CONFIG_$(SPL_)DM_REGULATOR_GPIO) += gpio-regulator.o > -obj-$(CONFIG_REGULATOR_RK8XX) += rk8xx.o > +obj-$(CONFIG_$(SPL_TPL_)REGULATOR_RK8XX) += rk8xx.o > obj-$(CONFIG_DM_REGULATOR_S2MPS11) += s2mps11_regulator.o > obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o > obj-$(CONFIG_DM_REGULATOR_SANDBOX) += sandbox.o > diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h > index 31a1c7e392f..febcbf8cf93 100644 > --- a/include/configs/am43xx_evm.h > +++ b/include/configs/am43xx_evm.h > @@ -27,7 +27,7 @@ > > /* Power */ > #if !CONFIG_IS_ENABLED(DM_I2C) > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #endif > #define CONFIG_POWER_TPS65218 > diff --git a/include/configs/cl-som-imx7.h b/include/configs/cl-som-imx7.h > index b8928ba6c41..652cc2fcfe7 100644 > --- a/include/configs/cl-som-imx7.h > +++ b/include/configs/cl-som-imx7.h > @@ -25,7 +25,7 @@ > #define IMX_FEC_BASE ENET_IPS_BASE_ADDR > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE3000 > #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 > diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h > index 73205d0de6a..7b3ff77e1f6 100644 > --- a/include/configs/cm_t43.h > +++ b/include/configs/cm_t43.h > @@ -50,7 +50,7 @@ > #define CONFIG_AM437X_USB2PHY2_HOST > > /* Power */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_TPS65218 > > diff --git a/include/configs/el6x_common.h b/include/configs/el6x_common.h > index b11717637a1..505bff5df72 100644 > --- a/include/configs/el6x_common.h > +++ b/include/configs/el6x_common.h > @@ -34,7 +34,7 @@ > #define CONFIG_SYS_I2C_SPEED 100000 > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h > index 4f272736347..8e42388692b 100644 > --- a/include/configs/gw_ventana.h > +++ b/include/configs/gw_ventana.h > @@ -74,7 +74,7 @@ > /* > * PMIC > */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/hikey.h b/include/configs/hikey.h > index 659fbee052d..fdb39a4d3aa 100644 > --- a/include/configs/hikey.h > +++ b/include/configs/hikey.h > @@ -13,7 +13,7 @@ > > #include <linux/sizes.h> > > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_HI6553 > > #define CONFIG_REMAKE_ELF > diff --git a/include/configs/imx8mp_evk.h b/include/configs/imx8mp_evk.h > index 29c74a5c63c..30b328a6be6 100644 > --- a/include/configs/imx8mp_evk.h > +++ b/include/configs/imx8mp_evk.h > @@ -32,7 +32,7 @@ > #undef CONFIG_DM_MMC > #undef CONFIG_DM_PMIC_PFUZE100 > > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PCA9450 > > diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h > index a0d061fef79..758c9ce7f5c 100644 > --- a/include/configs/imx8mq_evk.h > +++ b/include/configs/imx8mq_evk.h > @@ -50,7 +50,7 @@ > > #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/imx8mq_phanbell.h > b/include/configs/imx8mq_phanbell.h > index 64b4d3162e7..87e430463cd 100644 > --- a/include/configs/imx8mq_phanbell.h > +++ b/include/configs/imx8mq_phanbell.h > @@ -47,7 +47,7 @@ > > #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #endif > > diff --git a/include/configs/ls1046ardb.h b/include/configs/ls1046ardb.h > index dddaa254171..1b0cf6de895 100644 > --- a/include/configs/ls1046ardb.h > +++ b/include/configs/ls1046ardb.h > @@ -145,8 +145,8 @@ > #define I2C_RETIMER_ADDR 0x18 > > /* PMIC */ > -#define CONFIG_POWER > -#ifdef CONFIG_POWER > +#define CONFIG_POWER_LEGACY > +#ifdef CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #endif > > diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h > index 3574d654516..f6749568523 100644 > --- a/include/configs/mx51evk.h > +++ b/include/configs/mx51evk.h > @@ -35,7 +35,7 @@ > #define CONFIG_MXC_UART_BASE UART1_BASE > > /* PMIC Controller */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_SPI > #define CONFIG_POWER_FSL > #define CONFIG_FSL_PMIC_BUS 0 > diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h > index e69130d5208..a1a7c944a73 100644 > --- a/include/configs/mx53loco.h > +++ b/include/configs/mx53loco.h > @@ -43,7 +43,7 @@ > #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ > > /* PMIC Controller */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_DIALOG_POWER > #define CONFIG_POWER_FSL > diff --git a/include/configs/mx6sabreauto.h b/include/configs/mx6sabreauto.h > index 626dbd55d79..905f434ab13 100644 > --- a/include/configs/mx6sabreauto.h > +++ b/include/configs/mx6sabreauto.h > @@ -67,7 +67,7 @@ > /* DMA stuff, needed for GPMI/MXS NAND support */ > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/mx6sabresd.h b/include/configs/mx6sabresd.h > index 9546887182b..62ddd98bf38 100644 > --- a/include/configs/mx6sabresd.h > +++ b/include/configs/mx6sabresd.h > @@ -46,7 +46,7 @@ > #define CONFIG_SYS_I2C_SPEED 100000 > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/novena.h b/include/configs/novena.h > index 3876412ee6e..b2679e9f57d 100644 > --- a/include/configs/novena.h > +++ b/include/configs/novena.h > @@ -80,7 +80,7 @@ > #endif > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/phycore_imx8mp.h > b/include/configs/phycore_imx8mp.h > index 58ead45941c..2821b9a1815 100644 > --- a/include/configs/phycore_imx8mp.h > +++ b/include/configs/phycore_imx8mp.h > @@ -29,7 +29,7 @@ > > #define CONFIG_SPL_ABORT_ON_RAW_IMAGE > > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PCA9450 > > diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h > index f5d2c23400d..73fa6fb1e79 100644 > --- a/include/configs/pico-imx7d.h > +++ b/include/configs/pico-imx7d.h > @@ -135,7 +135,7 @@ > #define CONFIG_SYS_I2C_SPEED 100000 > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE3000 > #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 > diff --git a/include/configs/pico-imx8mq.h b/include/configs/pico-imx8mq.h > index f1af4db527d..f43d5c6cfc9 100644 > --- a/include/configs/pico-imx8mq.h > +++ b/include/configs/pico-imx8mq.h > @@ -46,7 +46,7 @@ > > #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #endif > > diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h > index b58c475c224..31e1375a6b5 100644 > --- a/include/configs/tqma6.h > +++ b/include/configs/tqma6.h > @@ -45,7 +45,7 @@ > #define CONFIG_SYS_I2C_EEPROM_PAGE_WRITE_DELAY_MS 20 > > #if !defined(CONFIG_DM_PMIC) > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/udoo_neo.h b/include/configs/udoo_neo.h > index 813e743bb8d..4d9c25b073b 100644 > --- a/include/configs/udoo_neo.h > +++ b/include/configs/udoo_neo.h > @@ -77,7 +77,7 @@ > #define CONFIG_SYS_I2C_SPEED 100000 > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE3000 > #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 > diff --git a/include/configs/vining_2000.h b/include/configs/vining_2000.h > index e90eaf32038..c4826f4f8e1 100644 > --- a/include/configs/vining_2000.h > +++ b/include/configs/vining_2000.h > @@ -50,7 +50,7 @@ > #define CONFIG_SYS_I2C_SPEED 100000 > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > diff --git a/include/configs/warp.h b/include/configs/warp.h > index e3beee0447b..172ff44a534 100644 > --- a/include/configs/warp.h > +++ b/include/configs/warp.h > @@ -60,7 +60,7 @@ > #define CONFIG_SYS_I2C_SPEED 100000 > > /* PMIC */ > -#define CONFIG_POWER > +#define CONFIG_POWER_LEGACY > #define CONFIG_POWER_I2C > > #define CONFIG_EXTRA_ENV_SETTINGS \ > diff --git a/include/power/max77686_pmic.h b/include/power/max77686_pmic.h > index 82fe3509a0b..95ba61d9530 100644 > --- a/include/power/max77686_pmic.h > +++ b/include/power/max77686_pmic.h > @@ -154,7 +154,7 @@ enum { > OPMODE_ON, > }; > > -#ifdef CONFIG_POWER > +#ifdef CONFIG_POWER_LEGACY > int max77686_set_ldo_voltage(struct pmic *p, int ldo, ulong uV); > int max77686_set_ldo_mode(struct pmic *p, int ldo, char opmode); > int max77686_set_buck_voltage(struct pmic *p, int buck, ulong uV); > diff --git a/include/power/pmic.h b/include/power/pmic.h > index be9de6b4de7..a10e1735007 100644 > --- a/include/power/pmic.h > +++ b/include/power/pmic.h > @@ -17,7 +17,8 @@ > > enum { PMIC_I2C, PMIC_SPI, PMIC_NONE}; > > -#ifdef CONFIG_POWER > +/* TODO: Change to !CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */ > +#ifdef CONFIG_POWER_LEGACY > enum { I2C_PMIC, I2C_NUM, }; > enum { PMIC_READ, PMIC_WRITE, }; > enum { PMIC_SENSOR_BYTE_ORDER_LITTLE, PMIC_SENSOR_BYTE_ORDER_BIG, }; > @@ -82,8 +83,9 @@ struct pmic { > struct pmic *parent; > struct list_head list; > }; > -#endif /* CONFIG_POWER */ > +#endif /* CONFIG_POWER_LEGACY */ > > +/* TODO: Change to CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */ > #ifdef CONFIG_DM_PMIC > /** > * U-Boot PMIC Framework > @@ -306,9 +308,12 @@ struct uc_pmic_priv { > uint trans_len; > }; > > -#endif /* CONFIG_DM_PMIC */ > +#endif /* DM_PMIC */ > > -#ifdef CONFIG_POWER > +/* TODO: Change to CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */ > +#ifdef CONFIG_POWER_LEGACY > + > +/* Legacy API, do not use */ > int pmic_init(unsigned char bus); > int power_init_board(void); > int pmic_dialog_init(unsigned char bus); > @@ -319,7 +324,7 @@ int pmic_probe(struct pmic *p); > int pmic_reg_read(struct pmic *p, u32 reg, u32 *val); > int pmic_reg_write(struct pmic *p, u32 reg, u32 val); > int pmic_set_output(struct pmic *p, u32 reg, int ldo, int on); > -#endif > +#endif /* CONFIG_POWER_LEGACY */ > > #define pmic_i2c_addr (p->hw.i2c.addr) > #define pmic_i2c_tx_num (p->hw.i2c.tx_num) > diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt > index d2f116e3673..28fc98ee845 100644 > --- a/scripts/config_whitelist.txt > +++ b/scripts/config_whitelist.txt > @@ -1140,11 +1140,11 @@ CONFIG_POST_EXTERNAL_WORD_FUNCS > CONFIG_POST_SKIP_ENV_FLAGS > CONFIG_POST_UART > CONFIG_POST_WATCHDOG > -CONFIG_POWER > CONFIG_POWER_FSL > CONFIG_POWER_FSL_MC13892 > CONFIG_POWER_HI6553 > CONFIG_POWER_I2C > +CONFIG_POWER_LEGACY > CONFIG_POWER_LTC3676 > CONFIG_POWER_LTC3676_I2C_ADDR > CONFIG_POWER_MAX77696_I2C_ADDR >