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