Kconfig 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menuconfig RC_CORE
  3. tristate "Remote Controller support"
  4. depends on INPUT
  5. help
  6. Enable support for Remote Controllers on Linux. This is
  7. needed in order to support several video capture adapters,
  8. standalone IR receivers/transmitters, and RF receivers.
  9. Enable this option if you have a video capture board even
  10. if you don't need IR, as otherwise, you may not be able to
  11. compile the driver for your adapter.
  12. Say Y when you have a TV or an IR device.
  13. if RC_CORE
  14. source "drivers/media/rc/keymaps/Kconfig"
  15. config LIRC
  16. bool "LIRC user interface"
  17. depends on RC_CORE
  18. help
  19. Enable this option to enable the Linux Infrared Remote
  20. Control user interface (e.g. /dev/lirc*). This interface
  21. passes raw IR to and from userspace, which is needed for
  22. IR transmitting (aka "blasting") and for the lirc daemon.
  23. config BPF_LIRC_MODE2
  24. bool "Support for eBPF programs attached to lirc devices"
  25. depends on BPF_SYSCALL
  26. depends on RC_CORE=y
  27. depends on LIRC
  28. help
  29. Allow attaching eBPF programs to a lirc device using the bpf(2)
  30. syscall command BPF_PROG_ATTACH. This is supported for raw IR
  31. receivers.
  32. These eBPF programs can be used to decode IR into scancodes, for
  33. IR protocols not supported by the kernel decoders.
  34. menuconfig RC_DECODERS
  35. bool "Remote controller decoders"
  36. depends on RC_CORE
  37. if RC_DECODERS
  38. config IR_NEC_DECODER
  39. tristate "Enable IR raw decoder for the NEC protocol"
  40. depends on RC_CORE
  41. select BITREVERSE
  42. help
  43. Enable this option if you have IR with NEC protocol, and
  44. if the IR is decoded in software
  45. config IR_RC5_DECODER
  46. tristate "Enable IR raw decoder for the RC-5 protocol"
  47. depends on RC_CORE
  48. select BITREVERSE
  49. help
  50. Enable this option if you have IR with RC-5 protocol, and
  51. if the IR is decoded in software
  52. config IR_RC6_DECODER
  53. tristate "Enable IR raw decoder for the RC6 protocol"
  54. depends on RC_CORE
  55. select BITREVERSE
  56. help
  57. Enable this option if you have an infrared remote control which
  58. uses the RC6 protocol, and you need software decoding support.
  59. config IR_JVC_DECODER
  60. tristate "Enable IR raw decoder for the JVC protocol"
  61. depends on RC_CORE
  62. select BITREVERSE
  63. help
  64. Enable this option if you have an infrared remote control which
  65. uses the JVC protocol, and you need software decoding support.
  66. config IR_SONY_DECODER
  67. tristate "Enable IR raw decoder for the Sony protocol"
  68. depends on RC_CORE
  69. select BITREVERSE
  70. help
  71. Enable this option if you have an infrared remote control which
  72. uses the Sony protocol, and you need software decoding support.
  73. config IR_SANYO_DECODER
  74. tristate "Enable IR raw decoder for the Sanyo protocol"
  75. depends on RC_CORE
  76. help
  77. Enable this option if you have an infrared remote control which
  78. uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes),
  79. and you need software decoding support.
  80. config IR_SHARP_DECODER
  81. tristate "Enable IR raw decoder for the Sharp protocol"
  82. depends on RC_CORE
  83. help
  84. Enable this option if you have an infrared remote control which
  85. uses the Sharp protocol (Sharp, Denon), and you need software
  86. decoding support.
  87. config IR_MCE_KBD_DECODER
  88. tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol"
  89. depends on RC_CORE
  90. select BITREVERSE
  91. help
  92. Enable this option if you have a Microsoft Remote Keyboard for
  93. Windows Media Center Edition, which you would like to use with
  94. a raw IR receiver in your system.
  95. config IR_XMP_DECODER
  96. tristate "Enable IR raw decoder for the XMP protocol"
  97. depends on RC_CORE
  98. select BITREVERSE
  99. help
  100. Enable this option if you have IR with XMP protocol, and
  101. if the IR is decoded in software
  102. config IR_IMON_DECODER
  103. tristate "Enable IR raw decoder for the iMON protocol"
  104. depends on RC_CORE
  105. help
  106. Enable this option if you have iMON PAD or Antec Veris infrared
  107. remote control and you would like to use it with a raw IR
  108. receiver, or if you wish to use an encoder to transmit this IR.
  109. config IR_RCMM_DECODER
  110. tristate "Enable IR raw decoder for the RC-MM protocol"
  111. depends on RC_CORE
  112. help
  113. Enable this option when you have IR with RC-MM protocol, and
  114. you need the software decoder. The driver supports 12,
  115. 24 and 32 bits RC-MM variants. You can enable or disable the
  116. different modes using the following RC protocol keywords:
  117. 'rc-mm-12', 'rc-mm-24' and 'rc-mm-32'.
  118. To compile this driver as a module, choose M here: the module
  119. will be called ir-rcmm-decoder.
  120. endif #RC_DECODERS
  121. menuconfig RC_DEVICES
  122. bool "Remote Controller devices"
  123. depends on RC_CORE
  124. if RC_DEVICES
  125. config RC_ATI_REMOTE
  126. tristate "ATI / X10 based USB RF remote controls"
  127. depends on USB_ARCH_HAS_HCD
  128. depends on RC_CORE
  129. select USB
  130. help
  131. Say Y here if you want to use an X10 based USB remote control.
  132. These are RF remotes with USB receivers.
  133. Such devices include the ATI remote that comes with many of ATI's
  134. All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote,
  135. Medion RF remote, and SnapStream FireFly remote.
  136. This driver provides mouse pointer, left and right mouse buttons,
  137. and maps all the other remote buttons to keypress events.
  138. To compile this driver as a module, choose M here: the module will be
  139. called ati_remote.
  140. config IR_ENE
  141. tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
  142. depends on PNP || COMPILE_TEST
  143. depends on RC_CORE
  144. help
  145. Say Y here to enable support for integrated infrared receiver
  146. /transceiver made by ENE.
  147. You can see if you have it by looking at lspnp output.
  148. Output should include ENE0100 ENE0200 or something similar.
  149. To compile this driver as a module, choose M here: the
  150. module will be called ene_ir.
  151. config IR_HIX5HD2
  152. tristate "Hisilicon hix5hd2 IR remote control"
  153. depends on RC_CORE
  154. depends on OF || COMPILE_TEST
  155. help
  156. Say Y here if you want to use hisilicon hix5hd2 remote control.
  157. To compile this driver as a module, choose M here: the module will be
  158. called ir-hix5hd2.
  159. If you're not sure, select N here
  160. config IR_IMON
  161. tristate "SoundGraph iMON Receiver and Display"
  162. depends on USB_ARCH_HAS_HCD
  163. depends on RC_CORE
  164. select USB
  165. help
  166. Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
  167. IR Receiver and/or LCD/VFD/VGA display.
  168. To compile this driver as a module, choose M here: the
  169. module will be called imon.
  170. config IR_IMON_RAW
  171. tristate "SoundGraph iMON Receiver (early raw IR models)"
  172. depends on USB_ARCH_HAS_HCD
  173. depends on RC_CORE
  174. select USB
  175. help
  176. Say Y here if you want to use a SoundGraph iMON IR Receiver,
  177. early raw models.
  178. To compile this driver as a module, choose M here: the
  179. module will be called imon_raw.
  180. config IR_MCEUSB
  181. tristate "Windows Media Center Ed. eHome Infrared Transceiver"
  182. depends on USB_ARCH_HAS_HCD
  183. depends on RC_CORE
  184. select USB
  185. help
  186. Say Y here if you want to use a Windows Media Center Edition
  187. eHome Infrared Transceiver.
  188. To compile this driver as a module, choose M here: the
  189. module will be called mceusb.
  190. config IR_ITE_CIR
  191. tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
  192. depends on PNP || COMPILE_TEST
  193. depends on RC_CORE
  194. help
  195. Say Y here to enable support for integrated infrared receivers
  196. /transceivers made by ITE Tech Inc. These are found in
  197. several ASUS devices, like the ASUS Digimatrix or the ASUS
  198. EEEBox 1501U.
  199. To compile this driver as a module, choose M here: the
  200. module will be called ite-cir.
  201. config IR_FINTEK
  202. tristate "Fintek Consumer Infrared Transceiver"
  203. depends on PNP || COMPILE_TEST
  204. depends on RC_CORE
  205. help
  206. Say Y here to enable support for integrated infrared receiver
  207. /transceiver made by Fintek. This chip is found on assorted
  208. Jetway motherboards (and of course, possibly others).
  209. To compile this driver as a module, choose M here: the
  210. module will be called fintek-cir.
  211. config IR_MESON
  212. tristate "Amlogic Meson IR remote receiver"
  213. depends on RC_CORE
  214. depends on ARCH_MESON || COMPILE_TEST
  215. help
  216. Say Y if you want to use the IR remote receiver available
  217. on Amlogic Meson SoCs.
  218. To compile this driver as a module, choose M here: the
  219. module will be called meson-ir.
  220. config IR_MTK
  221. tristate "Mediatek IR remote receiver"
  222. depends on RC_CORE
  223. depends on ARCH_MEDIATEK || COMPILE_TEST
  224. help
  225. Say Y if you want to use the IR remote receiver available
  226. on Mediatek SoCs.
  227. To compile this driver as a module, choose M here: the
  228. module will be called mtk-cir.
  229. config IR_NUVOTON
  230. tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
  231. depends on PNP || COMPILE_TEST
  232. depends on RC_CORE
  233. help
  234. Say Y here to enable support for integrated infrared receiver
  235. /transceiver made by Nuvoton (formerly Winbond). This chip is
  236. found in the ASRock ION 330HT, as well as assorted Intel
  237. DP55-series motherboards (and of course, possibly others).
  238. To compile this driver as a module, choose M here: the
  239. module will be called nuvoton-cir.
  240. config IR_REDRAT3
  241. tristate "RedRat3 IR Transceiver"
  242. depends on USB_ARCH_HAS_HCD
  243. depends on RC_CORE
  244. select NEW_LEDS
  245. select LEDS_CLASS
  246. select USB
  247. help
  248. Say Y here if you want to use a RedRat3 Infrared Transceiver.
  249. To compile this driver as a module, choose M here: the
  250. module will be called redrat3.
  251. config IR_SPI
  252. tristate "SPI connected IR LED"
  253. depends on SPI && LIRC
  254. depends on OF || COMPILE_TEST
  255. help
  256. Say Y if you want to use an IR LED connected through SPI bus.
  257. To compile this driver as a module, choose M here: the module will be
  258. called ir-spi.
  259. config IR_STREAMZAP
  260. tristate "Streamzap PC Remote IR Receiver"
  261. depends on USB_ARCH_HAS_HCD
  262. depends on RC_CORE
  263. select USB
  264. help
  265. Say Y here if you want to use a Streamzap PC Remote
  266. Infrared Receiver.
  267. To compile this driver as a module, choose M here: the
  268. module will be called streamzap.
  269. config IR_WINBOND_CIR
  270. tristate "Winbond IR remote control"
  271. depends on (X86 && PNP) || COMPILE_TEST
  272. depends on RC_CORE
  273. select NEW_LEDS
  274. select LEDS_CLASS
  275. select BITREVERSE
  276. help
  277. Say Y here if you want to use the IR remote functionality found
  278. in some Winbond SuperI/O chips. Currently only the WPCD376I
  279. chip is supported (included in some Intel Media series
  280. motherboards).
  281. To compile this driver as a module, choose M here: the module will
  282. be called winbond_cir.
  283. config IR_IGORPLUGUSB
  284. tristate "IgorPlug-USB IR Receiver"
  285. depends on USB_ARCH_HAS_HCD
  286. depends on RC_CORE
  287. select USB
  288. help
  289. Say Y here if you want to use the IgorPlug-USB IR Receiver by
  290. Igor Cesko. This device is included on the Fit-PC2.
  291. Note that this device can only record bursts of 36 IR pulses and
  292. spaces, which is not enough for the NEC, Sanyo and RC-6 protocol.
  293. To compile this driver as a module, choose M here: the module will
  294. be called igorplugusb.
  295. config IR_IGUANA
  296. tristate "IguanaWorks USB IR Transceiver"
  297. depends on USB_ARCH_HAS_HCD
  298. depends on RC_CORE
  299. select USB
  300. help
  301. Say Y here if you want to use the IguanaWorks USB IR Transceiver.
  302. Both infrared receive and send are supported. If you want to
  303. change the ID or the pin config, use the user space driver from
  304. IguanaWorks.
  305. Only firmware 0x0205 and later is supported.
  306. To compile this driver as a module, choose M here: the module will
  307. be called iguanair.
  308. config IR_TTUSBIR
  309. tristate "TechnoTrend USB IR Receiver"
  310. depends on USB_ARCH_HAS_HCD
  311. depends on RC_CORE
  312. select USB
  313. select NEW_LEDS
  314. select LEDS_CLASS
  315. help
  316. Say Y here if you want to use the TechnoTrend USB IR Receiver. The
  317. driver can control the led.
  318. To compile this driver as a module, choose M here: the module will
  319. be called ttusbir.
  320. config IR_RX51
  321. tristate "Nokia N900 IR transmitter diode"
  322. depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE
  323. help
  324. Say Y or M here if you want to enable support for the IR
  325. transmitter diode built in the Nokia N900 (RX51) device.
  326. The driver uses omap DM timers for generating the carrier
  327. wave and pulses.
  328. source "drivers/media/rc/img-ir/Kconfig"
  329. config RC_LOOPBACK
  330. tristate "Remote Control Loopback Driver"
  331. depends on RC_CORE
  332. help
  333. Say Y here if you want support for the remote control loopback
  334. driver which allows TX data to be sent back as RX data.
  335. This is mostly useful for debugging purposes.
  336. If you're not sure, select N here.
  337. To compile this driver as a module, choose M here: the module will
  338. be called rc_loopback.
  339. config IR_GPIO_CIR
  340. tristate "GPIO IR remote control"
  341. depends on RC_CORE
  342. depends on (OF && GPIOLIB) || COMPILE_TEST
  343. help
  344. Say Y if you want to use GPIO based IR Receiver.
  345. To compile this driver as a module, choose M here: the module will
  346. be called gpio-ir-recv.
  347. config IR_GPIO_TX
  348. tristate "GPIO IR Bit Banging Transmitter"
  349. depends on RC_CORE
  350. depends on LIRC
  351. depends on (OF && GPIOLIB) || COMPILE_TEST
  352. help
  353. Say Y if you want to a GPIO based IR transmitter. This is a
  354. bit banging driver.
  355. To compile this driver as a module, choose M here: the module will
  356. be called gpio-ir-tx.
  357. config IR_PWM_TX
  358. tristate "PWM IR transmitter"
  359. depends on RC_CORE
  360. depends on LIRC
  361. depends on PWM
  362. depends on OF || COMPILE_TEST
  363. help
  364. Say Y if you want to use a PWM based IR transmitter. This is
  365. more power efficient than the bit banging gpio driver.
  366. To compile this driver as a module, choose M here: the module will
  367. be called pwm-ir-tx.
  368. config RC_ST
  369. tristate "ST remote control receiver"
  370. depends on RC_CORE
  371. depends on ARCH_STI || COMPILE_TEST
  372. help
  373. Say Y here if you want support for ST remote control driver
  374. which allows both IR and UHF RX.
  375. The driver passes raw pulse and space information to the LIRC decoder.
  376. If you're not sure, select N here.
  377. config IR_SUNXI
  378. tristate "SUNXI IR remote control"
  379. depends on RC_CORE
  380. depends on ARCH_SUNXI || COMPILE_TEST
  381. help
  382. Say Y if you want to use sunXi internal IR Controller
  383. To compile this driver as a module, choose M here: the module will
  384. be called sunxi-ir.
  385. config IR_SERIAL
  386. tristate "Homebrew Serial Port Receiver"
  387. depends on RC_CORE
  388. help
  389. Say Y if you want to use Homebrew Serial Port Receivers and
  390. Transceivers.
  391. To compile this driver as a module, choose M here: the module will
  392. be called serial-ir.
  393. config IR_SERIAL_TRANSMITTER
  394. bool "Serial Port Transmitter"
  395. depends on IR_SERIAL
  396. help
  397. Serial Port Transmitter support
  398. config IR_SIR
  399. tristate "Built-in SIR IrDA port"
  400. depends on RC_CORE
  401. help
  402. Say Y if you want to use a IrDA SIR port Transceivers.
  403. To compile this driver as a module, choose M here: the module will
  404. be called sir-ir.
  405. config IR_TANGO
  406. tristate "Sigma Designs SMP86xx IR decoder"
  407. depends on RC_CORE
  408. depends on ARCH_TANGO || COMPILE_TEST
  409. help
  410. Adds support for the HW IR decoder embedded on Sigma Designs
  411. Tango-based systems (SMP86xx, SMP87xx).
  412. The HW decoder supports NEC, RC-5, RC-6 IR protocols.
  413. When compiled as a module, look for tango-ir.
  414. config RC_XBOX_DVD
  415. tristate "Xbox DVD Movie Playback Kit"
  416. depends on RC_CORE
  417. depends on USB_ARCH_HAS_HCD
  418. select USB
  419. help
  420. Say Y here if you want to use the Xbox DVD Movie Playback Kit.
  421. These are IR remotes with USB receivers for the Original Xbox (2001).
  422. To compile this driver as a module, choose M here: the module will be
  423. called xbox_remote.
  424. config IR_ZX
  425. tristate "ZTE ZX IR remote control"
  426. depends on RC_CORE
  427. depends on ARCH_ZX || COMPILE_TEST
  428. help
  429. Say Y if you want to use the IR remote control available
  430. on ZTE ZX family SoCs.
  431. To compile this driver as a module, choose M here: the
  432. module will be called zx-irdec.
  433. config IR_TOY
  434. tristate "Infrared Toy and IR Droid"
  435. depends on RC_CORE
  436. depends on USB_ARCH_HAS_HCD
  437. help
  438. Say Y here if you want to use the Infrared Toy or IR Droid, USB
  439. versions.
  440. To compile this driver as a module, choose M here: the module will be
  441. called ir_toy.
  442. endif #RC_DEVICES
  443. endif #RC_CORE