config DM_PMIC
	bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC)"
	depends on DM
	---help---
	This config enables the driver-model PMIC support.
	UCLASS_PMIC - designed to provide an I/O interface for PMIC devices.
	For the multi-function PMIC devices, this can be used as parent I/O
	device for each IC's interface. Then, each children uses its parent
	for read/write. For detailed description, please refer to the files:
	- 'drivers/power/pmic/pmic-uclass.c'
	- 'include/power/pmic.h'

config PMIC_CHILDREN
	bool "Allow child devices for PMICs"
	depends on DM_PMIC
	default y
	---help---
	This allows PMICs to support child devices (such as regulators) in
	SPL. This adds quite a bit of code so if you are not using this
	feature you can turn it off. Most likely you should turn it on for
	U-Boot proper.

config SPL_PMIC_CHILDREN
	bool "Allow child devices for PMICs in SPL"
	depends on DM_PMIC
	default y
	---help---
	This allows PMICs to support child devices (such as regulators) in
	SPL. This adds quite a bit of code so if you are not using this
	feature you can turn it off. In this case you may need a 'back door'
	to call your regulator code (e.g. see rk808.c for direct functions
	for use in SPL).

config PMIC_ACT8846
	bool "Enable support for the active-semi 8846 PMIC"
	depends on DM_PMIC && DM_I2C
	---help---
	This PMIC includes 4 DC/DC step-down buck regulators and 8 low-dropout
	regulators (LDOs). It also provides some GPIO, reset and battery
	functions. It uses an I2C interface and is designed for use with
	tablets and smartphones.

config DM_PMIC_PFUZE100
	bool "Enable Driver Model for PMIC PFUZE100"
	depends on DM_PMIC
	---help---
	This config enables implementation of driver-model pmic uclass features
	for PMIC PFUZE100. The driver implements read/write operations.

config DM_PMIC_MAX77686
	bool "Enable Driver Model for PMIC MAX77686"
	depends on DM_PMIC
	---help---
	This config enables implementation of driver-model pmic uclass features
	for PMIC MAX77686. The driver implements read/write operations.

config PMIC_PM8916
	bool "Enable Driver Model for Qualcomm PM8916 PMIC"
	depends on DM_PMIC
	---help---
	The PM8916 is a PMIC connected to one (or several) processors
	with SPMI bus. It has 2 slaves with several peripherals:
	- 18x LDO
	- 4x GPIO
	- Power and Reset buttons
	- Watchdog
	- RTC
	- Vibrator drivers
	- Others

	Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt

config PMIC_RK808
	bool "Enable support for Rockchip PMIC RK808"
	depends on DM_PMIC
	---help---
	The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs,
	an RTC and two low Rds (resistance (drain to source)) switches. It is
	accessed via an I2C interface. The device is used with Rockchip SoCs.
	This driver implements register read/write operations.

config PMIC_S2MPS11
	bool "Enable Driver Model for PMIC Samsung S2MPS11"
	depends on DM_PMIC
	---help---
	The Samsung S2MPS11 PMIC provides:
	 - 38 adjustable LDO regulators
	 - 9 High-Efficiency Buck Converters
	 - 1 BuckBoost Converter
	 - RTC with two alarms
	 - Backup battery charger
	 - I2C Configuration Interface
	This driver provides access to I/O interface only.
	Binding info: doc/device-tree-bindings/pmic/s2mps11.txt

config DM_PMIC_SANDBOX
	bool "Enable Driver Model for emulated Sandbox PMIC "
	depends on DM_PMIC
	---help---
	Enable the driver for Sandbox PMIC emulation. The emulated PMIC device
	depends on two drivers:
	- sandbox PMIC I/O driver - implements dm pmic operations
	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission

	A detailed information can be found in header: '<power/sandbox_pmic.h>'

	The Sandbox PMIC info:
	* I/O interface:
	  - I2C chip address:       0x40
	  - first register address: 0x0
	  - register count:         0x10
	* Adjustable outputs:
	  - 2x LDO
	  - 2x BUCK
	  - Each, with a different operating conditions (header).
	* Reset values:
	  - set by i2c emul driver's probe() (defaults in header)

	Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt

config PMIC_S5M8767
	bool "Enable Driver Model for the Samsung S5M8767 PMIC"
	depends on DM_PMIC
	---help---
	The S5M8767 PMIC provides a large array of LDOs and BUCKs for use
	as a SoC power controller. It also provides 32KHz clock outputs. This
	driver provides basic register access and sets up the attached
	regulators if regulator support is enabled.

config PMIC_TPS65090
	bool "Enable driver for Texas Instruments TPS65090 PMIC"
	depends on DM_PMIC
	---help---
	The TPS65090 is a PMIC containing several LDOs, DC to DC convertors,
	FETs and a battery charger. This driver provides register access
	only, and you can enable the regulator/charger drivers separately if
	required.
