^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Intel CE6230 DVB USB driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright (C) 2009 Antti Palosaari <crope@iki.fi>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #ifndef CE6230_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define CE6230_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #include "dvb_usb.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #include "zl10353.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include "mxl5005s.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define CE6230_USB_TIMEOUT 1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) struct usb_req {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) u8 cmd; /* [1] */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) u16 value; /* [2|3] */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) u16 index; /* [4|5] */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) u16 data_len; /* [6|7] */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) u8 *data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) enum ce6230_cmd {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) CONFIG_READ = 0xd0, /* rd 0 (unclear) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) UNKNOWN_WRITE = 0xc7, /* wr 7 (unclear) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) I2C_READ = 0xd9, /* rd 9 (unclear) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) I2C_WRITE = 0xca, /* wr a */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) DEMOD_READ = 0xdb, /* rd b */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) DEMOD_WRITE = 0xcc, /* wr c */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) REG_READ = 0xde, /* rd e */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) REG_WRITE = 0xcf, /* wr f */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #endif