Convert CONFIG_POWER_LTC3676 et al to Kconfig

This converts the following to Kconfig:
   CONFIG_POWER_FSL
   CONFIG_POWER_FSL_MC13892
   CONFIG_POWER_HI6553
   CONFIG_POWER_LTC3676
   CONFIG_POWER_PFUZE100
   CONFIG_POWER_PFUZE3000
   CONFIG_POWER_SPI
   CONFIG_POWER_TPS65090_EC
   CONFIG_POWER_TPS65218
   CONFIG_POWER_TPS65910

Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
index 377c6aa..cc13718 100644
--- a/board/freescale/common/Makefile
+++ b/board/freescale/common/Makefile
@@ -61,7 +61,9 @@
 obj-$(CONFIG_TARGET_P5040DS)		+= ics307_clk.o
 obj-$(CONFIG_VSC_CROSSBAR)    += vsc3316_3308.o
 obj-$(CONFIG_ZM7300)		+= zm7300.o
+ifeq ($(CONFIG_$(SPL_)POWER_LEGACY),y)
 obj-$(CONFIG_POWER_PFUZE100)	+= pfuze.o
+endif
 obj-$(CONFIG_DM_PMIC_PFUZE100)	+= pfuze.o
 obj-$(CONFIG_POWER_MC34VR500)	+= mc34vr500.o
 ifneq (,$(filter $(SOC), imx8ulp imx9))
diff --git a/configs/am335x_baltos_defconfig b/configs/am335x_baltos_defconfig
index bd23b71..9976cee 100644
--- a/configs/am335x_baltos_defconfig
+++ b/configs/am335x_baltos_defconfig
@@ -79,6 +79,7 @@
 CONFIG_DM_MDIO=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig
index 66b7fb6..442783a 100644
--- a/configs/am335x_boneblack_vboot_defconfig
+++ b/configs/am335x_boneblack_vboot_defconfig
@@ -76,6 +76,7 @@
 CONFIG_DM_PMIC=y
 # CONFIG_SPL_DM_PMIC is not set
 CONFIG_PMIC_TPS65217=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index f73123e..78e63c9 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -102,6 +102,7 @@
 CONFIG_DM_PMIC=y
 # CONFIG_SPL_DM_PMIC is not set
 CONFIG_PMIC_TPS65217=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig
index 7f42201..335a43d 100644
--- a/configs/am335x_evm_spiboot_defconfig
+++ b/configs/am335x_evm_spiboot_defconfig
@@ -93,6 +93,7 @@
 CONFIG_DM_PMIC=y
 # CONFIG_SPL_DM_PMIC is not set
 CONFIG_PMIC_TPS65217=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/am335x_hs_evm_defconfig b/configs/am335x_hs_evm_defconfig
index 8d3a454..5dc9ba9 100644
--- a/configs/am335x_hs_evm_defconfig
+++ b/configs/am335x_hs_evm_defconfig
@@ -80,6 +80,7 @@
 CONFIG_DM_PMIC=y
 # CONFIG_SPL_DM_PMIC is not set
 CONFIG_PMIC_TPS65217=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/am335x_hs_evm_uart_defconfig b/configs/am335x_hs_evm_uart_defconfig
index 7080b14..68513c1 100644
--- a/configs/am335x_hs_evm_uart_defconfig
+++ b/configs/am335x_hs_evm_uart_defconfig
@@ -81,6 +81,7 @@
 CONFIG_DM_PMIC=y
 # CONFIG_SPL_DM_PMIC is not set
 CONFIG_PMIC_TPS65217=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/am335x_sl50_defconfig b/configs/am335x_sl50_defconfig
index 65b2055..673824c 100644
--- a/configs/am335x_sl50_defconfig
+++ b/configs/am335x_sl50_defconfig
@@ -75,6 +75,7 @@
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
 CONFIG_PMIC_TPS65217=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
index 2dfd936..2faf132 100644
--- a/configs/am43xx_evm_defconfig
+++ b/configs/am43xx_evm_defconfig
@@ -88,6 +88,8 @@
 CONFIG_PHY=y
 CONFIG_SPL_PHY=y
 CONFIG_OMAP_USB2_PHY=y
