Home
last modified time | relevance | path

Searched full:ir (Results 1 – 25 of 747) sorted by relevance

12345678910>>...30

/Linux-v5.10/drivers/media/rc/
Diguanair.c3 * IguanaWorks USB IR Transceiver support
79 static void process_ir_data(struct iguanair *ir, unsigned len) in process_ir_data() argument
81 if (len >= 4 && ir->buf_in[0] == 0 && ir->buf_in[1] == 0) { in process_ir_data()
82 switch (ir->buf_in[3]) { in process_ir_data()
85 ir->version = (ir->buf_in[5] << 8) | in process_ir_data()
86 ir->buf_in[4]; in process_ir_data()
87 complete(&ir->completion); in process_ir_data()
92 ir->bufsize = ir->buf_in[4]; in process_ir_data()
93 complete(&ir->completion); in process_ir_data()
98 ir->cycle_overhead = ir->buf_in[5]; in process_ir_data()
[all …]
Dmtk-cir.c3 * Driver for Mediatek IR Receiver Controller
17 /* Register to enable PWM and IR */
20 /* Bit to enable IR pulse width detection */
25 * indicating IR receiving completion and then making IRQ fires
29 /* Bit to enable IR hardware function */
32 /* Bit to restart IR receiving */
38 /* IR threshold */
51 /* Indicate the end of IR message */
70 /* Register to enable IR interrupt */
72 /* Register to ack IR interrupt */
[all …]
Dsunxi-cir.c3 * Driver for Allwinner sunXi IR controller
8 * Based on sun5i-ir.c:
20 #define SUNXI_IR_DEV "sunxi-ir"
23 /* IR Control */
61 #define REG_RXSTA_GET_AC(val) (((val) >> 8) & (ir->fifo_size * 2 - 1))
65 /* IR Sample Config */
109 struct sunxi_ir *ir = dev_id; in sunxi_ir_irq() local
112 spin_lock(&ir->ir_lock); in sunxi_ir_irq()
114 status = readl(ir->base + SUNXI_IR_RXSTA_REG); in sunxi_ir_irq()
117 writel(status | REG_RXSTA_CLEARALL, ir->base + SUNXI_IR_RXSTA_REG); in sunxi_ir_irq()
[all …]
Dmceusb.c14 * Initial port from lirc driver to ir-core drivery by Jarod, based
15 * partially on a port to an earlier proposed IR infrastructure by
17 * incoming IR buffer parsing routines.
22 * Windows-Media-Center-RC-IR-Collection-Green-Button-Specification-03-08-2011-V2.pdf
45 #define MCE_IRBUF_SIZE 128 /* TX IR buffer length */
50 #define MCE_IRDATA_TRAILER 0x80 /* End of IR data */
58 * The interface between the host and the IR hardware is command-response
76 #define MCE_CMD_PORT_IR 0x9f /* IR-related cmd/rsp */
77 #define MCE_CMD_PORT_SYS 0xff /* System (non-IR) device cmd/rsp */
138 * then we're looking at a raw IR data sample */
[all …]
Digorplugusb.c3 * IgorPlug-USB IR Receiver
21 #define DRIVER_DESC "IgorPlug-USB IR Receiver"
46 static void igorplugusb_cmd(struct igorplugusb *ir, int cmd);
48 static void igorplugusb_irdata(struct igorplugusb *ir, unsigned len) in igorplugusb_irdata() argument
53 dev_dbg(ir->dev, "irdata: %*ph (len=%u)", len, ir->buf_in, len); in igorplugusb_irdata()
61 overflow = ir->buf_in[2]; in igorplugusb_irdata()
65 dev_err(ir->dev, "receive overflow invalid: %u", overflow); in igorplugusb_irdata()
68 dev_warn(ir->dev, "receive overflow, at least %u lost", in igorplugusb_irdata()
72 rawir.duration = ir->buf_in[i] * 85; in igorplugusb_irdata()
75 ir_raw_event_store_with_filter(ir->rc, &rawir); in igorplugusb_irdata()
[all …]
Dmeson-ir.c3 * Driver for Amlogic Meson IR remote receiver
20 #define DRIVER_NAME "meson-ir"
68 static void meson_ir_set_mask(struct meson_ir *ir, unsigned int reg, in meson_ir_set_mask() argument
73 data = readl(ir->reg + reg); in meson_ir_set_mask()
76 writel(data, ir->reg + reg); in meson_ir_set_mask()
81 struct meson_ir *ir = dev_id; in meson_ir_irq() local
85 spin_lock(&ir->lock); in meson_ir_irq()
87 duration = readl_relaxed(ir->reg + IR_DEC_REG1); in meson_ir_irq()
91 status = readl_relaxed(ir->reg + IR_DEC_STATUS); in meson_ir_irq()
94 ir_raw_event_store_with_timeout(ir->rc, &rawir); in meson_ir_irq()
[all …]
Dtango-ir.c15 #define DRIVER_NAME "tango-ir"
55 static void tango_ir_handle_nec(struct tango_ir *ir) in tango_ir_handle_nec() argument
60 v = readl_relaxed(ir->rc5_base + IR_NEC_DATA); in tango_ir_handle_nec()
62 rc_repeat(ir->rc); in tango_ir_handle_nec()
67 rc_keydown(ir->rc, proto, code, 0); in tango_ir_handle_nec()
70 static void tango_ir_handle_rc5(struct tango_ir *ir) in tango_ir_handle_rc5() argument
74 data = readl_relaxed(ir->rc5_base + IR_RC5_DATA); in tango_ir_handle_rc5()
84 rc_keydown(ir->rc, RC_PROTO_RC5, code, toggle); in tango_ir_handle_rc5()
87 static void tango_ir_handle_rc6(struct tango_ir *ir) in tango_ir_handle_rc6() argument
91 data0 = readl_relaxed(ir->rc6_base + RC6_DATA0); in tango_ir_handle_rc6()
[all …]
DKconfig9 standalone IR receivers/transmitters, and RF receivers.
12 if you don't need IR, as otherwise, you may not be able to
15 Say Y when you have a TV or an IR device.
26 passes raw IR to and from userspace, which is needed for
27 IR transmitting (aka "blasting") and for the lirc daemon.
36 syscall command BPF_PROG_ATTACH. This is supported for raw IR
39 These eBPF programs can be used to decode IR into scancodes, for
40 IR protocols not supported by the kernel decoders.
48 tristate "Enable IR raw decoder for the NEC protocol"
53 Enable this option if you have IR with NEC protocol, and
[all …]
DMakefile6 rc-core-y := rc-main.o rc-ir-raw.o
9 obj-$(CONFIG_IR_NEC_DECODER) += ir-nec-decoder.o
10 obj-$(CONFIG_IR_RC5_DECODER) += ir-rc5-decoder.o
11 obj-$(CONFIG_IR_RC6_DECODER) += ir-rc6-decoder.o
12 obj-$(CONFIG_IR_JVC_DECODER) += ir-jvc-decoder.o
13 obj-$(CONFIG_IR_SONY_DECODER) += ir-sony-decoder.o
14 obj-$(CONFIG_IR_SANYO_DECODER) += ir-sanyo-decoder.o
15 obj-$(CONFIG_IR_SHARP_DECODER) += ir-sharp-decoder.o
16 obj-$(CONFIG_IR_MCE_KBD_DECODER) += ir-mce_kbd-decoder.o
17 obj-$(CONFIG_IR_XMP_DECODER) += ir-xmp-decoder.o
[all …]
/Linux-v5.10/drivers/media/usb/tm6000/
Dtm6000-input.c26 MODULE_PARM_DESC(enable_ir, "enable ir (default is enable)");
30 MODULE_PARM_DESC(ir_clock_mhz, "ir clock, in MHz");
39 printk(KERN_DEBUG "%s/ir: " fmt, ir->name , ## arg); \
60 /* IR device properties */
66 struct tm6000_IR *ir = dev->ir; in tm6000_ir_wait() local
68 if (!dev->ir) in tm6000_ir_wait()
71 dprintk(2, "%s: %i\n",__func__, ir->wait); in tm6000_ir_wait()
74 ir->wait = 1; in tm6000_ir_wait()
76 ir->wait = 0; in tm6000_ir_wait()
79 static int tm6000_ir_config(struct tm6000_IR *ir) in tm6000_ir_config() argument
[all …]
/Linux-v5.10/drivers/media/pci/cx88/
Dcx88-input.c50 MODULE_PARM_DESC(ir_samplerate, "IR samplerate in kHz, 1 - 20, default 4");
53 module_param(ir_debug, int, 0644); /* debug level [IR] */
54 MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]");
58 printk(KERN_DEBUG "%s IR: " fmt, ir->core->name, ##arg);\
63 printk(KERN_DEBUG "cx88 IR: " fmt, ##arg); \
68 static void cx88_ir_handle_key(struct cx88_IR *ir) in cx88_ir_handle_key() argument
70 struct cx88_core *core = ir->core; in cx88_ir_handle_key()
74 gpio = cx_read(ir->gpio_addr); in cx88_ir_handle_key()
107 if (ir->polling) { in cx88_ir_handle_key()
108 if (ir->last_gpio == auxgpio) in cx88_ir_handle_key()
[all …]
/Linux-v5.10/drivers/media/usb/au0828/
Dau0828-input.c2 // handle au0828 IR remotes via linux kernel input layer.
36 int (*get_key_i2c)(struct au0828_rc *ir);
40 * AU8522 has a builtin IR receiver. Add functions to get IR from it
43 static int au8522_rc_write(struct au0828_rc *ir, u16 reg, u8 data) in au8522_rc_write() argument
47 struct i2c_msg msg = { .addr = ir->i2c_dev_addr, .flags = 0, in au8522_rc_write()
50 rc = i2c_transfer(ir->dev->i2c_client.adapter, &msg, 1); in au8522_rc_write()
58 static int au8522_rc_read(struct au0828_rc *ir, u16 reg, int val, in au8522_rc_read() argument
63 struct i2c_msg msg[2] = { { .addr = ir->i2c_dev_addr, .flags = 0, in au8522_rc_read()
65 { .addr = ir->i2c_dev_addr, .flags = I2C_M_RD, in au8522_rc_read()
75 rc = i2c_transfer(ir->dev->i2c_client.adapter, msg, 2); in au8522_rc_read()
[all …]
/Linux-v5.10/drivers/media/pci/bt8xx/
Dbttv-input.c42 struct bttv_ir *ir = btv->remote; in ir_handle_key() local
47 if (ir->polling) { in ir_handle_key()
48 if (ir->last_gpio == gpio) in ir_handle_key()
50 ir->last_gpio = gpio; in ir_handle_key()
54 data = ir_extract_bits(gpio, ir->mask_keycode); in ir_handle_key()
57 ir->polling ? "poll" : "irq", in ir_handle_key()
58 (gpio & ir->mask_keydown) ? " down" : "", in ir_handle_key()
59 (gpio & ir->mask_keyup) ? " up" : ""); in ir_handle_key()
61 if ((ir->mask_keydown && (gpio & ir->mask_keydown)) || in ir_handle_key()
62 (ir->mask_keyup && !(gpio & ir->mask_keyup))) { in ir_handle_key()
[all …]
/Linux-v5.10/drivers/media/pci/smipcie/
Dsmipcie-ir.c13 static void smi_ir_enableInterrupt(struct smi_rc *ir) in smi_ir_enableInterrupt() argument
15 struct smi_dev *dev = ir->dev; in smi_ir_enableInterrupt()
20 static void smi_ir_disableInterrupt(struct smi_rc *ir) in smi_ir_disableInterrupt() argument
22 struct smi_dev *dev = ir->dev; in smi_ir_disableInterrupt()
27 static void smi_ir_clearInterrupt(struct smi_rc *ir) in smi_ir_clearInterrupt() argument
29 struct smi_dev *dev = ir->dev; in smi_ir_clearInterrupt()
34 static void smi_ir_stop(struct smi_rc *ir) in smi_ir_stop() argument
36 struct smi_dev *dev = ir->dev; in smi_ir_stop()
38 smi_ir_disableInterrupt(ir); in smi_ir_stop()
59 static void smi_ir_decode(struct smi_rc *ir) in smi_ir_decode() argument
[all …]
/Linux-v5.10/drivers/media/i2c/
Dir-kbd-i2c.c4 * keyboard input driver for i2c IR remote controls
51 #include <media/i2c/ir-kbd-i2c.h>
59 static int get_key_haup_common(struct IR_i2c *ir, enum rc_proto *protocol, in get_key_haup_common() argument
65 /* poll IR chip */ in get_key_haup_common()
66 if (size != i2c_master_recv(ir->c, buf, size)) in get_key_haup_common()
96 dev_dbg(&ir->rc->dev, in get_key_haup_common()
97 "ir hauppauge (rc5): s%d r%d t%d dev=%d code=%d\n", in get_key_haup_common()
114 dev_dbg(&ir->rc->dev, in get_key_haup_common()
115 "ir hauppauge (rc6-mce): t%d vendor=%d dev=%d code=%d\n", in get_key_haup_common()
120 dev_dbg(&ir->rc->dev, in get_key_haup_common()
[all …]
/Linux-v5.10/drivers/media/rc/img-ir/
DMakefile2 img-ir-y := img-ir-core.o
3 img-ir-$(CONFIG_IR_IMG_RAW) += img-ir-raw.o
4 img-ir-$(CONFIG_IR_IMG_HW) += img-ir-hw.o
5 img-ir-$(CONFIG_IR_IMG_NEC) += img-ir-nec.o
6 img-ir-$(CONFIG_IR_IMG_JVC) += img-ir-jvc.o
7 img-ir-$(CONFIG_IR_IMG_SONY) += img-ir-sony.o
8 img-ir-$(CONFIG_IR_IMG_SHARP) += img-ir-sharp.o
9 img-ir-$(CONFIG_IR_IMG_SANYO) += img-ir-sanyo.o
10 img-ir-$(CONFIG_IR_IMG_RC5) += img-ir-rc5.o
11 img-ir-$(CONFIG_IR_IMG_RC6) += img-ir-rc6.o
[all …]
/Linux-v5.10/drivers/media/usb/em28xx/
Dem28xx-input.c3 // handle em28xx IR remotes via linux kernel input layer.
37 MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]");
43 dev_printk(KERN_DEBUG, &ir->dev->intf->dev, \
48 * Polling structure used by em28xx IR's
73 int (*get_key_i2c)(struct i2c_client *ir, enum rc_proto *protocol,
75 int (*get_key)(struct em28xx_IR *ir, struct em28xx_ir_poll_result *r);
79 * I2C IR based get keycodes - should be used with ir-kbd-i2c
88 /* poll IR chip */ in em28xx_get_key_terratec()
119 /* poll IR chip */ in em28xx_get_key_em_haup()
132 * The original Hauppauge Grey IR and another RC5 that uses addr=0x08 in em28xx_get_key_em_haup()
[all …]
/Linux-v5.10/drivers/media/pci/saa7134/
Dsaa7134-input.c4 * handle saa7134 IR remotes via linux kernel input layer.
24 MODULE_PARM_DESC(ir_debug,"enable debug messages [IR]");
34 #define ir_dbg(ir, fmt, arg...) do { \ argument
36 printk(KERN_DEBUG pr_fmt("ir %s: " fmt), ir->rc->device_name, \
47 struct saa7134_card_ir *ir = dev->remote; in build_key() local
62 if (ir->polling) { in build_key()
63 if (ir->last_gpio == gpio) in build_key()
65 ir->last_gpio = gpio; in build_key()
68 data = ir_extract_bits(gpio, ir->mask_keycode); in build_key()
70 gpio, ir->mask_keycode, data); in build_key()
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/media/
Dallwinner,sun4i-a10-ir.yaml4 $id: http://devicetree.org/schemas/media/allwinner,sun4i-a10-ir.yaml#
19 - const: allwinner,sun4i-a10-ir
20 - const: allwinner,sun5i-a13-ir
21 - const: allwinner,sun6i-a31-ir
23 - const: allwinner,sun8i-a83t-ir
24 - const: allwinner,sun6i-a31-ir
26 - const: allwinner,sun8i-r40-ir
27 - const: allwinner,sun6i-a31-ir
29 - const: allwinner,sun50i-a64-ir
30 - const: allwinner,sun6i-a31-ir
[all …]
/Linux-v5.10/arch/mips/math-emu/
Dcp1emu.c849 mips_instruction ir) in cop1_cfc() argument
854 switch (MIPSInst_RD(ir)) { in cop1_cfc()
858 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc()
868 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc()
876 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc()
887 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc()
898 if (MIPSInst_RT(ir)) in cop1_cfc()
899 xcp->regs[MIPSInst_RT(ir)] = value; in cop1_cfc()
906 mips_instruction ir) in cop1_ctc() argument
912 if (MIPSInst_RT(ir) == 0) in cop1_ctc()
[all …]
/Linux-v5.10/drivers/media/common/siano/
Dsmsir.c9 // - IR raw event decoding is now done at rc-core
34 ir_raw_event_store(coredev->ir.dev, &ev); in sms_ir_event()
36 ir_raw_event_handle(coredev->ir.dev); in sms_ir_event()
50 coredev->ir.controller = 0; /* Todo: vega/nova SPI number */ in sms_ir_init()
51 coredev->ir.timeout = US_TO_NS(IR_DEFAULT_TIMEOUT); in sms_ir_init()
52 pr_debug("IR port %d, timeout %d ms\n", in sms_ir_init()
53 coredev->ir.controller, coredev->ir.timeout); in sms_ir_init()
55 snprintf(coredev->ir.name, sizeof(coredev->ir.name), in sms_ir_init()
56 "SMS IR (%s)", sms_get_board(board_id)->name); in sms_ir_init()
58 strscpy(coredev->ir.phys, coredev->devpath, sizeof(coredev->ir.phys)); in sms_ir_init()
[all …]
/Linux-v5.10/Documentation/userspace-api/media/rc/
Dlirc-dev-intro.rst10 a bi-directional interface for transporting raw IR and decoded scancodes
13 file_operations defined on it. With respect to transporting raw IR and
17 raw IR into scancodes.
24 rc rc0: lirc_dev: driver mceusb registered at minor = 0, raw IR receiver, raw IR transmitter
36 - ir-ctl: can receive raw IR and transmit IR, as well as query LIRC
39 - ir-keytable: can load keymaps; allows you to set IR kernel protocols; load
40 BPF IR decoders and test IR decoding. Some BPF IR decoders are also
49 LIRC supports some modes of receiving and sending IR codes, as shown
58 This mode is for both sending and receiving IR.
62 set to the :ref:`IR protocol <Remote_controllers_Protocols>`, and all other
[all …]
/Linux-v5.10/arch/mips/kernel/
Dmips-r2-to-r6-emul.c76 * @ir: Instruction
78 static inline int mipsr6_emul(struct pt_regs *regs, u32 ir) in mipsr6_emul() argument
80 switch (MIPSInst_OPCODE(ir)) { in mipsr6_emul()
82 if (MIPSInst_RT(ir)) in mipsr6_emul()
83 regs->regs[MIPSInst_RT(ir)] = in mipsr6_emul()
84 (s32)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul()
85 (s32)MIPSInst_SIMM(ir); in mipsr6_emul()
91 if (MIPSInst_RT(ir)) in mipsr6_emul()
92 regs->regs[MIPSInst_RT(ir)] = in mipsr6_emul()
93 (s64)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul()
[all …]
/Linux-v5.10/arch/parisc/math-emu/
Dfpudispatch.c19 * emfpudispatch(ir, dummy1, dummy2, fpregs)
20 * fpudispatch(ir, excp_code, holder, fpregs)
182 fpudispatch(u_int ir, u_int excp_code, u_int holder, u_int fpregs[]) in fpudispatch() argument
194 class = get_class(ir); in fpudispatch()
197 subop = get_subop1_PA2_0(ir); in fpudispatch()
199 subop = get_subop1_PA1_1(ir); in fpudispatch()
202 subop = get_subop(ir); in fpudispatch()
209 return(decode_0c(ir,class,subop,fpregs)); in fpudispatch()
211 return(decode_0e(ir,class,subop,fpregs)); in fpudispatch()
213 return(decode_06(ir,fpregs)); in fpudispatch()
[all …]
/Linux-v5.10/drivers/media/pci/ttpci/
Dav7110_ir.c23 struct rc_dev *rcdev = av7110->ir.rcdev; in av7110_ir_handler()
28 dprintk(4, "ir command = %08x\n", ircom); in av7110_ir_handler()
31 switch (av7110->ir.ir_config) { in av7110_ir_handler()
62 dprintk(2, "unknown ir config %d\n", in av7110_ir_handler()
63 av7110->ir.ir_config); in av7110_ir_handler()
73 dprintk(4, "ir config = %08x\n", av7110->ir.ir_config); in av7110_set_ir_config()
76 av7110->ir.ir_config); in av7110_set_ir_config()
97 if (ir_config == av7110->ir.ir_config) in change_protocol()
100 av7110->ir.ir_config = ir_config; in change_protocol()
117 snprintf(av7110->ir.input_phys, sizeof(av7110->ir.input_phys), in av7110_ir_init()
[all …]

12345678910>>...30