| #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 |