+CONFIG_POWER_TPS65218=y
+CONFIG_POWER_TPS62362=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_TI_QSPI=y
diff --git a/configs/am43xx_evm_qspiboot_defconfig b/configs/am43xx_evm_qspiboot_defconfig
index fc6cad5..9c90924 100644
--- a/configs/am43xx_evm_qspiboot_defconfig
+++ b/configs/am43xx_evm_qspiboot_defconfig
@@ -53,6 +53,8 @@
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
+CONFIG_POWER_TPS65218=y
+CONFIG_POWER_TPS62362=y
 CONFIG_SYS_NS16550_SERIAL=y
 CONFIG_SPI=y
 CONFIG_TI_QSPI=y
diff --git a/configs/am43xx_evm_rtconly_defconfig b/configs/am43xx_evm_rtconly_defconfig
index 357da19..4241070 100644
--- a/configs/am43xx_evm_rtconly_defconfig
+++ b/configs/am43xx_evm_rtconly_defconfig
@@ -72,6 +72,8 @@
 CONFIG_PHY_GIGE=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
+CONFIG_POWER_TPS65218=y
+CONFIG_POWER_TPS62362=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_TI_QSPI=y
diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig
index 0e58221..91270d0 100644
--- a/configs/am43xx_evm_usbhost_boot_defconfig
+++ b/configs/am43xx_evm_usbhost_boot_defconfig
@@ -91,6 +91,8 @@
 CONFIG_PHY=y
 CONFIG_SPL_PHY=y
 CONFIG_OMAP_USB2_PHY=y
+CONFIG_POWER_TPS65218=y
+CONFIG_POWER_TPS62362=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_TI_QSPI=y
diff --git a/configs/am43xx_hs_evm_defconfig b/configs/am43xx_hs_evm_defconfig
index 2b5a7fb..b6b74af 100644
--- a/configs/am43xx_hs_evm_defconfig
+++ b/configs/am43xx_hs_evm_defconfig
@@ -86,6 +86,8 @@
 CONFIG_PHY=y
 CONFIG_SPL_PHY=y
 CONFIG_OMAP_USB2_PHY=y
+CONFIG_POWER_TPS65218=y
+CONFIG_POWER_TPS62362=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_TI_QSPI=y
diff --git a/configs/am43xx_hs_evm_qspi_defconfig b/configs/am43xx_hs_evm_qspi_defconfig
index 08cac40..03e46dd 100644
--- a/configs/am43xx_hs_evm_qspi_defconfig
+++ b/configs/am43xx_hs_evm_qspi_defconfig
@@ -55,6 +55,8 @@
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
+CONFIG_POWER_TPS65218=y
+CONFIG_POWER_TPS62362=y
 CONFIG_SYS_NS16550_SERIAL=y
 CONFIG_SPI=y
 CONFIG_TI_QSPI=y
diff --git a/configs/cl-som-imx7_defconfig b/configs/cl-som-imx7_defconfig
index f3ee559..3571dba 100644
--- a/configs/cl-som-imx7_defconfig
+++ b/configs/cl-som-imx7_defconfig
@@ -95,6 +95,7 @@
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_DM_REGULATOR=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
diff --git a/configs/cm_t43_defconfig b/configs/cm_t43_defconfig
index 0a5ce20..867ca30 100644
--- a/configs/cm_t43_defconfig
+++ b/configs/cm_t43_defconfig
@@ -95,6 +95,7 @@
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_TPS65218=y
 CONFIG_POWER_I2C=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig
index cabe09e..ce81b55 100644
--- a/configs/gwventana_emmc_defconfig
+++ b/configs/gwventana_emmc_defconfig
@@ -119,6 +119,8 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_LTC3676=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_POWER_I2C=y
diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig
index f58abd9..3ef909a 100644
--- a/configs/gwventana_gw5904_defconfig
+++ b/configs/gwventana_gw5904_defconfig
@@ -123,6 +123,8 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_LTC3676=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_POWER_I2C=y
diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig
index a41b3c4..d3d4876 100644
--- a/configs/gwventana_nand_defconfig
+++ b/configs/gwventana_nand_defconfig
@@ -129,6 +129,8 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_LTC3676=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_POWER_I2C=y
diff --git a/configs/hikey_defconfig b/configs/hikey_defconfig
index d023653..152459e 100644
--- a/configs/hikey_defconfig
+++ b/configs/hikey_defconfig
@@ -34,6 +34,7 @@
 CONFIG_MMC_DW=y
 CONFIG_MMC_DW_K3=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_HI6553=y
 CONFIG_CONS_INDEX=4
 CONFIG_USB=y
 CONFIG_USB_DWC2=y
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig
index 274cdb9..79a27de 100644
--- a/configs/imx8mq_evk_defconfig
+++ b/configs/imx8mq_evk_defconfig
@@ -88,6 +88,7 @@
 CONFIG_SPL_POWER_LEGACY=y
 CONFIG_POWER_DOMAIN=y
 CONFIG_IMX8M_POWER_DOMAIN=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
