Kconfig 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621
  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=y && 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
  275. depends on GENERIC_HARDIRQS
  276. config MFD_WM831X_I2C
  277. bool "Support Wolfson Microelectronics WM831x/2x PMICs with I2C"
  278. select MFD_CORE
  279. select MFD_WM831X
  280. depends on I2C=y && GENERIC_HARDIRQS
  281. help
  282. Support for the Wolfson Microelecronics WM831x and WM832x PMICs
  283. when controlled using I2C. This driver provides common support
  284. for accessing the device, additional drivers must be enabled in
  285. order to use the functionality of the device.
  286. config MFD_WM8350
  287. bool
  288. depends on GENERIC_HARDIRQS
  289. config MFD_WM8350_CONFIG_MODE_0
  290. bool
  291. depends on MFD_WM8350
  292. config MFD_WM8350_CONFIG_MODE_1
  293. bool
  294. depends on MFD_WM8350
  295. config MFD_WM8350_CONFIG_MODE_2
  296. bool
  297. depends on MFD_WM8350
  298. config MFD_WM8350_CONFIG_MODE_3
  299. bool
  300. depends on MFD_WM8350
  301. config MFD_WM8351_CONFIG_MODE_0
  302. bool
  303. depends on MFD_WM8350
  304. config MFD_WM8351_CONFIG_MODE_1
  305. bool
  306. depends on MFD_WM8350
  307. config MFD_WM8351_CONFIG_MODE_2
  308. bool
  309. depends on MFD_WM8350
  310. config MFD_WM8351_CONFIG_MODE_3
  311. bool
  312. depends on MFD_WM8350
  313. config MFD_WM8352_CONFIG_MODE_0
  314. bool
  315. depends on MFD_WM8350
  316. config MFD_WM8352_CONFIG_MODE_1
  317. bool
  318. depends on MFD_WM8350
  319. config MFD_WM8352_CONFIG_MODE_2
  320. bool
  321. depends on MFD_WM8350
  322. config MFD_WM8352_CONFIG_MODE_3
  323. bool
  324. depends on MFD_WM8350
  325. config MFD_WM8350_I2C
  326. bool "Support Wolfson Microelectronics WM8350 with I2C"
  327. select MFD_WM8350
  328. depends on I2C=y && GENERIC_HARDIRQS
  329. help
  330. The WM8350 is an integrated audio and power management
  331. subsystem with watchdog and RTC functionality for embedded
  332. systems. This option enables core support for the WM8350 with
  333. I2C as the control interface. Additional options must be
  334. selected to enable support for the functionality of the chip.
  335. config MFD_WM8994
  336. bool "Support Wolfson Microelectronics WM8994"
  337. select MFD_CORE
  338. depends on I2C=y && GENERIC_HARDIRQS
  339. help
  340. The WM8994 is a highly integrated hi-fi CODEC designed for
  341. smartphone applicatiosn. As well as audio functionality it
  342. has on board GPIO and regulator functionality which is
  343. supported via the relevant subsystems. This driver provides
  344. core support for the WM8994, in order to use the actual
  345. functionaltiy of the device other drivers must be enabled.
  346. config MFD_PCF50633
  347. tristate "Support for NXP PCF50633"
  348. depends on I2C
  349. help
  350. Say yes here if you have NXP PCF50633 chip on your board.
  351. This core driver provides register access and IRQ handling
  352. facilities, and registers devices for the various functions
  353. so that function-specific drivers can bind to them.
  354. config MFD_MC13783
  355. tristate
  356. config MFD_MC13XXX
  357. tristate "Support Freescale MC13783 and MC13892"
  358. depends on SPI_MASTER
  359. select MFD_CORE
  360. select MFD_MC13783
  361. help
  362. Support for the Freescale (Atlas) PMIC and audio CODECs
  363. MC13783 and MC13892.
  364. This driver provides common support for accessing the device,
  365. additional drivers must be enabled in order to use the
  366. functionality of the device.
  367. config PCF50633_ADC
  368. tristate "Support for NXP PCF50633 ADC"
  369. depends on MFD_PCF50633
  370. help
  371. Say yes here if you want to include support for ADC in the
  372. NXP PCF50633 chip.
  373. config PCF50633_GPIO
  374. tristate "Support for NXP PCF50633 GPIO"
  375. depends on MFD_PCF50633
  376. help
  377. Say yes here if you want to include support GPIO for pins on
  378. the PCF50633 chip.
  379. config ABX500_CORE
  380. bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
  381. default y if ARCH_U300 || ARCH_U8500
  382. help
  383. Say yes here if you have the ABX500 Mixed Signal IC family
  384. chips. This core driver expose register access functions.
  385. Functionality specific drivers using these functions can
  386. remain unchanged when IC changes. Binding of the functions to
  387. actual register access is done by the IC core driver.
  388. config AB3100_CORE
  389. bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
  390. depends on I2C=y && ABX500_CORE
  391. select MFD_CORE
  392. default y if ARCH_U300
  393. help
  394. Select this to enable the AB3100 Mixed Signal IC core
  395. functionality. This connects to a AB3100 on the I2C bus
  396. and expose a number of symbols needed for dependent devices
  397. to read and write registers and subscribe to events from
  398. this multi-functional IC. This is needed to use other features
  399. of the AB3100 such as battery-backed RTC, charging control,
  400. LEDs, vibrator, system power and temperature, power management
  401. and ALSA sound.
  402. config AB3100_OTP
  403. tristate "ST-Ericsson AB3100 OTP functions"
  404. depends on AB3100_CORE
  405. default y if AB3100_CORE
  406. help
  407. Select this to enable the AB3100 Mixed Signal IC OTP (one-time
  408. programmable memory) support. This exposes a sysfs file to read
  409. out OTP values.
  410. config EZX_PCAP
  411. bool "PCAP Support"
  412. depends on GENERIC_HARDIRQS && SPI_MASTER
  413. help
  414. This enables the PCAP ASIC present on EZX Phones. This is
  415. needed for MMC, TouchScreen, Sound, USB, etc..
  416. config AB8500_CORE
  417. bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
  418. depends on GENERIC_HARDIRQS && ABX500_CORE && SPI_MASTER && ARCH_U8500
  419. select MFD_CORE
  420. help
  421. Select this option to enable access to AB8500 power management
  422. chip. This connects to U8500 either on the SSP/SPI bus
  423. or the I2C bus via PRCMU. It also adds the irq_chip
  424. parts for handling the Mixed Signal chip events.
  425. This chip embeds various other multimedia funtionalities as well.
  426. config AB8500_I2C_CORE
  427. bool "AB8500 register access via PRCMU I2C"
  428. depends on AB8500_CORE && UX500_SOC_DB8500
  429. default y
  430. help
  431. This enables register access to the AB8500 chip via PRCMU I2C.
  432. The AB8500 chip can be accessed via SPI or I2C. On DB8500 hardware
  433. the I2C bus is connected to the Power Reset
  434. and Mangagement Unit, PRCMU.
  435. config AB8500_DEBUG
  436. bool "Enable debug info via debugfs"
  437. depends on AB8500_CORE && DEBUG_FS
  438. default y if DEBUG_FS
  439. help
  440. Select this option if you want debug information using the debug
  441. filesystem, debugfs.
  442. config AB3550_CORE
  443. bool "ST-Ericsson AB3550 Mixed Signal Circuit core functions"
  444. select MFD_CORE
  445. depends on I2C=y && GENERIC_HARDIRQS && ABX500_CORE
  446. help
  447. Select this to enable the AB3550 Mixed Signal IC core
  448. functionality. This connects to a AB3550 on the I2C bus
  449. and expose a number of symbols needed for dependent devices
  450. to read and write registers and subscribe to events from
  451. this multi-functional IC. This is needed to use other features
  452. of the AB3550 such as battery-backed RTC, charging control,
  453. LEDs, vibrator, system power and temperature, power management
  454. and ALSA sound.
  455. config MFD_TIMBERDALE
  456. tristate "Support for the Timberdale FPGA"
  457. select MFD_CORE
  458. depends on PCI && GPIOLIB
  459. ---help---
  460. This is the core driver for the timberdale FPGA. This device is a
  461. multifunction device which exposes numerous platform devices.
  462. The timberdale FPGA can be found on the Intel Atom development board
  463. for in-vehicle infontainment, called Russellville.
  464. config LPC_SCH
  465. tristate "Intel SCH LPC"
  466. depends on PCI
  467. select MFD_CORE
  468. help
  469. LPC bridge function of the Intel SCH provides support for
  470. System Management Bus and General Purpose I/O.
  471. config MFD_RDC321X
  472. tristate "Support for RDC-R321x southbridge"
  473. select MFD_CORE
  474. depends on PCI
  475. help
  476. Say yes here if you want to have support for the RDC R-321x SoC
  477. southbridge which provides access to GPIOs and Watchdog using the
  478. southbridge PCI device configuration space.
  479. config MFD_JANZ_CMODIO
  480. tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
  481. select MFD_CORE
  482. depends on PCI
  483. help
  484. This is the core driver for the Janz CMOD-IO PCI MODULbus
  485. carrier board. This device is a PCI to MODULbus bridge which may
  486. host many different types of MODULbus daughterboards, including
  487. CAN and GPIO controllers.
  488. config MFD_JZ4740_ADC
  489. tristate "Support for the JZ4740 SoC ADC core"
  490. select MFD_CORE
  491. depends on MACH_JZ4740
  492. help
  493. Say yes here if you want support for the ADC unit in the JZ4740 SoC.
  494. This driver is necessary for jz4740-battery and jz4740-hwmon driver.
  495. config MFD_TPS6586X
  496. bool "TPS6586x Power Management chips"
  497. depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
  498. select MFD_CORE
  499. help
  500. If you say yes here you get support for the TPS6586X series of
  501. Power Management chips.
  502. This driver provides common support for accessing the device,
  503. additional drivers must be enabled in order to use the
  504. functionality of the device.
  505. This driver can also be built as a module. If so, the module
  506. will be called tps6586x.
  507. config MFD_VX855
  508. tristate "Support for VIA VX855/VX875 integrated south bridge"
  509. depends on PCI
  510. select MFD_CORE
  511. help
  512. Say yes here to enable support for various functions of the
  513. VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
  514. and/or vx855_gpio drivers for this to do anything useful.
  515. endif # MFD_SUPPORT
  516. menu "Multimedia Capabilities Port drivers"
  517. depends on ARCH_SA1100
  518. config MCP
  519. tristate
  520. # Interface drivers
  521. config MCP_SA11X0
  522. tristate "Support SA11x0 MCP interface"
  523. depends on ARCH_SA1100
  524. select MCP
  525. # Chip drivers
  526. config MCP_UCB1200
  527. tristate "Support for UCB1200 / UCB1300"
  528. depends on MCP
  529. config MCP_UCB1200_TS
  530. tristate "Touchscreen interface support"
  531. depends on MCP_UCB1200 && INPUT
  532. endmenu