ce6230.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * Intel CE6230 DVB USB driver
  3. *
  4. * Copyright (C) 2009 Antti Palosaari <crope@iki.fi>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation; either version 2 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program; if not, write to the Free Software
  18. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19. *
  20. */
  21. #ifndef CE6230_H
  22. #define CE6230_H
  23. #include "dvb_usb.h"
  24. #include "zl10353.h"
  25. #include "mxl5005s.h"
  26. #define ce6230_debug_dump(r, t, v, i, b, l) { \
  27. char *direction; \
  28. if (t == (USB_TYPE_VENDOR | USB_DIR_OUT)) \
  29. direction = ">>>"; \
  30. else \
  31. direction = "<<<"; \
  32. pr_debug("%s: %02x %02x %02x %02x %02x %02x %02x %02x %s [%d bytes]\n", \
  33. __func__, t, r, v & 0xff, v >> 8, i & 0xff, i >> 8, \
  34. l & 0xff, l >> 8, direction, l); \
  35. }
  36. #define CE6230_USB_TIMEOUT 1000
  37. struct usb_req {
  38. u8 cmd; /* [1] */
  39. u16 value; /* [2|3] */
  40. u16 index; /* [4|5] */
  41. u16 data_len; /* [6|7] */
  42. u8 *data;
  43. };
  44. enum ce6230_cmd {
  45. CONFIG_READ = 0xd0, /* rd 0 (unclear) */
  46. UNKNOWN_WRITE = 0xc7, /* wr 7 (unclear) */
  47. I2C_READ = 0xd9, /* rd 9 (unclear) */
  48. I2C_WRITE = 0xca, /* wr a */
  49. DEMOD_READ = 0xdb, /* rd b */
  50. DEMOD_WRITE = 0xcc, /* wr c */
  51. REG_READ = 0xde, /* rd e */
  52. REG_WRITE = 0xcf, /* wr f */
  53. };
  54. #endif