xref: /OK3568_Linux_fs/u-boot/drivers/power/regulator/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig DM_REGULATOR
2*4882a593Smuzhiyun	bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)"
3*4882a593Smuzhiyun	depends on DM
4*4882a593Smuzhiyun	---help---
5*4882a593Smuzhiyun	This config enables the driver model regulator support.
6*4882a593Smuzhiyun	UCLASS_REGULATOR - designed to provide a common API for basic regulator's
7*4882a593Smuzhiyun	functions, like get/set Voltage or Current value, enable state, etc...
8*4882a593Smuzhiyun	Note:
9*4882a593Smuzhiyun	When enabling this, please read the description, found in the files:
10*4882a593Smuzhiyun	- 'include/power/pmic.h'
11*4882a593Smuzhiyun	- 'include/power/regulator.h'
12*4882a593Smuzhiyun	- 'drivers/power/pmic/pmic-uclass.c'
13*4882a593Smuzhiyun	- 'drivers/power/pmic/regulator-uclass.c'
14*4882a593Smuzhiyun	It's important to call the device_bind() with the proper node offset,
15*4882a593Smuzhiyun	when binding the regulator devices. The pmic_bind_childs() can be used
16*4882a593Smuzhiyun	for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev()
17*4882a593Smuzhiyun	otherwise. Detailed information can be found in the header file.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyunconfig SPL_DM_REGULATOR
20*4882a593Smuzhiyun	bool "Enable regulators for SPL"
21*4882a593Smuzhiyun	depends on DM_REGULATOR
22*4882a593Smuzhiyun	---help---
23*4882a593Smuzhiyun	Regulators are seldom needed in SPL. Even if they are accessed, some
24*4882a593Smuzhiyun	code space can be saved by accessing the PMIC registers directly.
25*4882a593Smuzhiyun	Enable this option if you need regulators in SPL and can cope with
26*4882a593Smuzhiyun	the extra code size.
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunconfig REGULATOR_ACT8846
29*4882a593Smuzhiyun	bool "Enable driver for ACT8846 regulator"
30*4882a593Smuzhiyun	depends on DM_REGULATOR && PMIC_ACT8846
31*4882a593Smuzhiyun	---help---
32*4882a593Smuzhiyun	Enable support for the regulator functions of the ACT8846 PMIC. The
33*4882a593Smuzhiyun	driver implements get/set api for the various BUCKS and LDOS supported
34*4882a593Smuzhiyun	by the PMIC device. This driver is controlled by a device tree node
35*4882a593Smuzhiyun	which includes voltage limits.
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunconfig REGULATOR_AS3722
38*4882a593Smuzhiyun	bool "Enable driver for AS7322 regulator"
39*4882a593Smuzhiyun	depends on DM_REGULATOR && PMIC_AS3722
40*4882a593Smuzhiyun	help
41*4882a593Smuzhiyun	  Enable support for the regulator functions of the AS3722. The
42*4882a593Smuzhiyun	  driver implements enable/disable for step-down bucks and LDOs,
43*4882a593Smuzhiyun	  but does not yet support change voltages. Currently this must be
44*4882a593Smuzhiyun	  done using direct register writes to the PMIC.
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunconfig DM_REGULATOR_PFUZE100
47*4882a593Smuzhiyun	bool "Enable Driver Model for REGULATOR PFUZE100"
48*4882a593Smuzhiyun	depends on DM_REGULATOR && DM_PMIC_PFUZE100
49*4882a593Smuzhiyun	---help---
50*4882a593Smuzhiyun	This config enables implementation of driver-model regulator uclass
51*4882a593Smuzhiyun	features for REGULATOR PFUZE100. The driver implements get/set api for:
52*4882a593Smuzhiyun	value, enable and mode.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunconfig REGULATOR_FAN53555
55*4882a593Smuzhiyun	bool "Enable driver for fan53555 regulators"
56*4882a593Smuzhiyun	depends on DM_REGULATOR
57*4882a593Smuzhiyun	---help---
58*4882a593Smuzhiyun	Enable support for the regulator functions of the fan53555 DCDC. The
59*4882a593Smuzhiyun	driver implements get/set api for the various BUCK.This driver is
60*4882a593Smuzhiyun	controlled by a device tree node which includes voltage limits.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyunconfig REGULATOR_PWM
63*4882a593Smuzhiyun	bool "Enable driver for PWM regulators"
64*4882a593Smuzhiyun	depends on DM_REGULATOR
65*4882a593Smuzhiyun	---help---
66*4882a593Smuzhiyun	Enable support for the PWM regulator functions which voltage are
67*4882a593Smuzhiyun	controlled by PWM duty ratio. Some of Rockchip board using this kind
68*4882a593Smuzhiyun	of regulator. The driver implements get/set api for the various BUCKS.
69*4882a593Smuzhiyun	This driver is controlled by a device tree node
70*4882a593Smuzhiyun	which includes voltage limits.
71*4882a593Smuzhiyun
72*4882a593Smuzhiyunconfig DM_REGULATOR_MAX77686
73*4882a593Smuzhiyun	bool "Enable Driver Model for REGULATOR MAX77686"
74*4882a593Smuzhiyun	depends on DM_REGULATOR && DM_PMIC_MAX77686
75*4882a593Smuzhiyun	---help---
76*4882a593Smuzhiyun	This config enables implementation of driver-model regulator uclass
77*4882a593Smuzhiyun	features for REGULATOR MAX77686. The driver implements get/set api for:
78*4882a593Smuzhiyun	value, enable and mode.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunconfig DM_REGULATOR_FIXED
81*4882a593Smuzhiyun	bool "Enable Driver Model for REGULATOR Fixed value"
82*4882a593Smuzhiyun	depends on DM_REGULATOR
83*4882a593Smuzhiyun	---help---
84*4882a593Smuzhiyun	This config enables implementation of driver-model regulator uclass
85*4882a593Smuzhiyun	features for fixed value regulators. The driver implements get/set api
86*4882a593Smuzhiyun	for enable and get only for voltage value.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyunconfig SPL_DM_REGULATOR_FIXED
89*4882a593Smuzhiyun	bool "Enable Driver Model for REGULATOR Fixed value in SPL"
90*4882a593Smuzhiyun	depends on DM_REGULATOR_FIXED
91*4882a593Smuzhiyun	---help---
92*4882a593Smuzhiyun	This config enables implementation of driver-model regulator uclass
93*4882a593Smuzhiyun	features for fixed value regulators in SPL.
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunconfig DM_REGULATOR_GPIO
96*4882a593Smuzhiyun	bool "Enable Driver Model for GPIO REGULATOR"
97*4882a593Smuzhiyun	depends on DM_REGULATOR
98*4882a593Smuzhiyun	---help---
99*4882a593Smuzhiyun	This config enables implementation of driver-model regulator uclass
100*4882a593Smuzhiyun	features for gpio regulators. The driver implements get/set for
101*4882a593Smuzhiyun	voltage value.
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunconfig REGULATOR_RK860X
104*4882a593Smuzhiyun	bool "Enable driver for rk860x regulators"
105*4882a593Smuzhiyun	depends on DM_REGULATOR
106*4882a593Smuzhiyun	---help---
107*4882a593Smuzhiyun	Enable support for the regulator functions of the rk860x DCDC. The
108*4882a593Smuzhiyun	driver implements get/set api for the various BUCK.This driver is
109*4882a593Smuzhiyun	controlled by a device tree node which includes voltage limits.
110*4882a593Smuzhiyun
111*4882a593Smuzhiyunconfig REGULATOR_RK8XX
112*4882a593Smuzhiyun	bool "Enable driver for RK8XX regulators"
113*4882a593Smuzhiyun	depends on DM_REGULATOR && PMIC_RK8XX
114*4882a593Smuzhiyun	---help---
115*4882a593Smuzhiyun	Enable support for the regulator functions of the RK8XX PMIC. The
116*4882a593Smuzhiyun	driver implements get/set api for the various BUCKS and LDOs supported
117*4882a593Smuzhiyun	by the PMIC device. This driver is controlled by a device tree node
118*4882a593Smuzhiyun	which includes voltage limits.
119*4882a593Smuzhiyun
120*4882a593Smuzhiyunconfig REGULATOR_RK806
121*4882a593Smuzhiyun        bool "Enable driver for RK8XX regulators"
122*4882a593Smuzhiyun        depends on DM_REGULATOR && PMIC_SPI_RK8XX
123*4882a593Smuzhiyun        ---help---
124*4882a593Smuzhiyun        Enable support for the regulator functions of the RK806 PMIC. The
125*4882a593Smuzhiyun        driver implements get/set api for the various BUCKS and LDOs supported
126*4882a593Smuzhiyun        by the PMIC device. This driver is controlled by a device tree node
127*4882a593Smuzhiyun        which includes voltage limits
128*4882a593Smuzhiyun
129*4882a593Smuzhiyunconfig REGULATOR_S5M8767
130*4882a593Smuzhiyun	bool "Enable support for S5M8767 regulator"
131*4882a593Smuzhiyun	depends on DM_REGULATOR && PMIC_S5M8767
132*4882a593Smuzhiyun	---help---
133*4882a593Smuzhiyun	This enables the regulator features of the S5M8767, allowing voltages
134*4882a593Smuzhiyun	to be set, etc. The driver is not fully complete but supports most
135*4882a593Smuzhiyun	common requirements, including all LDOs and BUCKs. This allows many
136*4882a593Smuzhiyun	supplies to be set automatically using the device tree values.
137*4882a593Smuzhiyun
138*4882a593Smuzhiyunconfig DM_REGULATOR_SANDBOX
139*4882a593Smuzhiyun	bool "Enable Driver Model for Sandbox PMIC regulator"
140*4882a593Smuzhiyun	depends on DM_REGULATOR && DM_PMIC_SANDBOX
141*4882a593Smuzhiyun	---help---
142*4882a593Smuzhiyun	Enable the regulator driver for emulated Sandbox PMIC.
143*4882a593Smuzhiyun	The emulated PMIC device depends on two drivers:
144*4882a593Smuzhiyun	- sandbox PMIC I/O driver - implements dm pmic operations
145*4882a593Smuzhiyun	- sandbox PMIC regulator driver - implements dm regulator operations
146*4882a593Smuzhiyun	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun	The regulator driver provides uclass operations for sandbox PMIC's
149*4882a593Smuzhiyun	regulators. The driver implements get/set api for: voltage, current,
150*4882a593Smuzhiyun	operation mode and enable state.
151*4882a593Smuzhiyun	The driver supports LDO and BUCK regulators.
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun	The Sandbox PMIC info:
154*4882a593Smuzhiyun	* I/O interface:
155*4882a593Smuzhiyun	  - I2C chip address:       0x40
156*4882a593Smuzhiyun	  - first register address: 0x0
157*4882a593Smuzhiyun	  - register count:         0x10
158*4882a593Smuzhiyun	* Adjustable outputs:
159*4882a593Smuzhiyun	  - 2x LDO
160*4882a593Smuzhiyun	  - 2x BUCK
161*4882a593Smuzhiyun	  - Each, with a different operating conditions (header).
162*4882a593Smuzhiyun	* Reset values:
163*4882a593Smuzhiyun	  - set by i2c emul driver's probe() (defaults in header)
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun	A detailed information can be found in header: '<power/sandbox_pmic.h>'
166*4882a593Smuzhiyun	Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
167*4882a593Smuzhiyun
168*4882a593Smuzhiyunconfig REGULATOR_TPS65090
169*4882a593Smuzhiyun	bool "Enable driver for TPS65090 PMIC regulators"
170*4882a593Smuzhiyun	depends on PMIC_TPS65090
171*4882a593Smuzhiyun	---help---
172*4882a593Smuzhiyun	The TPS65090 provides several FETs (Field-effect Transistors,
173*4882a593Smuzhiyun	effectively switches) which are supported by this driver as
174*4882a593Smuzhiyun	regulators, one for each FET. The standard regulator interface is
175*4882a593Smuzhiyun	supported, but it is only possible to turn the regulators on or off.
176*4882a593Smuzhiyun	There is no voltage/current control.
177*4882a593Smuzhiyun
178*4882a593Smuzhiyunconfig DM_REGULATOR_PALMAS
179*4882a593Smuzhiyun	bool "Enable driver for PALMAS PMIC regulators"
180*4882a593Smuzhiyun       depends on PMIC_PALMAS
181*4882a593Smuzhiyun	---help---
182*4882a593Smuzhiyun	This enables implementation of driver-model regulator uclass
183*4882a593Smuzhiyun	features for REGULATOR PALMAS and the family of PALMAS PMICs.
184*4882a593Smuzhiyun	The driver implements get/set api for: value and enable.
185*4882a593Smuzhiyun
186*4882a593Smuzhiyunconfig DM_REGULATOR_LP873X
187*4882a593Smuzhiyun	bool "Enable driver for LP873X PMIC regulators"
188*4882a593Smuzhiyun        depends on PMIC_LP873X
189*4882a593Smuzhiyun	---help---
190*4882a593Smuzhiyun	This enables implementation of driver-model regulator uclass
191*4882a593Smuzhiyun	features for REGULATOR LP873X and the family of LP873X PMICs.
192*4882a593Smuzhiyun	The driver implements get/set api for: value and enable.
193*4882a593Smuzhiyun
194*4882a593Smuzhiyunconfig DM_REGULATOR_LP87565
195*4882a593Smuzhiyun	bool "Enable driver for LP87565 PMIC regulators"
196*4882a593Smuzhiyun        depends on PMIC_LP87565
197*4882a593Smuzhiyun	---help---
198*4882a593Smuzhiyun	This enables implementation of driver-model regulator uclass
199*4882a593Smuzhiyun	features for REGULATOR LP87565 and the family of LP87565 PMICs.
200*4882a593Smuzhiyun	LP87565 series of PMICs have 4 single phase BUCKs that can also
201*4882a593Smuzhiyun	be configured in multi phase modes. The driver implements
202*4882a593Smuzhiyun	get/set api for value and enable.
203