1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef _DVB_USB_M920X_H_
- #define _DVB_USB_M920X_H_
- #define DVB_USB_LOG_PREFIX "m920x"
- #include "dvb-usb.h"
- #define deb_rc(args...) dprintk(dvb_usb_m920x_debug,0x01,args)
- #define M9206_CORE 0x22
- #define M9206_RC_STATE 0xff51
- #define M9206_RC_KEY 0xff52
- #define M9206_RC_INIT1 0xff54
- #define M9206_RC_INIT2 0xff55
- #define M9206_FW_GO 0xff69
- #define M9206_I2C 0x23
- #define M9206_FILTER 0x25
- #define M9206_FW 0x30
- #define M9206_MAX_FILTERS 8
- /*
- sequences found in logs:
- [index value]
- 0x80 write addr
- (0x00 out byte)*
- 0x40 out byte
- 0x80 write addr
- (0x00 out byte)*
- 0x80 read addr
- (0x21 in byte)*
- 0x60 in byte
- this sequence works:
- 0x80 read addr
- (0x21 in byte)*
- 0x60 in byte
- _my guess_:
- 0x80: begin i2c transfer using address. value=address<<1|(reading?1:0)
- 0x00: write byte
- 0x21: read byte, more to follow
- 0x40: write last byte of message sequence
- 0x60: read last byte of message sequence
- */
- struct m9206_state {
- u16 filters[M9206_MAX_FILTERS];
- int filtering_enabled;
- int rep_count;
- };
- #endif
|