diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2006-07-24 11:41:55 -0400 |
---|---|---|
committer | Michael Krufky <mkrufky@linuxtv.org> | 2006-07-24 11:41:55 -0400 |
commit | 56d40ce051f0d1ee88a7ab212aefd9b728f7ef4b (patch) | |
tree | 8a368f9686068e69e1a765a5bffed59bc28aa3d1 /linux/drivers/media/video/cx88/cx88-input.c | |
parent | db59f820f93562fa25bf5bee039df35dc162ebd6 (diff) | |
download | mediapointer-dvb-s2-56d40ce051f0d1ee88a7ab212aefd9b728f7ef4b.tar.gz mediapointer-dvb-s2-56d40ce051f0d1ee88a7ab212aefd9b728f7ef4b.tar.bz2 |
cx88: add support for Norwood PCI TV Tuner (non-pro)
From: Peter Naulls <peter@chocky.org>
This patch adds support for Norwood PCI TV Tuner (non-pro)
Signed-off-by: Peter Naulls <peter@chocky.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-input.c')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-input.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-input.c b/linux/drivers/media/video/cx88/cx88-input.c index 72d76ab56..18165e7cb 100644 --- a/linux/drivers/media/video/cx88/cx88-input.c +++ b/linux/drivers/media/video/cx88/cx88-input.c @@ -108,7 +108,15 @@ static void cx88_ir_handle_key(struct cx88_IR *ir) (gpio & ir->mask_keydown) ? " down" : "", (gpio & ir->mask_keyup) ? " up" : ""); - if (ir->mask_keydown) { + if (ir->core->board == CX88_BOARD_NORWOOD_MICRO) { + u32 gpio_key = cx_read(MO_GP0_IO); + + data = (data << 4) | ((gpio_key & 0xf0) >> 4); + + ir_input_keydown(ir->input, &ir->ir, data, data); + ir_input_nokey(ir->input, &ir->ir); + + } else if (ir->mask_keydown) { /* bit set on keydown */ if (gpio & ir->mask_keydown) { ir_input_keydown(ir->input, &ir->ir, data, data); @@ -249,6 +257,13 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) ir_type = IR_TYPE_PD; ir->sampling = 0xff00; /* address */ break; + case CX88_BOARD_NORWOOD_MICRO: + ir_codes = ir_codes_norwood; + ir->gpio_addr = MO_GP1_IO; + ir->mask_keycode = 0x0e; + ir->mask_keyup = 0x80; + ir->polling = 50; /* ms */ + break; case CX88_BOARD_NPGTECH_REALTV_TOP10FM: ir_codes = ir_codes_npgtech; ir->gpio_addr = MO_GP0_IO; |