]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - drivers/mfd/Kconfig
Merge branch 'ib-mfd-iio-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee...
[mirror_ubuntu-zesty-kernel.git] / drivers / mfd / Kconfig
1 #
2 # Multifunction miscellaneous devices
3 #
4
5 if HAS_IOMEM
6 menu "Multifunction device drivers"
7
8 config MFD_CORE
9 tristate
10 select IRQ_DOMAIN
11 default n
12
13 config MFD_CS5535
14 tristate "AMD CS5535 and CS5536 southbridge core functions"
15 select MFD_CORE
16 depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
17 ---help---
18 This is the core driver for CS5535/CS5536 MFD functions. This is
19 necessary for using the board's GPIO and MFGPT functionality.
20
21 config MFD_AS3711
22 bool "AMS AS3711"
23 select MFD_CORE
24 select REGMAP_I2C
25 select REGMAP_IRQ
26 depends on I2C=y
27 help
28 Support for the AS3711 PMIC from AMS
29
30 config MFD_AS3722
31 bool "ams AS3722 Power Management IC"
32 select MFD_CORE
33 select REGMAP_I2C
34 select REGMAP_IRQ
35 depends on I2C=y && OF
36 help
37 The ams AS3722 is a compact system PMU suitable for mobile phones,
38 tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
39 controllers, 11 LDOs, RTC, automatic battery, temperature and
40 over current monitoring, GPIOs, ADC and a watchdog.
41
42 config PMIC_ADP5520
43 bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
44 depends on I2C=y
45 help
46 Say yes here to add support for Analog Devices AD5520 and ADP5501,
47 Multifunction Power Management IC. This includes
48 the I2C driver and the core APIs _only_, you have to select
49 individual components like LCD backlight, LEDs, GPIOs and Kepad
50 under the corresponding menus.
51
52 config MFD_AAT2870_CORE
53 bool "AnalogicTech AAT2870"
54 select MFD_CORE
55 depends on I2C=y && GPIOLIB
56 help
57 If you say yes here you get support for the AAT2870.
58 This driver provides common support for accessing the device,
59 additional drivers must be enabled in order to use the
60 functionality of the device.
61
62 config MFD_BCM590XX
63 tristate "Broadcom BCM590xx PMUs"
64 select MFD_CORE
65 select REGMAP_I2C
66 depends on I2C
67 help
68 Support for the BCM590xx PMUs from Broadcom
69
70 config MFD_AXP20X
71 bool "X-Powers AXP20X"
72 select MFD_CORE
73 select REGMAP_I2C
74 select REGMAP_IRQ
75 depends on I2C=y
76 help
77 If you say Y here you get support for the X-Powers AXP202, AXP209 and
78 AXP288 power management IC (PMIC).
79 This driver include only the core APIs. You have to select individual
80 components like regulators or the PEK (Power Enable Key) under the
81 corresponding menus.
82
83 config MFD_CROS_EC
84 tristate "ChromeOS Embedded Controller"
85 select MFD_CORE
86 help
87 If you say Y here you get support for the ChromeOS Embedded
88 Controller (EC) providing keyboard, battery and power services.
89 You also need to enable the driver for the bus you are using. The
90 protocol for talking to the EC is defined by the bus driver.
91
92 config MFD_CROS_EC_I2C
93 tristate "ChromeOS Embedded Controller (I2C)"
94 depends on MFD_CROS_EC && I2C
95
96 help
97 If you say Y here, you get support for talking to the ChromeOS
98 EC through an I2C bus. This uses a simple byte-level protocol with
99 a checksum. Failing accesses will be retried three times to
100 improve reliability.
101
102 config MFD_CROS_EC_SPI
103 tristate "ChromeOS Embedded Controller (SPI)"
104 depends on MFD_CROS_EC && SPI && OF
105
106 ---help---
107 If you say Y here, you get support for talking to the ChromeOS EC
108 through a SPI bus, using a byte-level protocol. Since the EC's
109 response time cannot be guaranteed, we support ignoring
110 'pre-amble' bytes before the response actually starts.
111
112 config MFD_ASIC3
113 bool "Compaq ASIC3"
114 depends on GPIOLIB && ARM
115 select MFD_CORE
116 ---help---
117 This driver supports the ASIC3 multifunction chip found on many
118 PDAs (mainly iPAQ and HTC based ones)
119
120 config PMIC_DA903X
121 bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
122 depends on I2C=y
123 help
124 Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
125 ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
126 usually found on PXA processors-based platforms. This includes
127 the I2C driver and the core APIs _only_, you have to select
128 individual components like LCD backlight, voltage regulators,
129 LEDs and battery-charger under the corresponding menus.
130
131 config PMIC_DA9052
132 bool
133 select MFD_CORE
134
135 config MFD_DA9052_SPI
136 bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
137 select REGMAP_SPI
138 select REGMAP_IRQ
139 select PMIC_DA9052
140 depends on SPI_MASTER=y
141 help
142 Support for the Dialog Semiconductor DA9052 PMIC
143 when controlled using SPI. This driver provides common support
144 for accessing the device, additional drivers must be enabled in
145 order to use the functionality of the device.
146
147 config MFD_DA9052_I2C
148 bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
149 select REGMAP_I2C
150 select REGMAP_IRQ
151 select PMIC_DA9052
152 depends on I2C=y
153 help
154 Support for the Dialog Semiconductor DA9052 PMIC
155 when controlled using I2C. This driver provides common support
156 for accessing the device, additional drivers must be enabled in
157 order to use the functionality of the device.
158
159 config MFD_DA9055
160 bool "Dialog Semiconductor DA9055 PMIC Support"
161 select REGMAP_I2C
162 select REGMAP_IRQ
163 select MFD_CORE
164 depends on I2C=y
165 help
166 Say yes here for support of Dialog Semiconductor DA9055. This is
167 a Power Management IC. This driver provides common support for
168 accessing the device as well as the I2C interface to the chip itself.
169 Additional drivers must be enabled in order to use the functionality
170 of the device.
171
172 This driver can be built as a module. If built as a module it will be
173 called "da9055"
174
175 config MFD_DA9063
176 bool "Dialog Semiconductor DA9063 PMIC Support"
177 select MFD_CORE
178 select REGMAP_I2C
179 select REGMAP_IRQ
180 depends on I2C=y
181 help
182 Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
183 This includes the I2C driver and core APIs.
184 Additional drivers must be enabled in order to use the functionality
185 of the device.
186
187 config MFD_MC13XXX
188 tristate
189 depends on (SPI_MASTER || I2C)
190 select MFD_CORE
191 select REGMAP_IRQ
192 help
193 Enable support for the Freescale MC13783 and MC13892 PMICs.
194 This driver provides common support for accessing the device,
195 additional drivers must be enabled in order to use the
196 functionality of the device.
197
198 config MFD_MC13XXX_SPI
199 tristate "Freescale MC13783 and MC13892 SPI interface"
200 depends on SPI_MASTER
201 select REGMAP_SPI
202 select MFD_MC13XXX
203 help
204 Select this if your MC13xxx is connected via an SPI bus.
205
206 config MFD_MC13XXX_I2C
207 tristate "Freescale MC13892 I2C interface"
208 depends on I2C
209 select REGMAP_I2C
210 select MFD_MC13XXX
211 help
212 Select this if your MC13xxx is connected via an I2C bus.
213
214 config MFD_HI6421_PMIC
215 tristate "HiSilicon Hi6421 PMU/Codec IC"
216 depends on OF
217 select MFD_CORE
218 select REGMAP_MMIO
219 help
220 Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
221 functions, such as regulators, RTC, codec, Coulomb counter, etc.
222 This driver includes core APIs _only_. You have to select
223 individul components like voltage regulators under corresponding
224 menus in order to enable them.
225 We communicate with the Hi6421 via memory-mapped I/O.
226
227 config HTC_EGPIO
228 bool "HTC EGPIO support"
229 depends on GPIOLIB && ARM
230 help
231 This driver supports the CPLD egpio chip present on
232 several HTC phones. It provides basic support for input
233 pins, output pins, and irqs.
234
235 config HTC_PASIC3
236 tristate "HTC PASIC3 LED/DS1WM chip support"
237 select MFD_CORE
238 help
239 This core driver provides register access for the LED/DS1WM
240 chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
241 HTC Magician devices, respectively. Actual functionality is
242 handled by the leds-pasic3 and ds1wm drivers.
243
244 config HTC_I2CPLD
245 bool "HTC I2C PLD chip support"
246 depends on I2C=y && GPIOLIB
247 help
248 If you say yes here you get support for the supposed CPLD
249 found on omap850 HTC devices like the HTC Wizard and HTC Herald.
250 This device provides input and output GPIOs through an I2C
251 interface to one or more sub-chips.
252
253 config LPC_ICH
254 tristate "Intel ICH LPC"
255 depends on PCI
256 select MFD_CORE
257 help
258 The LPC bridge function of the Intel ICH provides support for
259 many functional units. This driver provides needed support for
260 other drivers to control these functions, currently GPIO and
261 watchdog.
262
263 config LPC_SCH
264 tristate "Intel SCH LPC"
265 depends on PCI
266 select MFD_CORE
267 help
268 LPC bridge function of the Intel SCH provides support for
269 System Management Bus and General Purpose I/O.
270
271 config INTEL_SOC_PMIC
272 bool "Support for Intel Atom SoC PMIC"
273 depends on I2C=y
274 select MFD_CORE
275 select REGMAP_I2C
276 select REGMAP_IRQ
277 help
278 Select this option to enable support for the PMIC device
279 on some Intel SoC systems. The PMIC provides ADC, GPIO,
280 thermal, charger and related power management functions
281 on these systems.
282
283 config MFD_INTEL_MSIC
284 bool "Intel MSIC"
285 depends on INTEL_SCU_IPC
286 select MFD_CORE
287 help
288 Select this option to enable access to Intel MSIC (Avatele
289 Passage) chip. This chip embeds audio, battery, GPIO, etc.
290 devices used in Intel Medfield platforms.
291
292 config MFD_IPAQ_MICRO
293 bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
294 depends on SA1100_H3100 || SA1100_H3600
295 select MFD_CORE
296 help
297 Select this to get support for the Microcontroller found in
298 the Compaq iPAQ handheld computers. This is an Atmel
299 AT90LS8535 microcontroller flashed with a special iPAQ
300 firmware using the custom protocol implemented in this driver.
301
302 config MFD_JANZ_CMODIO
303 tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
304 select MFD_CORE
305 depends on PCI
306 help
307 This is the core driver for the Janz CMOD-IO PCI MODULbus
308 carrier board. This device is a PCI to MODULbus bridge which may
309 host many different types of MODULbus daughterboards, including
310 CAN and GPIO controllers.
311
312 config MFD_JZ4740_ADC
313 bool "Janz JZ4740 ADC core"
314 select MFD_CORE
315 select GENERIC_IRQ_CHIP
316 depends on MACH_JZ4740
317 help
318 Say yes here if you want support for the ADC unit in the JZ4740 SoC.
319 This driver is necessary for jz4740-battery and jz4740-hwmon driver.
320
321 config MFD_KEMPLD
322 tristate "Kontron module PLD device"
323 select MFD_CORE
324 help
325 This is the core driver for the PLD (Programmable Logic Device) found
326 on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
327 device may provide functions like watchdog, GPIO, UART and I2C bus.
328
329 The following modules are supported:
330 * COMe-bHL6
331 * COMe-bIP#
332 * COMe-bPC2 (ETXexpress-PC)
333 * COMe-bSC# (ETXexpress-SC T#)
334 * COMe-cBT6
335 * COMe-cCT6
336 * COMe-cDC2 (microETXexpress-DC)
337 * COMe-cHL6
338 * COMe-cPC2 (microETXexpress-PC)
339 * COMe-mBT10
340 * COMe-mCT10
341 * COMe-mTT10 (nanoETXexpress-TT)
342 * ETX-OH
343
344 This driver can also be built as a module. If so, the module
345 will be called kempld-core.
346
347 config MFD_88PM800
348 tristate "Marvell 88PM800"
349 depends on I2C=y
350 select REGMAP_I2C
351 select REGMAP_IRQ
352 select MFD_CORE
353 help
354 This supports for Marvell 88PM800 Power Management IC.
355 This includes the I2C driver and the core APIs _only_, you have to
356 select individual components like voltage regulators, RTC and
357 battery-charger under the corresponding menus.
358
359 config MFD_88PM805
360 tristate "Marvell 88PM805"
361 depends on I2C=y
362 select REGMAP_I2C
363 select REGMAP_IRQ
364 select MFD_CORE
365 help
366 This supports for Marvell 88PM805 Power Management IC. This includes
367 the I2C driver and the core APIs _only_, you have to select individual
368 components like codec device, headset/Mic device under the
369 corresponding menus.
370
371 config MFD_88PM860X
372 bool "Marvell 88PM8606/88PM8607"
373 depends on I2C=y
374 select REGMAP_I2C
375 select MFD_CORE
376 help
377 This supports for Marvell 88PM8606/88PM8607 Power Management IC.
378 This includes the I2C driver and the core APIs _only_, you have to
379 select individual components like voltage regulators, RTC and
380 battery-charger under the corresponding menus.
381
382 config MFD_MAX14577
383 bool "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
384 depends on I2C=y
385 select MFD_CORE
386 select REGMAP_I2C
387 select REGMAP_IRQ
388 select IRQ_DOMAIN
389 help
390 Say yes here to add support for Maxim Semiconductor MAX14577 and
391 MAX77836 Micro-USB ICs with battery charger.
392 This driver provides common support for accessing the device;
393 additional drivers must be enabled in order to use the functionality
394 of the device.
395
396 config MFD_MAX77686
397 bool "Maxim Semiconductor MAX77686/802 PMIC Support"
398 depends on I2C=y
399 select MFD_CORE
400 select REGMAP_I2C
401 select REGMAP_IRQ
402 select IRQ_DOMAIN
403 help
404 Say yes here to add support for Maxim Semiconductor MAX77686 and
405 MAX77802 which are Power Management IC with an RTC on chip.
406 This driver provides common support for accessing the device;
407 additional drivers must be enabled in order to use the functionality
408 of the device.
409
410 config MFD_MAX77693
411 bool "Maxim Semiconductor MAX77693 PMIC Support"
412 depends on I2C=y
413 select MFD_CORE
414 select REGMAP_I2C
415 select REGMAP_IRQ
416 help
417 Say yes here to add support for Maxim Semiconductor MAX77693.
418 This is a companion Power Management IC with Flash, Haptic, Charger,
419 and MUIC(Micro USB Interface Controller) controls on chip.
420 This driver provides common support for accessing the device;
421 additional drivers must be enabled in order to use the functionality
422 of the device.
423
424 config MFD_MAX8907
425 tristate "Maxim Semiconductor MAX8907 PMIC Support"
426 select MFD_CORE
427 depends on I2C=y
428 select REGMAP_I2C
429 select REGMAP_IRQ
430 help
431 Say yes here to add support for Maxim Semiconductor MAX8907. This is
432 a Power Management IC. This driver provides common support for
433 accessing the device; additional drivers must be enabled in order
434 to use the functionality of the device.
435
436 config MFD_MAX8925
437 bool "Maxim Semiconductor MAX8925 PMIC Support"
438 depends on I2C=y
439 select MFD_CORE
440 help
441 Say yes here to add support for Maxim Semiconductor MAX8925. This is
442 a Power Management IC. This driver provides common support for
443 accessing the device, additional drivers must be enabled in order
444 to use the functionality of the device.
445
446 config MFD_MAX8997
447 bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
448 depends on I2C=y
449 select MFD_CORE
450 select IRQ_DOMAIN
451 help
452 Say yes here to add support for Maxim Semiconductor MAX8997/8966.
453 This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
454 MUIC controls on chip.
455 This driver provides common support for accessing the device;
456 additional drivers must be enabled in order to use the functionality
457 of the device.
458
459 config MFD_MAX8998
460 bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
461 depends on I2C=y
462 select MFD_CORE
463 select IRQ_DOMAIN
464 help
465 Say yes here to add support for Maxim Semiconductor MAX8998 and
466 National Semiconductor LP3974. This is a Power Management IC.
467 This driver provides common support for accessing the device,
468 additional drivers must be enabled in order to use the functionality
469 of the device.
470
471 config MFD_MENF21BMC
472 tristate "MEN 14F021P00 Board Management Controller Support"
473 depends on I2C
474 select MFD_CORE
475 help
476 Say yes here to add support for the MEN 14F021P00 BMC
477 which is a Board Management Controller connected to the I2C bus.
478 The device supports multiple sub-devices like LED, HWMON and WDT.
479 This driver provides common support for accessing the devices;
480 additional drivers must be enabled in order to use the
481 functionality of the BMC device.
482
483 This driver can also be built as a module. If so the module
484 will be called menf21bmc.
485
486 config EZX_PCAP
487 bool "Motorola EZXPCAP Support"
488 depends on SPI_MASTER
489 help
490 This enables the PCAP ASIC present on EZX Phones. This is
491 needed for MMC, TouchScreen, Sound, USB, etc..
492
493 config MFD_VIPERBOARD
494 tristate "Nano River Technologies Viperboard"
495 select MFD_CORE
496 depends on USB
497 default n
498 help
499 Say yes here if you want support for Nano River Technologies
500 Viperboard.
501 There are mfd cell drivers available for i2c master, adc and
502 both gpios found on the board. The spi part does not yet
503 have a driver.
504 You need to select the mfd cell drivers separately.
505 The drivers do not support all features the board exposes.
506
507 config MFD_RETU
508 tristate "Nokia Retu and Tahvo multi-function device"
509 select MFD_CORE
510 depends on I2C
511 select REGMAP_IRQ
512 help
513 Retu and Tahvo are a multi-function devices found on Nokia
514 Internet Tablets (770, N800 and N810).
515
516 config MFD_PCF50633
517 tristate "NXP PCF50633"
518 depends on I2C
519 select REGMAP_I2C
520 help
521 Say yes here if you have NXP PCF50633 chip on your board.
522 This core driver provides register access and IRQ handling
523 facilities, and registers devices for the various functions
524 so that function-specific drivers can bind to them.
525
526 config PCF50633_ADC
527 tristate "NXP PCF50633 ADC"
528 depends on MFD_PCF50633
529 help
530 Say yes here if you want to include support for ADC in the
531 NXP PCF50633 chip.
532
533 config PCF50633_GPIO
534 tristate "NXP PCF50633 GPIO"
535 depends on MFD_PCF50633
536 help
537 Say yes here if you want to include support GPIO for pins on
538 the PCF50633 chip.
539
540 config UCB1400_CORE
541 tristate "Philips UCB1400 Core driver"
542 depends on AC97_BUS
543 depends on GPIOLIB
544 help
545 This enables support for the Philips UCB1400 core functions.
546 The UCB1400 is an AC97 audio codec.
547
548 To compile this driver as a module, choose M here: the
549 module will be called ucb1400_core.
550
551 config MFD_PM8XXX
552 tristate
553
554 config MFD_PM8921_CORE
555 tristate "Qualcomm PM8921 PMIC chip"
556 depends on (ARM || HEXAGON)
557 select IRQ_DOMAIN
558 select MFD_CORE
559 select MFD_PM8XXX
560 select REGMAP
561 help
562 If you say yes to this option, support will be included for the
563 built-in PM8921 PMIC chip.
564
565 This is required if your board has a PM8921 and uses its features,
566 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
567
568 Say M here if you want to include support for PM8921 chip as a module.
569 This will build a module called "pm8921-core".
570
571 config MFD_SPMI_PMIC
572 tristate "Qualcomm SPMI PMICs"
573 depends on ARCH_QCOM || COMPILE_TEST
574 depends on OF
575 depends on SPMI
576 select REGMAP_SPMI
577 help
578 This enables support for the Qualcomm SPMI PMICs.
579 These PMICs are currently used with the Snapdragon 800 series of
580 SoCs. Note, that this will only be useful paired with descriptions
581 of the independent functions as children nodes in the device tree.
582
583 Say M here if you want to include support for the SPMI PMIC
584 series as a module. The module will be called "qcom-spmi-pmic".
585
586 config MFD_RDC321X
587 tristate "RDC R-321x southbridge"
588 select MFD_CORE
589 depends on PCI
590 help
591 Say yes here if you want to have support for the RDC R-321x SoC
592 southbridge which provides access to GPIOs and Watchdog using the
593 southbridge PCI device configuration space.
594
595 config MFD_RTSX_PCI
596 tristate "Realtek PCI-E card reader"
597 depends on PCI
598 select MFD_CORE
599 help
600 This supports for Realtek PCI-Express card reader including rts5209,
601 rts5229, rtl8411, etc. Realtek card reader supports access to many
602 types of memory cards, such as Memory Stick, Memory Stick Pro,
603 Secure Digital and MultiMediaCard.
604
605 config MFD_RTSX_USB
606 tristate "Realtek USB card reader"
607 depends on USB
608 select MFD_CORE
609 help
610 Select this option to get support for Realtek USB 2.0 card readers
611 including RTS5129, RTS5139, RTS5179 and RTS5170.
612 Realtek card reader supports access to many types of memory cards,
613 such as Memory Stick Pro, Secure Digital and MultiMediaCard.
614
615 config MFD_RC5T583
616 bool "Ricoh RC5T583 Power Management system device"
617 depends on I2C=y
618 select MFD_CORE
619 select REGMAP_I2C
620 help
621 Select this option to get support for the RICOH583 Power
622 Management system device.
623 This driver provides common support for accessing the device
624 through i2c interface. The device supports multiple sub-devices
625 like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
626 Additional drivers must be enabled in order to use the
627 different functionality of the device.
628
629 config MFD_RK808
630 tristate "Rockchip RK808 Power Management chip"
631 depends on I2C && OF
632 select MFD_CORE
633 select REGMAP_I2C
634 select REGMAP_IRQ
635 help
636 If you say yes here you get support for the RK808
637 Power Management chips.
638 This driver provides common support for accessing the device
639 through I2C interface. The device supports multiple sub-devices
640 including interrupts, RTC, LDO & DCDC regulators, and onkey.
641
642 config MFD_RN5T618
643 tristate "Ricoh RN5T5618 PMIC"
644 depends on I2C
645 select MFD_CORE
646 select REGMAP_I2C
647 help
648 Say yes here to add support for the Ricoh RN5T618 PMIC. This
649 driver provides common support for accessing the device,
650 additional drivers must be enabled in order to use the
651 functionality of the device.
652
653 config MFD_SEC_CORE
654 bool "SAMSUNG Electronics PMIC Series Support"
655 depends on I2C=y
656 select MFD_CORE
657 select REGMAP_I2C
658 select REGMAP_IRQ
659 select REGULATOR
660 help
661 Support for the Samsung Electronics MFD series.
662 This driver provides common support for accessing the device,
663 additional drivers must be enabled in order to use the functionality
664 of the device
665
666 config MFD_SI476X_CORE
667 tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
668 depends on I2C
669 select MFD_CORE
670 select REGMAP_I2C
671 help
672 This is the core driver for the SI476x series of AM/FM
673 radio. This MFD driver connects the radio-si476x V4L2 module
674 and the si476x audio codec.
675
676 To compile this driver as a module, choose M here: the
677 module will be called si476x-core.
678
679 config MFD_SM501
680 tristate "Silicon Motion SM501"
681 ---help---
682 This is the core driver for the Silicon Motion SM501 multimedia
683 companion chip. This device is a multifunction device which may
684 provide numerous interfaces including USB host controller, USB gadget,
685 asynchronous serial ports, audio functions, and a dual display video
686 interface. The device may be connected by PCI or local bus with
687 varying functions enabled.
688
689 config MFD_SM501_GPIO
690 bool "Export GPIO via GPIO layer"
691 depends on MFD_SM501 && GPIOLIB
692 ---help---
693 This option uses the gpio library layer to export the 64 GPIO
694 lines on the SM501. The platform data is used to supply the
695 base number for the first GPIO line to register.
696
697 config MFD_SMSC
698 bool "SMSC ECE1099 series chips"
699 depends on I2C=y
700 select MFD_CORE
701 select REGMAP_I2C
702 help
703 If you say yes here you get support for the
704 ece1099 chips from SMSC.
705
706 To compile this driver as a module, choose M here: the
707 module will be called smsc.
708
709 config ABX500_CORE
710 bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
711 default y if ARCH_U300 || ARCH_U8500
712 help
713 Say yes here if you have the ABX500 Mixed Signal IC family
714 chips. This core driver expose register access functions.
715 Functionality specific drivers using these functions can
716 remain unchanged when IC changes. Binding of the functions to
717 actual register access is done by the IC core driver.
718
719 config AB3100_CORE
720 bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
721 depends on I2C=y && ABX500_CORE
722 select MFD_CORE
723 default y if ARCH_U300
724 help
725 Select this to enable the AB3100 Mixed Signal IC core
726 functionality. This connects to a AB3100 on the I2C bus
727 and expose a number of symbols needed for dependent devices
728 to read and write registers and subscribe to events from
729 this multi-functional IC. This is needed to use other features
730 of the AB3100 such as battery-backed RTC, charging control,
731 LEDs, vibrator, system power and temperature, power management
732 and ALSA sound.
733
734 config AB3100_OTP
735 tristate "ST-Ericsson AB3100 OTP functions"
736 depends on AB3100_CORE
737 default y if AB3100_CORE
738 help
739 Select this to enable the AB3100 Mixed Signal IC OTP (one-time
740 programmable memory) support. This exposes a sysfs file to read
741 out OTP values.
742
743 config AB8500_CORE
744 bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
745 depends on ABX500_CORE && MFD_DB8500_PRCMU
746 select POWER_SUPPLY
747 select MFD_CORE
748 select IRQ_DOMAIN
749 help
750 Select this option to enable access to AB8500 power management
751 chip. This connects to U8500 either on the SSP/SPI bus (deprecated
752 since hardware version v1.0) or the I2C bus via PRCMU. It also adds
753 the irq_chip parts for handling the Mixed Signal chip events.
754 This chip embeds various other multimedia funtionalities as well.
755
756 config AB8500_DEBUG
757 bool "Enable debug info via debugfs"
758 depends on AB8500_GPADC && DEBUG_FS
759 default y if DEBUG_FS
760 help
761 Select this option if you want debug information using the debug
762 filesystem, debugfs.
763
764 config AB8500_GPADC
765 bool "ST-Ericsson AB8500 GPADC driver"
766 depends on AB8500_CORE && REGULATOR_AB8500
767 default y
768 help
769 AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
770
771 config MFD_DB8500_PRCMU
772 bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
773 depends on UX500_SOC_DB8500
774 select MFD_CORE
775 help
776 Select this option to enable support for the DB8500 Power Reset
777 and Control Management Unit. This is basically an autonomous
778 system controller running an XP70 microprocessor, which is accessed
779 through a register map.
780
781 config MFD_STMPE
782 bool "STMicroelectronics STMPE"
783 depends on (I2C=y || SPI_MASTER=y)
784 depends on OF
785 select MFD_CORE
786 help
787 Support for the STMPE family of I/O Expanders from
788 STMicroelectronics.
789
790 Currently supported devices are:
791
792 STMPE811: GPIO, Touchscreen
793 STMPE1601: GPIO, Keypad
794 STMPE1801: GPIO, Keypad
795 STMPE2401: GPIO, Keypad
796 STMPE2403: GPIO, Keypad
797
798 This driver provides common support for accessing the device,
799 additional drivers must be enabled in order to use the functionality
800 of the device. Currently available sub drivers are:
801
802 GPIO: stmpe-gpio
803 Keypad: stmpe-keypad
804 Touchscreen: stmpe-ts
805
806 menu "STMicroelectronics STMPE Interface Drivers"
807 depends on MFD_STMPE
808
809 config STMPE_I2C
810 bool "STMicroelectronics STMPE I2C Interface"
811 depends on I2C=y
812 default y
813 help
814 This is used to enable I2C interface of STMPE
815
816 config STMPE_SPI
817 bool "STMicroelectronics STMPE SPI Interface"
818 depends on SPI_MASTER
819 help
820 This is used to enable SPI interface of STMPE
821 endmenu
822
823 config MFD_STA2X11
824 bool "STMicroelectronics STA2X11"
825 depends on STA2X11
826 select MFD_CORE
827 select REGMAP_MMIO
828
829 config MFD_SUN6I_PRCM
830 bool "Allwinner A31 PRCM controller"
831 depends on ARCH_SUNXI
832 select MFD_CORE
833 help
834 Support for the PRCM (Power/Reset/Clock Management) unit available
835 in A31 SoC.
836
837 config MFD_SYSCON
838 bool "System Controller Register R/W Based on Regmap"
839 select REGMAP_MMIO
840 help
841 Select this option to enable accessing system control registers
842 via regmap.
843
844 config MFD_DAVINCI_VOICECODEC
845 tristate
846 select MFD_CORE
847 select REGMAP_MMIO
848
849 config MFD_TI_AM335X_TSCADC
850 tristate "TI ADC / Touch Screen chip support"
851 select MFD_CORE
852 select REGMAP
853 select REGMAP_MMIO
854 help
855 If you say yes here you get support for Texas Instruments series
856 of Touch Screen /ADC chips.
857 To compile this driver as a module, choose M here: the
858 module will be called ti_am335x_tscadc.
859
860 config MFD_DM355EVM_MSP
861 bool "TI DaVinci DM355 EVM microcontroller"
862 depends on I2C=y && MACH_DAVINCI_DM355_EVM
863 help
864 This driver supports the MSP430 microcontroller used on these
865 boards. MSP430 firmware manages resets and power sequencing,
866 inputs from buttons and the IR remote, LEDs, an RTC, and more.
867
868 config MFD_LP3943
869 tristate "TI/National Semiconductor LP3943 MFD Driver"
870 depends on I2C
871 select MFD_CORE
872 select REGMAP_I2C
873 help
874 Support for the TI/National Semiconductor LP3943.
875 This driver consists of GPIO and PWM drivers.
876 With these functionalities, it can be used for LED string control or
877 general usage such like a GPIO controller and a PWM controller.
878
879 config MFD_LP8788
880 bool "TI LP8788 Power Management Unit Driver"
881 depends on I2C=y
882 select MFD_CORE
883 select REGMAP_I2C
884 select IRQ_DOMAIN
885 help
886 TI LP8788 PMU supports regulators, battery charger, RTC,
887 ADC, backlight driver and current sinks.
888
889 config MFD_OMAP_USB_HOST
890 bool "TI OMAP USBHS core and TLL driver"
891 depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
892 default y
893 help
894 This is the core driver for the OAMP EHCI and OHCI drivers.
895 This MFD driver does the required setup functionalities for
896 OMAP USB Host drivers.
897
898 config MFD_PALMAS
899 bool "TI Palmas series chips"
900 select MFD_CORE
901 select REGMAP_I2C
902 select REGMAP_IRQ
903 depends on I2C=y
904 help
905 If you say yes here you get support for the Palmas
906 series of PMIC chips from Texas Instruments.
907
908 config TPS6105X
909 tristate "TI TPS61050/61052 Boost Converters"
910 depends on I2C
911 select REGULATOR
912 select MFD_CORE
913 select REGULATOR_FIXED_VOLTAGE
914 help
915 This option enables a driver for the TP61050/TPS61052
916 high-power "white LED driver". This boost converter is
917 sometimes used for other things than white LEDs, and
918 also contains a GPIO pin.
919
920 config TPS65010
921 tristate "TI TPS6501x Power Management chips"
922 depends on I2C && GPIOLIB
923 default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
924 help
925 If you say yes here you get support for the TPS6501x series of
926 Power Management chips. These include voltage regulators,
927 lithium ion/polymer battery charging, and other features that
928 are often used in portable devices like cell phones and cameras.
929
930 This driver can also be built as a module. If so, the module
931 will be called tps65010.
932
933 config TPS6507X
934 tristate "TI TPS6507x Power Management / Touch Screen chips"
935 select MFD_CORE
936 depends on I2C
937 help
938 If you say yes here you get support for the TPS6507x series of
939 Power Management / Touch Screen chips. These include voltage
940 regulators, lithium ion/polymer battery charging, touch screen
941 and other features that are often used in portable devices.
942 This driver can also be built as a module. If so, the module
943 will be called tps6507x.
944
945 config TPS65911_COMPARATOR
946 tristate
947
948 config MFD_TPS65090
949 bool "TI TPS65090 Power Management chips"
950 depends on I2C=y
951 select MFD_CORE
952 select REGMAP_I2C
953 select REGMAP_IRQ
954 help
955 If you say yes here you get support for the TPS65090 series of
956 Power Management chips.
957 This driver provides common support for accessing the device,
958 additional drivers must be enabled in order to use the
959 functionality of the device.
960
961 config MFD_TPS65217
962 tristate "TI TPS65217 Power Management / White LED chips"
963 depends on I2C
964 select MFD_CORE
965 select REGMAP_I2C
966 help
967 If you say yes here you get support for the TPS65217 series of
968 Power Management / White LED chips.
969 These include voltage regulators, lithium ion/polymer battery
970 charger, wled and other features that are often used in portable
971 devices.
972
973 This driver can also be built as a module. If so, the module
974 will be called tps65217.
975
976 config MFD_TPS65218
977 tristate "TI TPS65218 Power Management chips"
978 depends on I2C
979 select MFD_CORE
980 select REGMAP_I2C
981 select REGMAP_IRQ
982 help
983 If you say yes here you get support for the TPS65218 series of
984 Power Management chips.
985 These include voltage regulators, gpio and other features
986 that are often used in portable devices. Only regulator
987 component is currently supported.
988
989 This driver can also be built as a module. If so, the module
990 will be called tps65218.
991
992 config MFD_TPS6586X
993 bool "TI TPS6586x Power Management chips"
994 depends on I2C=y
995 select MFD_CORE
996 select REGMAP_I2C
997 help
998 If you say yes here you get support for the TPS6586X series of
999 Power Management chips.
1000 This driver provides common support for accessing the device,
1001 additional drivers must be enabled in order to use the
1002 functionality of the device.
1003
1004 This driver can also be built as a module. If so, the module
1005 will be called tps6586x.
1006
1007 config MFD_TPS65910
1008 bool "TI TPS65910 Power Management chip"
1009 depends on I2C=y && GPIOLIB
1010 select MFD_CORE
1011 select REGMAP_I2C
1012 select REGMAP_IRQ
1013 select IRQ_DOMAIN
1014 help
1015 if you say yes here you get support for the TPS65910 series of
1016 Power Management chips.
1017
1018 config MFD_TPS65912
1019 bool "TI TPS65912 Power Management chip"
1020 depends on GPIOLIB
1021 select MFD_CORE
1022 help
1023 If you say yes here you get support for the TPS65912 series of
1024 PM chips.
1025
1026 config MFD_TPS65912_I2C
1027 bool "TI TPS65912 Power Management chip with I2C"
1028 select MFD_CORE
1029 select MFD_TPS65912
1030 depends on I2C=y && GPIOLIB
1031 help
1032 If you say yes here you get support for the TPS65912 series of
1033 PM chips with I2C interface.
1034
1035 config MFD_TPS65912_SPI
1036 bool "TI TPS65912 Power Management chip with SPI"
1037 select MFD_CORE
1038 select MFD_TPS65912
1039 depends on SPI_MASTER && GPIOLIB
1040 help
1041 If you say yes here you get support for the TPS65912 series of
1042 PM chips with SPI interface.
1043
1044 config MFD_TPS80031
1045 bool "TI TPS80031/TPS80032 Power Management chips"
1046 depends on I2C=y
1047 select MFD_CORE
1048 select REGMAP_I2C
1049 select REGMAP_IRQ
1050 help
1051 If you say yes here you get support for the Texas Instruments
1052 TPS80031/ TPS80032 Fully Integrated Power Management with Power
1053 Path and Battery Charger. The device provides five configurable
1054 step-down converters, 11 general purpose LDOs, USB OTG Module,
1055 ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
1056 Power Path from USB, 32K clock generator.
1057
1058 config TWL4030_CORE
1059 bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
1060 depends on I2C=y
1061 select IRQ_DOMAIN
1062 select REGMAP_I2C
1063 help
1064 Say yes here if you have TWL4030 / TWL6030 family chip on your board.
1065 This core driver provides register access and IRQ handling
1066 facilities, and registers devices for the various functions
1067 so that function-specific drivers can bind to them.
1068
1069 These multi-function chips are found on many OMAP2 and OMAP3
1070 boards, providing power management, RTC, GPIO, keypad, a
1071 high speed USB OTG transceiver, an audio codec (on most
1072 versions) and many other features.
1073
1074 config TWL4030_POWER
1075 bool "TI TWL4030 power resources"
1076 depends on TWL4030_CORE && ARM
1077 help
1078 Say yes here if you want to use the power resources on the
1079 TWL4030 family chips. Most of these resources are regulators,
1080 which have a separate driver; some are control signals, such
1081 as clock request handshaking.
1082
1083 This driver uses board-specific data to initialize the resources
1084 and load scripts controlling which resources are switched off/on
1085 or reset when a sleep, wakeup or warm reset event occurs.
1086
1087 config MFD_TWL4030_AUDIO
1088 bool "TI TWL4030 Audio"
1089 depends on TWL4030_CORE
1090 select MFD_CORE
1091 default n
1092
1093 config TWL6040_CORE
1094 bool "TI TWL6040 audio codec"
1095 depends on I2C=y
1096 select MFD_CORE
1097 select REGMAP_I2C
1098 select REGMAP_IRQ
1099 default n
1100 help
1101 Say yes here if you want support for Texas Instruments TWL6040 audio
1102 codec.
1103 This driver provides common support for accessing the device,
1104 additional drivers must be enabled in order to use the
1105 functionality of the device (audio, vibra).
1106
1107 config MENELAUS
1108 bool "TI TWL92330/Menelaus PM chip"
1109 depends on I2C=y && ARCH_OMAP2
1110 help
1111 If you say yes here you get support for the Texas Instruments
1112 TWL92330/Menelaus Power Management chip. This include voltage
1113 regulators, Dual slot memory card transceivers, real-time clock
1114 and other features that are often used in portable devices like
1115 cell phones and PDAs.
1116
1117 config MFD_WL1273_CORE
1118 tristate "TI WL1273 FM radio"
1119 depends on I2C
1120 select MFD_CORE
1121 default n
1122 help
1123 This is the core driver for the TI WL1273 FM radio. This MFD
1124 driver connects the radio-wl1273 V4L2 module and the wl1273
1125 audio codec.
1126
1127 config MFD_LM3533
1128 tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1129 depends on I2C
1130 select MFD_CORE
1131 select REGMAP_I2C
1132 help
1133 Say yes here to enable support for National Semiconductor / TI
1134 LM3533 Lighting Power chips.
1135
1136 This driver provides common support for accessing the device;
1137 additional drivers must be enabled in order to use the LED,
1138 backlight or ambient-light-sensor functionality of the device.
1139
1140 config MFD_TIMBERDALE
1141 tristate "Timberdale FPGA"
1142 select MFD_CORE
1143 depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
1144 ---help---
1145 This is the core driver for the timberdale FPGA. This device is a
1146 multifunction device which exposes numerous platform devices.
1147
1148 The timberdale FPGA can be found on the Intel Atom development board
1149 for in-vehicle infontainment, called Russellville.
1150
1151 config MFD_TC3589X
1152 bool "Toshiba TC35892 and variants"
1153 depends on I2C=y
1154 select MFD_CORE
1155 help
1156 Support for the Toshiba TC35892 and variants I/O Expander.
1157
1158 This driver provides common support for accessing the device,
1159 additional drivers must be enabled in order to use the
1160 functionality of the device.
1161
1162 config MFD_TMIO
1163 bool
1164 default n
1165
1166 config MFD_T7L66XB
1167 bool "Toshiba T7L66XB"
1168 depends on ARM && HAVE_CLK
1169 select MFD_CORE
1170 select MFD_TMIO
1171 help
1172 Support for Toshiba Mobile IO Controller T7L66XB
1173
1174 config MFD_TC6387XB
1175 bool "Toshiba TC6387XB"
1176 depends on ARM && HAVE_CLK
1177 select MFD_CORE
1178 select MFD_TMIO
1179 help
1180 Support for Toshiba Mobile IO Controller TC6387XB
1181
1182 config MFD_TC6393XB
1183 bool "Toshiba TC6393XB"
1184 depends on ARM && HAVE_CLK
1185 select GPIOLIB
1186 select MFD_CORE
1187 select MFD_TMIO
1188 help
1189 Support for Toshiba Mobile IO Controller TC6393XB
1190
1191 config MFD_VX855
1192 tristate "VIA VX855/VX875 integrated south bridge"
1193 depends on PCI
1194 select MFD_CORE
1195 help
1196 Say yes here to enable support for various functions of the
1197 VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1198 and/or vx855_gpio drivers for this to do anything useful.
1199
1200 config MFD_ARIZONA
1201 select REGMAP
1202 select REGMAP_IRQ
1203 select MFD_CORE
1204 bool
1205
1206 config MFD_ARIZONA_I2C
1207 tristate "Wolfson Microelectronics Arizona platform with I2C"
1208 select MFD_ARIZONA
1209 select MFD_CORE
1210 select REGMAP_I2C
1211 depends on I2C
1212 help
1213 Support for the Wolfson Microelectronics Arizona platform audio SoC
1214 core functionality controlled via I2C.
1215
1216 config MFD_ARIZONA_SPI
1217 tristate "Wolfson Microelectronics Arizona platform with SPI"
1218 select MFD_ARIZONA
1219 select MFD_CORE
1220 select REGMAP_SPI
1221 depends on SPI_MASTER
1222 help
1223 Support for the Wolfson Microelectronics Arizona platform audio SoC
1224 core functionality controlled via I2C.
1225
1226 config MFD_WM5102
1227 bool "Wolfson Microelectronics WM5102"
1228 depends on MFD_ARIZONA
1229 help
1230 Support for Wolfson Microelectronics WM5102 low power audio SoC
1231
1232 config MFD_WM5110
1233 bool "Wolfson Microelectronics WM5110"
1234 depends on MFD_ARIZONA
1235 help
1236 Support for Wolfson Microelectronics WM5110 low power audio SoC
1237
1238 config MFD_WM8997
1239 bool "Wolfson Microelectronics WM8997"
1240 depends on MFD_ARIZONA
1241 help
1242 Support for Wolfson Microelectronics WM8997 low power audio SoC
1243
1244 config MFD_WM8400
1245 bool "Wolfson Microelectronics WM8400"
1246 select MFD_CORE
1247 depends on I2C=y
1248 select REGMAP_I2C
1249 help
1250 Support for the Wolfson Microelecronics WM8400 PMIC and audio
1251 CODEC. This driver provides common support for accessing
1252 the device, additional drivers must be enabled in order to use
1253 the functionality of the device.
1254
1255 config MFD_WM831X
1256 bool
1257
1258 config MFD_WM831X_I2C
1259 bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1260 select MFD_CORE
1261 select MFD_WM831X
1262 select REGMAP_I2C
1263 select IRQ_DOMAIN
1264 depends on I2C=y
1265 help
1266 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1267 when controlled using I2C. This driver provides common support
1268 for accessing the device, additional drivers must be enabled in
1269 order to use the functionality of the device.
1270
1271 config MFD_WM831X_SPI
1272 bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1273 select MFD_CORE
1274 select MFD_WM831X
1275 select REGMAP_SPI
1276 select IRQ_DOMAIN
1277 depends on SPI_MASTER
1278 help
1279 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1280 when controlled using SPI. This driver provides common support
1281 for accessing the device, additional drivers must be enabled in
1282 order to use the functionality of the device.
1283
1284 config MFD_WM8350
1285 bool
1286
1287 config MFD_WM8350_I2C
1288 bool "Wolfson Microelectronics WM8350 with I2C"
1289 select MFD_WM8350
1290 depends on I2C=y
1291 help
1292 The WM8350 is an integrated audio and power management
1293 subsystem with watchdog and RTC functionality for embedded
1294 systems. This option enables core support for the WM8350 with
1295 I2C as the control interface. Additional options must be
1296 selected to enable support for the functionality of the chip.
1297
1298 config MFD_WM8994
1299 tristate "Wolfson Microelectronics WM8994"
1300 select MFD_CORE
1301 select REGMAP_I2C
1302 select REGMAP_IRQ
1303 depends on I2C
1304 help
1305 The WM8994 is a highly integrated hi-fi CODEC designed for
1306 smartphone applicatiosn. As well as audio functionality it
1307 has on board GPIO and regulator functionality which is
1308 supported via the relevant subsystems. This driver provides
1309 core support for the WM8994, in order to use the actual
1310 functionaltiy of the device other drivers must be enabled.
1311
1312 config MFD_STW481X
1313 tristate "Support for ST Microelectronics STw481x"
1314 depends on I2C && ARCH_NOMADIK
1315 select REGMAP_I2C
1316 select MFD_CORE
1317 help
1318 Select this option to enable the STw481x chip driver used
1319 in various ST Microelectronics and ST-Ericsson embedded
1320 Nomadik series.
1321
1322 menu "Multimedia Capabilities Port drivers"
1323 depends on ARCH_SA1100
1324
1325 config MCP
1326 tristate
1327
1328 # Interface drivers
1329 config MCP_SA11X0
1330 tristate "Support SA11x0 MCP interface"
1331 depends on ARCH_SA1100
1332 select MCP
1333
1334 # Chip drivers
1335 config MCP_UCB1200
1336 tristate "Support for UCB1200 / UCB1300"
1337 depends on MCP_SA11X0
1338 select MCP
1339
1340 config MCP_UCB1200_TS
1341 tristate "Touchscreen interface support"
1342 depends on MCP_UCB1200 && INPUT
1343
1344 endmenu
1345
1346 config MFD_VEXPRESS_SYSREG
1347 bool "Versatile Express System Registers"
1348 depends on VEXPRESS_CONFIG && GPIOLIB
1349 default y
1350 select CLKSRC_MMIO
1351 select GPIO_GENERIC_PLATFORM
1352 select MFD_CORE
1353 select MFD_SYSCON
1354 help
1355 System Registers are the platform configuration block
1356 on the ARM Ltd. Versatile Express board.
1357
1358 endmenu
1359 endif