mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-03 21:48:15 +00:00 
			
		
		
		
	Allow the dm driver be omitted by SPL. Cc: Quentin Schulz <foss+u-boot@0leil.net> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
		
			
				
	
	
		
			379 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			379 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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'
 | 
						|
 | 
						|
if DM_PMIC
 | 
						|
 | 
						|
config SPL_DM_PMIC
 | 
						|
	bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC) in SPL"
 | 
						|
	depends on SPL_DM
 | 
						|
	default y
 | 
						|
	---help---
 | 
						|
	This config enables the driver-model PMIC support in SPL.
 | 
						|
	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"
 | 
						|
	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 SPL_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 rk8xx.c for direct functions
 | 
						|
	for use in SPL).
 | 
						|
 | 
						|
config PMIC_AB8500
 | 
						|
	bool "Enable driver for ST-Ericsson AB8500 PMIC via PRCMU"
 | 
						|
	select REGMAP
 | 
						|
	select SYSCON
 | 
						|
	help
 | 
						|
	  Enable support for the ST-Ericsson AB8500 (Analog Baseband) PMIC.
 | 
						|
	  It connects with the ST-Ericsson DB8500 SoC via an I2C bus managed by
 | 
						|
	  the power/reset/clock management unit (PRCMU) firmware.
 | 
						|
 | 
						|
config PMIC_ACT8846
 | 
						|
	bool "Enable support for the active-semi 8846 PMIC"
 | 
						|
	depends on 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 PMIC_AXP
 | 
						|
	bool "Enable Driver Model for X-Powers AXP PMICs"
 | 
						|
	depends on DM_I2C
 | 
						|
	select SYSRESET_CMD_POWEROFF if SYSRESET && CMD_POWEROFF
 | 
						|
	imply CMD_POWEROFF if SYSRESET
 | 
						|
	help
 | 
						|
	  This config enables driver-model PMIC uclass features for
 | 
						|
	  X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
 | 
						|
 | 
						|
config SPL_PMIC_AXP
 | 
						|
	bool "Enable Driver Model for X-Powers AXP PMICs in SPL"
 | 
						|
	depends on SPL_DM_I2C && SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	  This config enables driver-model PMIC uclass features in the SPL for
 | 
						|
	  X-Powers AXP152, AXP2xx, and AXP8xx PMICs.
 | 
						|
 | 
						|
config DM_PMIC_DA9063
 | 
						|
	bool "Enable Driver Model for the Dialog DA9063 PMIC"
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass features
 | 
						|
	  for PMIC DA9063. The driver implements read/write operations.
 | 
						|
 | 
						|
config SPL_DM_PMIC_DA9063
 | 
						|
	bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass features
 | 
						|
	  for PMIC DA9063. The driver implements read/write operations.
 | 
						|
 | 
						|
config PMIC_AS3722
 | 
						|
	bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC"
 | 
						|
	help
 | 
						|
	  The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a
 | 
						|
	  real-time clock, GPIOs, ADC and a few other features. It uses an I2C
 | 
						|
	  interface and is designs to cover most of the power managementment
 | 
						|
	  required for a tablets or laptop.
 | 
						|
 | 
						|
config DM_PMIC_BD71837
 | 
						|
 	bool "Enable Driver Model for PMIC BD71837"
 | 
						|
 	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass features
 | 
						|
	  for PMIC BD71837. The driver implements read/write operations.
 | 
						|
 | 
						|
config SPL_DM_PMIC_BD71837
 | 
						|
	bool "Enable Driver Model for PMIC BD71837 in SPL stage"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass
 | 
						|
	  features for PMIC BD71837. The driver implements read/write
 | 
						|
	  operations.
 | 
						|
 | 
						|
config DM_PMIC_FAN53555
 | 
						|
	bool "Enable support for OnSemi FAN53555"
 | 
						|
	depends on DM_REGULATOR && DM_I2C
 | 
						|
	select DM_REGULATOR_FAN53555
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model PMIC
 | 
						|
	  uclass features for the FAN53555 regulator. The FAN53555 is
 | 
						|
	  a (family of) single-output regulators that supports
 | 
						|
	  transitioning between two different output voltages based on
 | 
						|
	  an voltage selection pin.
 | 
						|
 | 
						|
	  The driver implements read/write operations for use with the FAN53555
 | 
						|
	  regulator driver and binds the regulator driver to its node.
 | 
						|
 | 
						|
