diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2008-11-15 11:13:07 +0100 |
---|---|---|
committer | Patrick Boettcher <pb@linuxtv.org> | 2008-11-15 11:13:07 +0100 |
commit | 0a07568bd0fb79c5dbd57d88a42e771cb6224f05 (patch) | |
tree | 7bed0ad62fc4b2596aa9c746b96ad312ebd261ae /linux/drivers/media/dvb/dvb-usb/dib0700.h | |
parent | 60c3a3c2818fb9a088b9f2ea033fbc671fb3abc8 (diff) | |
download | mediapointer-dvb-s2-0a07568bd0fb79c5dbd57d88a42e771cb6224f05.tar.gz mediapointer-dvb-s2-0a07568bd0fb79c5dbd57d88a42e771cb6224f05.tar.bz2 |
Make dib0700 remote control support work with firmware v1.20
From: Devin Heitmueller <devin.heitmueller@gmail.com>
The format for reading the IR controller changed in firmware 1.20. It now
provides the events on bulk endpoint 1 instead of using a control request.
Support the new format, providing backward compatibility for users who might
be using older firmware.
Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing the
required information on how the version 1.20 firmware works.
Priority: high
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb/dvb-usb/dib0700.h')
-rw-r--r-- | linux/drivers/media/dvb/dvb-usb/dib0700.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-usb/dib0700.h b/linux/drivers/media/dvb/dvb-usb/dib0700.h index 739193943..8b544fe79 100644 --- a/linux/drivers/media/dvb/dvb-usb/dib0700.h +++ b/linux/drivers/media/dvb/dvb-usb/dib0700.h @@ -22,7 +22,7 @@ extern int dvb_usb_dib0700_debug; #define REQUEST_I2C_READ 0x2 #define REQUEST_I2C_WRITE 0x3 -#define REQUEST_POLL_RC 0x4 +#define REQUEST_POLL_RC 0x4 /* deprecated in firmware v1.20 */ #define REQUEST_JUMPRAM 0x8 #define REQUEST_SET_CLOCK 0xB #define REQUEST_SET_GPIO 0xC @@ -40,11 +40,14 @@ struct dib0700_state { u16 mt2060_if1[2]; u8 rc_toggle; u8 rc_counter; + u8 rc_func_version; u8 is_dib7000pc; u8 fw_use_new_i2c_api; u8 disable_streaming_master_mode; }; +extern int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, + u32 *romversion, u32 *ramversion, u32 *fwtype); extern int dib0700_set_gpio(struct dvb_usb_device *, enum dib07x0_gpios gpio, u8 gpio_dir, u8 gpio_val); extern int dib0700_ctrl_clock(struct dvb_usb_device *d, u32 clk_MHz, u8 clock_out_gp3); extern int dib0700_ctrl_rd(struct dvb_usb_device *d, u8 *tx, u8 txlen, u8 *rx, u8 rxlen); |