diff --git a/configs/kontron_pitx_imx8m_defconfig b/configs/kontron_pitx_imx8m_defconfig
index d2726b1..898a0b4 100644
--- a/configs/kontron_pitx_imx8m_defconfig
+++ b/configs/kontron_pitx_imx8m_defconfig
@@ -95,6 +95,7 @@
 CONFIG_SPL_POWER_LEGACY=y
 CONFIG_POWER_DOMAIN=y
 CONFIG_IMX8M_POWER_DOMAIN=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig
index d76ebe8..774523b 100644
--- a/configs/mx51evk_defconfig
+++ b/configs/mx51evk_defconfig
@@ -54,6 +54,8 @@
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_POWER_FSL=y
+CONFIG_POWER_SPI=y
 CONFIG_MXC_UART=y
 CONFIG_SPI=y
 CONFIG_MXC_SPI=y
diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig
index 193120f..08bcd35 100644
--- a/configs/mx53loco_defconfig
+++ b/configs/mx53loco_defconfig
@@ -58,6 +58,7 @@
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_POWER_FSL=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
 CONFIG_USB=y
diff --git a/configs/mx6sabreauto_defconfig b/configs/mx6sabreauto_defconfig
index 2aa15ce..634473f 100644
--- a/configs/mx6sabreauto_defconfig
+++ b/configs/mx6sabreauto_defconfig
@@ -95,6 +95,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_DM_REGULATOR=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig
index 766ce0e..4f7d370 100644
--- a/configs/mx6sabresd_defconfig
+++ b/configs/mx6sabresd_defconfig
@@ -102,6 +102,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_POWER_I2C=y
diff --git a/configs/novena_defconfig b/configs/novena_defconfig
index f6690b4..5f76179 100644
--- a/configs/novena_defconfig
+++ b/configs/novena_defconfig
@@ -79,6 +79,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
 CONFIG_DM_THERMAL=y
diff --git a/configs/pcm051_rev3_defconfig b/configs/pcm051_rev3_defconfig
index 373c609..3ed5591 100644
--- a/configs/pcm051_rev3_defconfig
+++ b/configs/pcm051_rev3_defconfig
@@ -56,6 +56,7 @@
 CONFIG_PHY_SMSC=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/phycore-am335x-r2-regor_defconfig b/configs/phycore-am335x-r2-regor_defconfig
index b6b5274..1b31676 100644
--- a/configs/phycore-am335x-r2-regor_defconfig
+++ b/configs/phycore-am335x-r2-regor_defconfig
@@ -83,6 +83,7 @@
 CONFIG_DM_SPI_FLASH=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/phycore-am335x-r2-wega_defconfig b/configs/phycore-am335x-r2-wega_defconfig
index 5012049..c5ffb41 100644
--- a/configs/phycore-am335x-r2-wega_defconfig
+++ b/configs/phycore-am335x-r2-wega_defconfig
@@ -84,6 +84,7 @@
 CONFIG_DM_SPI_FLASH=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y
