Kconfig 19 KB

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