xref: /openbmc/u-boot/drivers/power/regulator/Kconfig (revision ca1de0b5)
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 DM_REGULATOR_PFUZE100
38	bool "Enable Driver Model for REGULATOR PFUZE100"
39	depends on DM_REGULATOR && DM_PMIC_PFUZE100
40	---help---
41	This config enables implementation of driver-model regulator uclass
42	features for REGULATOR PFUZE100. The driver implements get/set api for:
43	value, enable and mode.
44
45config REGULATOR_PWM
46	bool "Enable driver for PWM regulators"
47	depends on DM_REGULATOR
48	---help---
49	Enable support for the PWM regulator functions which voltage are
50	controlled by PWM duty ratio. Some of Rockchip board using this kind
51	of regulator. The driver implements get/set api for the various BUCKS.
52	This driver is controlled by a device tree node
53	which includes voltage limits.
54
55config DM_REGULATOR_MAX77686
56	bool "Enable Driver Model for REGULATOR MAX77686"
57	depends on DM_REGULATOR && DM_PMIC_MAX77686
58	---help---
59	This config enables implementation of driver-model regulator uclass
60	features for REGULATOR MAX77686. The driver implements get/set api for:
61	value, enable and mode.
62
63config DM_REGULATOR_FIXED
64	bool "Enable Driver Model for REGULATOR Fixed value"
65	depends on DM_REGULATOR
66	---help---
67	This config enables implementation of driver-model regulator uclass
68	features for fixed value regulators. The driver implements get/set api
69	for enable and get only for voltage value.
70
71config DM_REGULATOR_GPIO
72	bool "Enable Driver Model for GPIO REGULATOR"
73	depends on DM_REGULATOR
74	---help---
75	This config enables implementation of driver-model regulator uclass
76	features for gpio regulators. The driver implements get/set for
77	voltage value.
78
79config REGULATOR_RK808
80	bool "Enable driver for RK808 regulators"
81	depends on DM_REGULATOR && PMIC_RK808
82	---help---
83	Enable support for the regulator functions of the RK808 PMIC. The
84	driver implements get/set api for the various BUCKS and LDOs supported
85	by the PMIC device. This driver is controlled by a device tree node
86	which includes voltage limits.
87
88config REGULATOR_S5M8767
89	bool "Enable support for S5M8767 regulator"
90	depends on DM_REGULATOR && PMIC_S5M8767
91	---help---
92	This enables the regulator features of the S5M8767, allowing voltages
93	to be set, etc. The driver is not fully complete but supports most
94	common requirements, including all LDOs and BUCKs. This allows many
95	supplies to be set automatically using the device tree values.
96
97config DM_REGULATOR_SANDBOX
98	bool "Enable Driver Model for Sandbox PMIC regulator"
99	depends on DM_REGULATOR && DM_PMIC_SANDBOX
100	---help---
101	Enable the regulator driver for emulated Sandbox PMIC.
102	The emulated PMIC device depends on two drivers:
103	- sandbox PMIC I/O driver - implements dm pmic operations
104	- sandbox PMIC regulator driver - implements dm regulator operations
105	- sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission
106
107	The regulator driver provides uclass operations for sandbox PMIC's
108	regulators. The driver implements get/set api for: voltage, current,
109	operation mode and enable state.
110	The driver supports LDO and BUCK regulators.
111
112	The Sandbox PMIC info:
113	* I/O interface:
114	  - I2C chip address:       0x40
115	  - first register address: 0x0
116	  - register count:         0x10
117	* Adjustable outputs:
118	  - 2x LDO
119	  - 2x BUCK
120	  - Each, with a different operating conditions (header).
121	* Reset values:
122	  - set by i2c emul driver's probe() (defaults in header)
123
124	A detailed information can be found in header: '<power/sandbox_pmic.h>'
125	Binding info: 'doc/device-tree-bindings/pmic/max77686.txt'
126
127config REGULATOR_TPS65090
128	bool "Enable driver for TPS65090 PMIC regulators"
129	depends on PMIC_TPS65090
130	---help---
131	The TPS65090 provides several FETs (Field-effect Transistors,
132	effectively switches) which are supported by this driver as
133	regulators, one for each FET. The standard regulator interface is
134	supported, but it is only possible to turn the regulators on or off.
135	There is no voltage/current control.
136
137config DM_REGULATOR_PALMAS
138	bool "Enable driver for PALMAS PMIC regulators"
139       depends on PMIC_PALMAS
140	---help---
141	This enables implementation of driver-model regulator uclass
142	features for REGULATOR PALMAS and the family of PALMAS PMICs.
143	The driver implements get/set api for: value and enable.
144