config SPL_DM_PMIC_FAN53555
 | 
						|
	bool "Enable support for OnSemi FAN53555 in SPL"
 | 
						|
	depends on SPL_DM_REGULATOR && SPL_DM_I2C
 | 
						|
	select SPL_DM_REGULATOR_FAN53555
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model PMIC
 | 
						|
	  uclass features for the FAN53555 regulator. The FAN53555 is
 | 
						|
	  a (family of) single-output regulators that supports
 | 
						|
	  transitioning between two different output voltages based on
 | 
						|
	  an voltage selection pin.
 | 
						|
 | 
						|
	  The driver implements read/write operations for use with the FAN53555
 | 
						|
	  regulator driver and binds the regulator driver to its node.
 | 
						|
 | 
						|
config DM_PMIC_MP5416
 | 
						|
	bool "Enable Driver Model for PMIC MP5416"
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass features
 | 
						|
	  for PMIC MP5416. The driver implements read/write operations.
 | 
						|
 | 
						|
config SPL_DM_PMIC_MP5416
 | 
						|
	bool "Enable Driver Model for PMIC MP5416 in SPL stage"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass
 | 
						|
	  features for PMIC MP5416. The driver implements read/write
 | 
						|
	  operations.
 | 
						|
 | 
						|
config DM_PMIC_PCA9450
 | 
						|
	bool "Enable Driver Model for PMIC PCA9450"
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass features
 | 
						|
	  for PMIC PCA9450. The driver implements read/write operations.
 | 
						|
 | 
						|
config SPL_DM_PMIC_PCA9450
 | 
						|
	bool "Enable Driver Model for PMIC PCA9450"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	  This config enables implementation of driver-model pmic uclass features
 | 
						|
	  for PMIC PCA9450 in SPL. The driver implements read/write operations.
 | 
						|
 | 
						|
config DM_PMIC_PFUZE100
 | 
						|
	bool "Enable Driver Model for PMIC PFUZE100"
 | 
						|
	---help---
 | 
						|
	This config enables implementation of driver-model pmic uclass features
 | 
						|
	for PMIC PFUZE100. The driver implements read/write operations.
 | 
						|
 | 
						|
config SPL_DM_PMIC_PFUZE100
 | 
						|
	bool "Enable Driver Model for PMIC PFUZE100 in SPL"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	---help---
 | 
						|
	This config enables implementation of driver-model pmic uclass features
 | 
						|
	for PMIC PFUZE100 in SPL. The driver implements read/write operations.
 | 
						|
 | 
						|
config DM_PMIC_MAX77686
 | 
						|
	bool "Enable Driver Model for PMIC MAX77686"
 | 
						|
	---help---
 | 
						|
	This config enables implementation of driver-model pmic uclass features
 | 
						|
	for PMIC MAX77686. The driver implements read/write operations.
 | 
						|
 | 
						|
config DM_PMIC_MAX8998
 | 
						|
	bool "Enable Driver Model for PMIC MAX8998"
 | 
						|
	---help---
 | 
						|
	This config enables implementation of driver-model pmic uclass features
 | 
						|
	for PMIC MAX8998. The driver implements read/write operations.
 | 
						|
 | 
						|
config DM_PMIC_MC34708
 | 
						|
	bool "Enable Driver Model for PMIC MC34708"
 | 
						|
	help
 | 
						|
	 This config enables implementation of driver-model pmic uclass features
 | 
						|
	 for PMIC MC34708. The driver implements read/write operations.
 | 
						|
 | 
						|
config PMIC_MAX8997
 | 
						|
	bool "Enable Driver Model for PMIC MAX8997"
 | 
						|
	---help---
 | 
						|
	This config enables implementation of driver-model pmic uclass features
 | 
						|
	for PMIC MAX8997. The driver implements read/write operations.
 | 
						|
	This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip.
 | 
						|
	- 21x LDOs
 | 
						|
	- 12x GPIOs
 | 
						|
	- Haptic Motor driver
 | 
						|
	- RTC with two alarms
 | 
						|
	- Fueal Gauge and One backup battery charger
 | 
						|
	- MUIC
 | 
						|
	- Others
 | 
						|
 | 
						|
