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