xref: /openbmc/linux/drivers/mfd/Kconfig (revision e190bfe5)
1#
2# Multifunction miscellaneous devices
3#
4
5menuconfig MFD_SUPPORT
6	bool "Multifunction device drivers"
7	depends on HAS_IOMEM
8	default y
9	help
10	  Configure MFD device drivers.
11
12if MFD_SUPPORT
13
14config MFD_CORE
15	tristate
16	default n
17
18config MFD_88PM860X
19	bool "Support Marvell 88PM8606/88PM8607"
20	depends on I2C=y && GENERIC_HARDIRQS
21	select MFD_CORE
22	help
23	  This supports for Marvell 88PM8606/88PM8607 Power Management IC.
24	  This includes the I2C driver and the core APIs _only_, you have to
25	  select individual components like voltage regulators, RTC and
26	  battery-charger under the corresponding menus.
27
28config MFD_SM501
29	tristate "Support for Silicon Motion SM501"
30	 ---help---
31	  This is the core driver for the Silicon Motion SM501 multimedia
32	  companion chip. This device is a multifunction device which may
33	  provide numerous interfaces including USB host controller, USB gadget,
34	  asynchronous serial ports, audio functions, and a dual display video
35	  interface. The device may be connected by PCI or local bus with
36	  varying functions enabled.
37
38config MFD_SM501_GPIO
39	bool "Export GPIO via GPIO layer"
40	depends on MFD_SM501 && GPIOLIB
41	 ---help---
42	 This option uses the gpio library layer to export the 64 GPIO
43	 lines on the SM501. The platform data is used to supply the
44	 base number for the first GPIO line to register.
45
46config MFD_ASIC3
47	bool "Support for Compaq ASIC3"
48	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
49	select MFD_CORE
50	 ---help---
51	  This driver supports the ASIC3 multifunction chip found on many
52	  PDAs (mainly iPAQ and HTC based ones)
53
54config MFD_SH_MOBILE_SDHI
55	bool "Support for SuperH Mobile SDHI"
56	depends on SUPERH || ARCH_SHMOBILE
57	select MFD_CORE
58	select TMIO_MMC_DMA
59	 ---help---
60	  This driver supports the SDHI hardware block found in many
61	  SuperH Mobile SoCs.
62
63config MFD_DAVINCI_VOICECODEC
64	tristate
65	select MFD_CORE
66
67config MFD_DM355EVM_MSP
68	bool "DaVinci DM355 EVM microcontroller"
69	depends on I2C && MACH_DAVINCI_DM355_EVM
70	help
71	  This driver supports the MSP430 microcontroller used on these
72	  boards.  MSP430 firmware manages resets and power sequencing,
73	  inputs from buttons and the IR remote, LEDs, an RTC, and more.
74
75config HTC_EGPIO
76	bool "HTC EGPIO support"
77	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
78	help
79	    This driver supports the CPLD egpio chip present on
80	    several HTC phones.  It provides basic support for input
81	    pins, output pins, and irqs.
82
83config HTC_PASIC3
84	tristate "HTC PASIC3 LED/DS1WM chip support"
85	select MFD_CORE
86	help
87	  This core driver provides register access for the LED/DS1WM
88	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
89	  HTC Magician devices, respectively. Actual functionality is
90	  handled by the leds-pasic3 and ds1wm drivers.
91
92config HTC_I2CPLD
93	bool "HTC I2C PLD chip support"
94	depends on I2C=y && GPIOLIB
95	help
96	  If you say yes here you get support for the supposed CPLD
97	  found on omap850 HTC devices like the HTC Wizard and HTC Herald.
98	  This device provides input and output GPIOs through an I2C
99	  interface to one or more sub-chips.
100
101config UCB1400_CORE
102	tristate "Philips UCB1400 Core driver"
103	depends on AC97_BUS
104	depends on GPIOLIB
105	help
106	  This enables support for the Philips UCB1400 core functions.
107	  The UCB1400 is an AC97 audio codec.
108
109	  To compile this driver as a module, choose M here: the
110	  module will be called ucb1400_core.
111
112config TPS65010
113	tristate "TPS6501x Power Management chips"
114	depends on I2C && GPIOLIB
115	default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
116	help
117	  If you say yes here you get support for the TPS6501x series of
118	  Power Management chips.  These include voltage regulators,
119	  lithium ion/polymer battery charging, and other features that
120	  are often used in portable devices like cell phones and cameras.
121
122	  This driver can also be built as a module.  If so, the module
123	  will be called tps65010.
124
125config TPS6507X
126	tristate "TPS6507x Power Management / Touch Screen chips"
127	select MFD_CORE
128	depends on I2C
129	help
130	  If you say yes here you get support for the TPS6507x series of
131	  Power Management / Touch Screen chips.  These include voltage
132	  regulators, lithium ion/polymer battery charging, touch screen
133	  and other features that are often used in portable devices.
134	  This driver can also be built as a module.  If so, the module
135	  will be called tps6507x.
136
137config MENELAUS
138	bool "Texas Instruments TWL92330/Menelaus PM chip"
139	depends on I2C=y && ARCH_OMAP2
140	help
141	  If you say yes here you get support for the Texas Instruments
142	  TWL92330/Menelaus Power Management chip. This include voltage
143	  regulators, Dual slot memory card transceivers, real-time clock
144	  and other features that are often used in portable devices like
145	  cell phones and PDAs.
146
147config TWL4030_CORE
148	bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
149	depends on I2C=y && GENERIC_HARDIRQS
150	help
151	  Say yes here if you have TWL4030 / TWL6030 family chip on your board.
152	  This core driver provides register access and IRQ handling
153	  facilities, and registers devices for the various functions
154	  so that function-specific drivers can bind to them.
155
156	  These multi-function chips are found on many OMAP2 and OMAP3
157	  boards, providing power management, RTC, GPIO, keypad, a
158	  high speed USB OTG transceiver, an audio codec (on most
159	  versions) and many other features.
160
161config TWL4030_POWER
162	bool "Support power resources on TWL4030 family chips"
163	depends on TWL4030_CORE && ARM
164	help
165	  Say yes here if you want to use the power resources on the
166	  TWL4030 family chips.  Most of these resources are regulators,
167	  which have a separate driver; some are control signals, such
168	  as clock request handshaking.
169
170	  This driver uses board-specific data to initialize the resources
171	  and load scripts controling which resources are switched off/on
172	  or reset when a sleep, wakeup or warm reset event occurs.
173
174config TWL4030_CODEC
175	bool
176	depends on TWL4030_CORE
177	select MFD_CORE
178	default n
179
180config MFD_TC35892
181	bool "Support Toshiba TC35892"
182	depends on I2C=y && GENERIC_HARDIRQS
183	select MFD_CORE
184	help
185	  Support for the Toshiba TC35892 I/O Expander.
186
187	  This driver provides common support for accessing the device,
188	  additional drivers must be enabled in order to use the
189	  functionality of the device.
190
191config MFD_TMIO
192	bool
193	default n
194
195config TMIO_MMC_DMA
196	bool
197	select DMA_ENGINE
198	select DMADEVICES
199
200config MFD_T7L66XB
201	bool "Support Toshiba T7L66XB"
202	depends on ARM && HAVE_CLK
203	select MFD_CORE
204	select MFD_TMIO
205	help
206	  Support for Toshiba Mobile IO Controller T7L66XB
207
208config MFD_TC6387XB
209	bool "Support Toshiba TC6387XB"
210	depends on ARM && HAVE_CLK
211	select MFD_CORE
212	select MFD_TMIO
213	help
214	  Support for Toshiba Mobile IO Controller TC6387XB
215
216config MFD_TC6393XB
217	bool "Support Toshiba TC6393XB"
218	depends on GPIOLIB && ARM
219	select MFD_CORE
220	select MFD_TMIO
221	help
222	  Support for Toshiba Mobile IO Controller TC6393XB
223
224config PMIC_DA903X
225	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
226	depends on I2C=y
227	help
228	  Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
229	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
230	  usually found on PXA processors-based platforms. This includes
231	  the I2C driver and the core APIs _only_, you have to select
232	  individual components like LCD backlight, voltage regulators,
233	  LEDs and battery-charger under the corresponding menus.
234
235config PMIC_ADP5520
236	bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
237	depends on I2C=y
238	help
239	  Say yes here to add support for Analog Devices AD5520 and ADP5501,
240	  Multifunction Power Management IC. This includes
241	  the I2C driver and the core APIs _only_, you have to select
242	  individual components like LCD backlight, LEDs, GPIOs and Kepad
243	  under the corresponding menus.
244
245config MFD_MAX8925
246	bool "Maxim Semiconductor MAX8925 PMIC Support"
247	depends on I2C=y && GENERIC_HARDIRQS
248	select MFD_CORE
249	help
250	  Say yes here to support for Maxim Semiconductor MAX8925. This is
251	  a Power Management IC. This driver provies common support for
252	  accessing the device, additional drivers must be enabled in order
253	  to use the functionality of the device.
254
255config MFD_WM8400
256	tristate "Support Wolfson Microelectronics WM8400"
257	select MFD_CORE
258	depends on I2C
259	help
260	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
261	  CODEC.  This driver provides common support for accessing
262	  the device, additional drivers must be enabled in order to use
263	  the functionality of the device.
264
265config MFD_WM831X
266	bool "Support Wolfson Microelectronics WM831x/2x PMICs"
267	select MFD_CORE
268	depends on I2C=y && GENERIC_HARDIRQS
269	help
270	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs.
271	  This driver provides common support for accessing the device,
272	  additional drivers must be enabled in order to use the
273	  functionality of the device.
274
275config MFD_WM8350
276	bool
277	depends on GENERIC_HARDIRQS
278
279config MFD_WM8350_CONFIG_MODE_0
280	bool
281	depends on MFD_WM8350
282
283config MFD_WM8350_CONFIG_MODE_1
284	bool
285	depends on MFD_WM8350
286
287config MFD_WM8350_CONFIG_MODE_2
288	bool
289	depends on MFD_WM8350
290
291config MFD_WM8350_CONFIG_MODE_3
292	bool
293	depends on MFD_WM8350
294
295config MFD_WM8351_CONFIG_MODE_0
296	bool
297	depends on MFD_WM8350
298
299config MFD_WM8351_CONFIG_MODE_1
300	bool
301	depends on MFD_WM8350
302
303config MFD_WM8351_CONFIG_MODE_2
304	bool
305	depends on MFD_WM8350
306
307config MFD_WM8351_CONFIG_MODE_3
308	bool
309	depends on MFD_WM8350
310
311config MFD_WM8352_CONFIG_MODE_0
312	bool
313	depends on MFD_WM8350
314
315config MFD_WM8352_CONFIG_MODE_1
316	bool
317	depends on MFD_WM8350
318
319config MFD_WM8352_CONFIG_MODE_2
320	bool
321	depends on MFD_WM8350
322
323config MFD_WM8352_CONFIG_MODE_3
324	bool
325	depends on MFD_WM8350
326
327config MFD_WM8350_I2C
328	bool "Support Wolfson Microelectronics WM8350 with I2C"
329	select MFD_WM8350
330	depends on I2C=y && GENERIC_HARDIRQS
331	help
332	  The WM8350 is an integrated audio and power management
333	  subsystem with watchdog and RTC functionality for embedded
334	  systems.  This option enables core support for the WM8350 with
335	  I2C as the control interface.  Additional options must be
336	  selected to enable support for the functionality of the chip.
337
338config MFD_WM8994
339	bool "Support Wolfson Microelectronics WM8994"
340	select MFD_CORE
341	depends on I2C=y && GENERIC_HARDIRQS
342	help
343	  The WM8994 is a highly integrated hi-fi CODEC designed for
344	  smartphone applicatiosn.  As well as audio functionality it
345	  has on board GPIO and regulator functionality which is
346	  supported via the relevant subsystems.  This driver provides
347	  core support for the WM8994, in order to use the actual
348	  functionaltiy of the device other drivers must be enabled.
349
350config MFD_PCF50633
351	tristate "Support for NXP PCF50633"
352	depends on I2C
353	help
354	  Say yes here if you have NXP PCF50633 chip on your board.
355	  This core driver provides register access and IRQ handling
356	  facilities, and registers devices for the various functions
357	  so that function-specific drivers can bind to them.
358
359config MFD_MC13783
360	tristate "Support Freescale MC13783"
361	depends on SPI_MASTER
362	select MFD_CORE
363	help
364	  Support for the Freescale (Atlas) MC13783 PMIC and audio CODEC.
365	  This driver provides common support for accessing  the device,
366	  additional drivers must be enabled in order to use the
367	  functionality of the device.
368
369config PCF50633_ADC
370	tristate "Support for NXP PCF50633 ADC"
371	depends on MFD_PCF50633
372	help
373	 Say yes here if you want to include support for ADC in the
374	 NXP PCF50633 chip.
375
376config PCF50633_GPIO
377	tristate "Support for NXP PCF50633 GPIO"
378	depends on MFD_PCF50633
379	help
380	 Say yes here if you want to include support GPIO for pins on
381	 the PCF50633 chip.
382
383config ABX500_CORE
384	bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
385	default y if ARCH_U300
386	help
387	  Say yes here if you have the ABX500 Mixed Signal IC family
388	  chips. This core driver expose register access functions.
389	  Functionality specific drivers using these functions can
390	  remain unchanged when IC changes. Binding of the functions to
391	  actual register access is done by the IC core driver.
392
393config AB3100_CORE
394	bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
395	depends on I2C=y && ABX500_CORE
396	default y if ARCH_U300
397	help
398	  Select this to enable the AB3100 Mixed Signal IC core
399	  functionality. This connects to a AB3100 on the I2C bus
400	  and expose a number of symbols needed for dependent devices
401	  to read and write registers and subscribe to events from
402	  this multi-functional IC. This is needed to use other features
403	  of the AB3100 such as battery-backed RTC, charging control,
404	  LEDs, vibrator, system power and temperature, power management
405	  and ALSA sound.
406
407config AB3100_OTP
408	tristate "ST-Ericsson AB3100 OTP functions"
409	depends on AB3100_CORE
410	default y if AB3100_CORE
411	help
412	  Select this to enable the AB3100 Mixed Signal IC OTP (one-time
413	  programmable memory) support. This exposes a sysfs file to read
414	  out OTP values.
415
416config EZX_PCAP
417	bool "PCAP Support"
418	depends on GENERIC_HARDIRQS && SPI_MASTER
419	help
420	  This enables the PCAP ASIC present on EZX Phones. This is
421	  needed for MMC, TouchScreen, Sound, USB, etc..
422
423config AB8500_CORE
424	bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
425	depends on SPI=y && GENERIC_HARDIRQS
426	select MFD_CORE
427	help
428	  Select this option to enable access to AB8500 power management
429	  chip. This connects to U8500 on the SSP/SPI bus and exports
430	  read/write functions for the devices to get access to this chip.
431	  This chip embeds various other multimedia funtionalities as well.
432
433config AB3550_CORE
434        bool "ST-Ericsson AB3550 Mixed Signal Circuit core functions"
435	select MFD_CORE
436	depends on I2C=y && GENERIC_HARDIRQS && ABX500_CORE
437	help
438	  Select this to enable the AB3550 Mixed Signal IC core
439	  functionality. This connects to a AB3550 on the I2C bus
440	  and expose a number of symbols needed for dependent devices
441	  to read and write registers and subscribe to events from
442	  this multi-functional IC. This is needed to use other features
443	  of the AB3550 such as battery-backed RTC, charging control,
444	  LEDs, vibrator, system power and temperature, power management
445	  and ALSA sound.
446
447config MFD_TIMBERDALE
448	tristate "Support for the Timberdale FPGA"
449	select MFD_CORE
450	depends on PCI && GPIOLIB
451	---help---
452	This is the core driver for the timberdale FPGA. This device is a
453	multifunction device which exposes numerous platform devices.
454
455	The timberdale FPGA can be found on the Intel Atom development board
456	for in-vehicle infontainment, called Russellville.
457
458config LPC_SCH
459	tristate "Intel SCH LPC"
460	depends on PCI
461	select MFD_CORE
462	help
463	  LPC bridge function of the Intel SCH provides support for
464	  System Management Bus and General Purpose I/O.
465
466config MFD_RDC321X
467	tristate "Support for RDC-R321x southbridge"
468	select MFD_CORE
469	depends on PCI
470	help
471	  Say yes here if you want to have support for the RDC R-321x SoC
472	  southbridge which provides access to GPIOs and Watchdog using the
473	  southbridge PCI device configuration space.
474
475config MFD_JANZ_CMODIO
476	tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
477	select MFD_CORE
478	depends on PCI
479	help
480	  This is the core driver for the Janz CMOD-IO PCI MODULbus
481	  carrier board. This device is a PCI to MODULbus bridge which may
482	  host many different types of MODULbus daughterboards, including
483	  CAN and GPIO controllers.
484
485endif # MFD_SUPPORT
486
487menu "Multimedia Capabilities Port drivers"
488	depends on ARCH_SA1100
489
490config MCP
491	tristate
492
493# Interface drivers
494config MCP_SA11X0
495	tristate "Support SA11x0 MCP interface"
496	depends on ARCH_SA1100
497	select MCP
498
499# Chip drivers
500config MCP_UCB1200
501	tristate "Support for UCB1200 / UCB1300"
502	depends on MCP
503
504config MCP_UCB1200_TS
505	tristate "Touchscreen interface support"
506	depends on MCP_UCB1200 && INPUT
507
508endmenu
509