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