+CONFIG_SPL_POWER_TPS65910=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
diff --git a/configs/pico-dwarf-imx7d_defconfig b/configs/pico-dwarf-imx7d_defconfig
index 8213578..46777e0 100644
--- a/configs/pico-dwarf-imx7d_defconfig
+++ b/configs/pico-dwarf-imx7d_defconfig
@@ -81,6 +81,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
diff --git a/configs/pico-hobbit-imx7d_defconfig b/configs/pico-hobbit-imx7d_defconfig
index 759866c..fb354d1 100644
--- a/configs/pico-hobbit-imx7d_defconfig
+++ b/configs/pico-hobbit-imx7d_defconfig
@@ -81,6 +81,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
diff --git a/configs/pico-imx7d_bl33_defconfig b/configs/pico-imx7d_bl33_defconfig
index 8631f81..35e6f1d 100644
--- a/configs/pico-imx7d_bl33_defconfig
+++ b/configs/pico-imx7d_bl33_defconfig
@@ -77,6 +77,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_POWER_I2C=y
 CONFIG_CONS_INDEX=4
 CONFIG_MXC_UART=y
diff --git a/configs/pico-imx7d_defconfig b/configs/pico-imx7d_defconfig
index a84954d..13cc97b 100644
--- a/configs/pico-imx7d_defconfig
+++ b/configs/pico-imx7d_defconfig
@@ -81,6 +81,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
diff --git a/configs/pico-nymph-imx7d_defconfig b/configs/pico-nymph-imx7d_defconfig
index 8213578..46777e0 100644
--- a/configs/pico-nymph-imx7d_defconfig
+++ b/configs/pico-nymph-imx7d_defconfig
@@ -81,6 +81,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
diff --git a/configs/pico-pi-imx7d_defconfig b/configs/pico-pi-imx7d_defconfig
index dec4280..6e92366 100644
--- a/configs/pico-pi-imx7d_defconfig
+++ b/configs/pico-pi-imx7d_defconfig
@@ -81,6 +81,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_POWER_I2C=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig
index 95428e1..f62a585 100644
--- a/configs/udoo_neo_defconfig
+++ b/configs/udoo_neo_defconfig
@@ -57,6 +57,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE3000=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_ANATOP=y
diff --git a/configs/vining_2000_defconfig b/configs/vining_2000_defconfig
index 3b5658d..7f84209 100644
--- a/configs/vining_2000_defconfig
+++ b/configs/vining_2000_defconfig
@@ -89,6 +89,7 @@
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_POWER_LEGACY=y
+CONFIG_POWER_PFUZE100=y
 CONFIG_POWER_I2C=y
 CONFIG_PWM_IMX=y
 CONFIG_DM_SERIAL=y
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index bc47cf1..5dbcde3 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -430,6 +430,10 @@
 	bool "Palmas power support"
 	depends on OMAP54XX
 
+config POWER_FSL
+	bool "Power control (legacy) for Freescale / NXP platforms"
+	depends on POWER_LEGACY
+
 config POWER_I2C
 	bool "I2C-based power control for legacy power"
 	depends on POWER_LEGACY
@@ -440,6 +444,10 @@
 	  Not to be used for new designs and existing ones should be moved to
 	  the new PMIC interface based on driver model.
 
+config POWER_SPI
+	bool "SPI-based power control for legacy power_fsl driver"
+	depends on POWER_FSL && !POWER_I2C
+
 config SPL_POWER_I2C
 	bool "I2C-based power control for legacy power"
 	depends on SPL_POWER_LEGACY
@@ -451,4 +459,17 @@
 	  Not to be used for new designs and existing ones should be moved to
 	  the new PMIC interface based on driver model.
 
+choice
+	prompt "PMIC chip"
+	default POWER_FSL_MC13892
+	depends on POWER_FSL && POWER_I2C
+
+config POWER_FSL_MC13892
+	bool "MC13892"
+
+config POWER_FSL_MC34704
+	bool "MC34704"
+
+endchoice
+
 endif
diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig
index d30bb4d..d94048d 100644
--- a/drivers/power/pmic/Kconfig
+++ b/drivers/power/pmic/Kconfig
@@ -393,8 +393,35 @@
 	only, and you can enable the regulator/charger drivers separately if
 	required.
 
+config POWER_TPS65218
+	bool "Enable legacy driver for TPS65218 PMIC"
+
+config POWER_TPS62362
+	bool "Enable legacy driver for TPS62362 PMIC"
+
+config SPL_POWER_TPS62362
+	bool "Enable legacy driver for TPS62362 PMIC in SPL"
+	default y if POWER_TPS62362
+	depends on SPL
+
+config SPL_POWER_TPS65910
+	bool "Enable legacy driver for TPS65910 PMIC in SPL"
+	depends on SPL
+
 if POWER_LEGACY || SPL_POWER_LEGACY
 
