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