config PMIC_PM8916
 | 
						|
	bool "Enable Driver Model for Qualcomm PM8916 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_RK8XX
 | 
						|
	bool "Enable support for Rockchip PMIC RK8XX"
 | 
						|
	---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 SPL_PMIC_RK8XX
 | 
						|
	bool "Enable support for Rockchip PMIC RK8XX"
 | 
						|
	depends on SPL_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"
 | 
						|
	---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"
 | 
						|
	---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"
 | 
						|
	---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_RN5T567
 | 
						|
	bool "Enable driver for Ricoh RN5T567 PMIC"
 | 
						|
	---help---
 | 
						|
	The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO
 | 
						|
	regulators Real-Time Clock and 4 GPIOs. This driver provides
 | 
						|
	register access only.
 | 
						|
 | 
						|
config PMIC_TPS65090
 | 
						|
	bool "Enable driver for Texas Instruments TPS65090 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.
 | 
						|
 | 
						|
config PMIC_PALMAS
 | 
						|
	bool "Enable driver for Texas Instruments PALMAS PMIC"
 | 
						|
	---help---
 | 
						|
	The PALMAS is a PMIC containing several LDOs, SMPS.
 | 
						|
	This driver binds the pmic children.
 | 
						|
 | 
						|
config PMIC_LP873X
 | 
						|
	bool "Enable driver for Texas Instruments LP873X PMIC"
 | 
						|
	---help---
 | 
						|
	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
 | 
						|
	This driver binds the pmic children.
 | 
						|
 | 
						|
config PMIC_LP87565
 | 
						|
	bool "Enable driver for Texas Instruments LP87565 PMIC"
 | 
						|
	---help---
 | 
						|
	The LP87565 is a PMIC containing a bunch of SMPS.
 | 
						|
	This driver binds the pmic children.
 | 
						|
 | 
						|
config DM_PMIC_TPS65910
 | 
						|
	bool "Enable driver for Texas Instruments TPS65910 PMIC"
 | 
						|
	---help---
 | 
						|
	The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost
 | 
						|
	DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO
 | 
						|
	pmic children.
 | 
						|
 | 
						|
config PMIC_STPMIC1
 | 
						|
	bool "Enable support for STMicroelectronics STPMIC1 PMIC"
 | 
						|
	depends on DM_I2C
 | 
						|
	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW
 | 
						|
	---help---
 | 
						|
	The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches.
 | 
						|
	It is accessed via an I2C interface. The device is used with STM32MP1
 | 
						|
	SoCs. This driver implements register read/write operations.
 | 
						|
 | 
						|
config SPL_PMIC_PALMAS
 | 
						|
	bool "Enable driver for Texas Instruments PALMAS PMIC"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	The PALMAS is a PMIC containing several LDOs, SMPS.
 | 
						|
	This driver binds the pmic children in SPL.
 | 
						|
 | 
						|
config SPL_PMIC_LP873X
 | 
						|
	bool "Enable driver for Texas Instruments LP873X PMIC"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	The LP873X is a PMIC containing couple of LDOs and couple of SMPS.
 | 
						|
	This driver binds the pmic children in SPL.
 | 
						|
 | 
						|
config SPL_PMIC_LP87565
 | 
						|
	bool "Enable driver for Texas Instruments LP87565 PMIC"
 | 
						|
	depends on SPL_DM_PMIC
 | 
						|
	help
 | 
						|
	The LP87565 is a PMIC containing a bunch of SMPS.
 | 
						|
	This driver binds the pmic children in SPL.
 | 
						|
 | 
						|
config PMIC_TPS65941
 | 
						|
	bool "Enable driver for Texas Instruments TPS65941 PMIC"
 | 
						|
	help
 | 
						|
	The TPS65941 is a PMIC containing a bunch of SMPS & LDOs.
 | 
						|
	This driver binds the pmic children.
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
config POWER_MC34VR500
 | 
						|
	bool "Enable driver for Freescale MC34VR500 PMIC"
 | 
						|
	depends on !DM_PMIC
 | 
						|
	---help---
 | 
						|
	The MC34VR500 is used in conjunction with the FSL T1 and LS1 series
 | 
						|
	SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed
 | 
						|
	via an I2C interface.
 |