+config POWER_HI6553
+	bool "Enable legacy driver for HI6553 PMIC"
+
+config POWER_LTC3676
+	bool "Enable legacy driver for LTC3676 PMIC"
+
+config POWER_PFUZE100
+	bool "Enable legacy driver for PFUZE100 PMIC"
+
+config POWER_PFUZE3000
+	bool "Enable legacy driver for PFUZE3000 PMIC"
+
 config POWER_MC34VR500
 	bool "Enable driver for Freescale MC34VR500 PMIC"
 	---help---
diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile
index e78dc1e..c3180c5 100644
--- a/drivers/power/pmic/Makefile
+++ b/drivers/power/pmic/Makefile
@@ -33,6 +33,7 @@
 obj-$(CONFIG_PMIC_TPS65217) += pmic_tps65217.o
 obj-$(CONFIG_PMIC_TPS65219) += tps65219.o
 obj-$(CONFIG_PMIC_TPS65941) += tps65941.o
+obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o
 
 ifeq ($(CONFIG_$(SPL_)POWER_LEGACY),y)
 obj-$(CONFIG_POWER_LTC3676) += pmic_ltc3676.o
@@ -40,9 +41,9 @@
 obj-$(CONFIG_POWER_PCA9450) += pmic_pca9450.o
 obj-$(CONFIG_POWER_PFUZE100) += pmic_pfuze100.o
 obj-$(CONFIG_POWER_PFUZE3000) += pmic_pfuze3000.o
-obj-$(CONFIG_POWER_TPS62362) += pmic_tps62362.o
-obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o
-obj-$(CONFIG_POWER_TPS65910) += pmic_tps65910.o
 obj-$(CONFIG_POWER_HI6553) += pmic_hi6553.o
 obj-$(CONFIG_POWER_MC34VR500) += pmic_mc34vr500.o
 endif
+
+obj-$(CONFIG_$(SPL_)POWER_TPS62362) += pmic_tps62362.o
+obj-$(CONFIG_SPL_POWER_TPS65910) += pmic_tps65910.o
diff --git a/drivers/power/power_fsl.c b/drivers/power/power_fsl.c
index 7180b51..9bb7e39 100644
--- a/drivers/power/power_fsl.c
+++ b/drivers/power/power_fsl.c
@@ -49,8 +49,6 @@
 	p->interface = PMIC_I2C;
 	p->hw.i2c.addr = CFG_SYS_FSL_PMIC_I2C_ADDR;
 	p->hw.i2c.tx_num = FSL_PMIC_I2C_LENGTH;
-#else
-#error "You must select CONFIG_POWER_SPI or CONFIG_POWER_I2C"
 #endif
 
 	return 0;
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index 69b8b04..755f7fa 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -165,9 +165,6 @@
 #define CFG_SYS_NS16550_COM5		0x481a8000	/* UART4 */
 #define CFG_SYS_NS16550_COM6		0x481aa000	/* UART5 */
 
-/* PMIC support */
-#define CONFIG_POWER_TPS65910
-
 #ifdef CONFIG_MTD_RAW_NAND
 /* NAND: device related configs */
 /* NAND: driver related configs */
diff --git a/include/configs/am335x_sl50.h b/include/configs/am335x_sl50.h
index 4af9eda..342a068 100644
--- a/include/configs/am335x_sl50.h
+++ b/include/configs/am335x_sl50.h
@@ -43,11 +43,4 @@
 #define CFG_SYS_NS16550_COM5		0x481a8000	/* UART4 */
 #define CFG_SYS_NS16550_COM6		0x481aa000	/* UART5 */
 
-/* PMIC support */
-#define CONFIG_POWER_TPS65910
-
-/* SPL */
-
-/* Network. */
-
 #endif	/* ! __CONFIG_AM335X_SL50_H */
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index bcdff2e..7659c1c 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -16,14 +16,6 @@
 /* NS16550 Configuration */
 #define CFG_SYS_NS16550_CLK		48000000
 
