Kconfig 18 KB

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