summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/dvb-usb/dib0700.h
diff options
context:
space:
mode:
authorPatrick Boettcher <pb@linuxtv.org>2008-11-15 11:13:07 +0100
committerPatrick Boettcher <pb@linuxtv.org>2008-11-15 11:13:07 +0100
commit0a07568bd0fb79c5dbd57d88a42e771cb6224f05 (patch)
tree7bed0ad62fc4b2596aa9c746b96ad312ebd261ae /linux/drivers/media/dvb/dvb-usb/dib0700.h
parent60c3a3c2818fb9a088b9f2ea033fbc671fb3abc8 (diff)
downloadmediapointer-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.h5
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);