-/* I2C Configuration */
-
-/* Power */
-#define CONFIG_POWER_TPS65218
-#define CONFIG_POWER_TPS62362
-
-/* SPL defines. */
-
 /* Enabling L2 Cache */
 #define CFG_SYS_PL310_BASE	0x48242000
 
diff --git a/include/configs/baltos.h b/include/configs/baltos.h
index f29729d..6f6552e 100644
--- a/include/configs/baltos.h
+++ b/include/configs/baltos.h
@@ -188,9 +188,6 @@
 #define CFG_SYS_NS16550_COM5		0x481a8000	/* UART4 */
 #define CFG_SYS_NS16550_COM6		0x481aa000	/* UART5 */
 
-/* PMIC support */
-#define CONFIG_POWER_TPS65910
-
 /* SPL */
 #ifndef CONFIG_NOR_BOOT
 
diff --git a/include/configs/cl-som-imx7.h b/include/configs/cl-som-imx7.h
index b1f9470..4aaa52f 100644
--- a/include/configs/cl-som-imx7.h
+++ b/include/configs/cl-som-imx7.h
@@ -19,7 +19,6 @@
 #define IMX_FEC_BASE			ENET_IPS_BASE_ADDR
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE3000
 #define CONFIG_POWER_PFUZE3000_I2C_ADDR	0x08
 
 #define CONFIG_PCA953X
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index 8ad1cfb..fcc17fc 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -28,9 +28,6 @@
 					 42, 43, 44, 45, 46, 47, 48, 49, \
 					 50, 51, 52, 53, 54, 55, 56, 57, }
 
-/* Power */
-#define CONFIG_POWER_TPS65218
-
 /* Enabling L2 Cache */
 #define CFG_SYS_PL310_BASE		0x48242000
 
diff --git a/include/configs/el6x_common.h b/include/configs/el6x_common.h
index 141f991..89e071c 100644
--- a/include/configs/el6x_common.h
+++ b/include/configs/el6x_common.h
@@ -17,7 +17,6 @@
 #define CFG_SYS_FSL_USDHC_NUM	2
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
 
 /* Commands */
diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h
index b855bbc..65283af 100644
--- a/include/configs/gw_ventana.h
+++ b/include/configs/gw_ventana.h
@@ -30,9 +30,7 @@
 /*
  * PMIC
  */
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
-#define CONFIG_POWER_LTC3676
 #define CONFIG_POWER_LTC3676_I2C_ADDR  0x3c
 
 /* Various command support */
diff --git a/include/configs/hikey.h b/include/configs/hikey.h
index eefdbd6..d4280de 100644
--- a/include/configs/hikey.h
+++ b/include/configs/hikey.h
@@ -13,8 +13,6 @@
 
 #include <linux/sizes.h>
 
-#define CONFIG_POWER_HI6553
-
 /* Physical Memory Map */
 
 /* CONFIG_TEXT_BASE needs to align with where ATF loads bl33.bin */
diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h
index aa29e78..688c0bf 100644
--- a/include/configs/imx8mq_evk.h
+++ b/include/configs/imx8mq_evk.h
@@ -18,7 +18,6 @@
 #define CONFIG_MALLOC_F_ADDR		0x182000
 /* For RAW image gives a error info not panic */
 
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08
 #endif
 
diff --git a/include/configs/kontron_pitx_imx8m.h b/include/configs/kontron_pitx_imx8m.h
index 2abcb84..17c63d8 100644
--- a/include/configs/kontron_pitx_imx8m.h
+++ b/include/configs/kontron_pitx_imx8m.h
@@ -20,7 +20,6 @@
 /* For RAW image gives a error info not panic */
 
 
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR  0x08
 #endif
 
diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h
index 6d9b954..d9d76d7 100644
--- a/include/configs/mx51evk.h
+++ b/include/configs/mx51evk.h
@@ -21,8 +21,6 @@
 #define CONFIG_MXC_UART_BASE	UART1_BASE
 
 /* PMIC Controller */
-#define CONFIG_POWER_SPI
-#define CONFIG_POWER_FSL
 #define CONFIG_FSL_PMIC_BUS	0
 #define CONFIG_FSL_PMIC_CS	0
 #define CONFIG_FSL_PMIC_CLK	2500000
diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index b52e70c..d0107fc 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -22,8 +22,6 @@
 #define CONFIG_MXC_USB_FLAGS	0
 
 /* PMIC Controller */
-#define CONFIG_POWER_FSL
-#define CONFIG_POWER_FSL_MC13892
 #define CFG_SYS_DIALOG_PMIC_I2C_ADDR	0x48
 #define CFG_SYS_FSL_PMIC_I2C_ADDR	0x8
 
diff --git a/include/configs/mx6sabreauto.h b/include/configs/mx6sabreauto.h
index 1a2160c..f5f95a1 100644
--- a/include/configs/mx6sabreauto.h
+++ b/include/configs/mx6sabreauto.h
@@ -37,7 +37,6 @@
 /* DMA stuff, needed for GPMI/MXS NAND support */
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
 
 #endif                         /* __MX6SABREAUTO_CONFIG_H */
diff --git a/include/configs/mx6sabresd.h b/include/configs/mx6sabresd.h
index 0d06b6d..78a554d 100644
--- a/include/configs/mx6sabresd.h
+++ b/include/configs/mx6sabresd.h
@@ -25,7 +25,6 @@
 #endif
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
 
 /* USB Configs */
diff --git a/include/configs/novena.h b/include/configs/novena.h
index 6f588f9..16a89b9 100644
--- a/include/configs/novena.h
+++ b/include/configs/novena.h
@@ -50,7 +50,6 @@
 #endif
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
 
 /* UART */
diff --git a/include/configs/peach-pi.h b/include/configs/peach-pi.h
index bfc0011..fb6eb57 100644
--- a/include/configs/peach-pi.h
+++ b/include/configs/peach-pi.h
@@ -22,8 +22,6 @@
 
 #define CFG_SYS_SDRAM_BASE	0x20000000
 
-#define CONFIG_POWER_TPS65090_EC
-
 /* DRAM Memory Banks */
 #define SDRAM_BANK_SIZE		(512UL << 20UL)	/* 512 MB */
 
diff --git a/include/configs/phycore_am335x_r2.h b/include/configs/phycore_am335x_r2.h
index 43a6082..f922491 100644
--- a/include/configs/phycore_am335x_r2.h
+++ b/include/configs/phycore_am335x_r2.h
@@ -79,8 +79,6 @@
 #define V_OSCK				25000000  /* Clock output from T2 */
 #define V_SCLK				V_OSCK
 
-#define CONFIG_POWER_TPS65910
-
 #ifdef CONFIG_MTD_RAW_NAND
 /* NAND: device related configs */
 /* NAND: driver related configs */
diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h
index 7028264..83907b0 100644
--- a/include/configs/pico-imx7d.h
+++ b/include/configs/pico-imx7d.h
@@ -98,7 +98,6 @@
 #define CFG_SYS_INIT_RAM_SIZE	IRAM_SIZE
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE3000
 #define CONFIG_POWER_PFUZE3000_I2C_ADDR	0x08
 
 /* FLASH and environment organization */
diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h
index 9c3454a..7a1ad95 100644
--- a/include/configs/tqma6.h
+++ b/include/configs/tqma6.h
@@ -31,7 +31,6 @@
 #define CONFIG_I2C_MULTI_BUS
 
 #if !defined(CONFIG_DM_PMIC)
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
 #define TQMA6_PFUZE100_I2C_BUS		2
 #endif
diff --git a/include/configs/udoo_neo.h b/include/configs/udoo_neo.h
index 0e0d5b5..d4c9223 100644
--- a/include/configs/udoo_neo.h
+++ b/include/configs/udoo_neo.h
@@ -62,7 +62,6 @@
 #define CFG_SYS_INIT_RAM_SIZE	IRAM_SIZE
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE3000
 #define CONFIG_POWER_PFUZE3000_I2C_ADDR	0x08
 #define PFUZE3000_I2C_BUS	0
 
diff --git a/include/configs/vining_2000.h b/include/configs/vining_2000.h
index ab5cd5c..1a71b30 100644
--- a/include/configs/vining_2000.h
+++ b/include/configs/vining_2000.h
@@ -31,7 +31,6 @@
 #define CFG_SYS_FSL_ESDHC_ADDR	USDHC4_BASE_ADDR
 
 /* PMIC */
-#define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
 
 /* Network */