xref: /openbmc/linux/drivers/media/usb/dvb-usb/ttusb2.h (revision 577a7ad3)
1a10e763bSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2786baecfSMauro Carvalho Chehab /* DVB USB compliant linux driver for Technotrend DVB USB boxes and clones
3786baecfSMauro Carvalho Chehab  * (e.g. Pinnacle 400e DVB-S USB2.0).
4786baecfSMauro Carvalho Chehab  *
5786baecfSMauro Carvalho Chehab  * Copyright (c) 2002 Holger Waechtler <holger@convergence.de>
6786baecfSMauro Carvalho Chehab  * Copyright (c) 2003 Felix Domke <tmbinc@elitedvb.net>
7786baecfSMauro Carvalho Chehab  * Copyright (C) 2005-6 Patrick Boettcher <pb@linuxtv.de>
8786baecfSMauro Carvalho Chehab  *
9577a7ad3SMauro Carvalho Chehab  * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
10786baecfSMauro Carvalho Chehab  */
11786baecfSMauro Carvalho Chehab #ifndef _DVB_USB_TTUSB2_H_
12786baecfSMauro Carvalho Chehab #define _DVB_USB_TTUSB2_H_
13786baecfSMauro Carvalho Chehab 
14786baecfSMauro Carvalho Chehab /* TTUSB protocol
15786baecfSMauro Carvalho Chehab  *
16786baecfSMauro Carvalho Chehab  * always to messages (out/in)
17786baecfSMauro Carvalho Chehab  * out message:
18786baecfSMauro Carvalho Chehab  * 0xaa <id> <cmdbyte> <datalen> <data...>
19786baecfSMauro Carvalho Chehab  *
20786baecfSMauro Carvalho Chehab  * in message (complete block is always 0x40 bytes long)
21786baecfSMauro Carvalho Chehab  * 0x55 <id> <cmdbyte> <datalen> <data...>
22786baecfSMauro Carvalho Chehab  *
23786baecfSMauro Carvalho Chehab  * id is incremented for each transaction
24786baecfSMauro Carvalho Chehab  */
25786baecfSMauro Carvalho Chehab 
26786baecfSMauro Carvalho Chehab #define CMD_DSP_DOWNLOAD    0x13
27786baecfSMauro Carvalho Chehab /* out data: <byte>[28]
28786baecfSMauro Carvalho Chehab  * last block must be empty */
29786baecfSMauro Carvalho Chehab 
30786baecfSMauro Carvalho Chehab #define CMD_DSP_BOOT        0x14
31786baecfSMauro Carvalho Chehab /* out data: nothing */
32786baecfSMauro Carvalho Chehab 
33786baecfSMauro Carvalho Chehab #define CMD_POWER           0x15
34786baecfSMauro Carvalho Chehab /* out data: <on=1/off=0> */
35786baecfSMauro Carvalho Chehab 
36786baecfSMauro Carvalho Chehab #define CMD_LNB             0x16
37786baecfSMauro Carvalho Chehab /* out data: <power=1> <18V=0,13V=1> <tone> <??=1> <??=1> */
38786baecfSMauro Carvalho Chehab 
39786baecfSMauro Carvalho Chehab #define CMD_GET_VERSION     0x17
40786baecfSMauro Carvalho Chehab /* in  data: <version_byte>[5] */
41786baecfSMauro Carvalho Chehab 
42786baecfSMauro Carvalho Chehab #define CMD_DISEQC          0x18
43786baecfSMauro Carvalho Chehab /* out data: <master=0xff/burst=??> <cmdlen> <cmdbytes>[cmdlen] */
44786baecfSMauro Carvalho Chehab 
45786baecfSMauro Carvalho Chehab #define CMD_PID_ENABLE      0x22
46786baecfSMauro Carvalho Chehab /* out data: <index> <type: ts=1/sec=2> <pid msb> <pid lsb> */
47786baecfSMauro Carvalho Chehab 
48786baecfSMauro Carvalho Chehab #define CMD_PID_DISABLE     0x23
49786baecfSMauro Carvalho Chehab /* out data: <index> */
50786baecfSMauro Carvalho Chehab 
51786baecfSMauro Carvalho Chehab #define CMD_FILTER_ENABLE   0x24
52786baecfSMauro Carvalho Chehab /* out data: <index> <pid_idx> <filter>[12] <mask>[12] */
53786baecfSMauro Carvalho Chehab 
54786baecfSMauro Carvalho Chehab #define CMD_FILTER_DISABLE  0x25
55786baecfSMauro Carvalho Chehab /* out data: <index> */
56786baecfSMauro Carvalho Chehab 
57786baecfSMauro Carvalho Chehab #define CMD_GET_DSP_VERSION 0x26
58786baecfSMauro Carvalho Chehab /* in  data: <version_byte>[28] */
59786baecfSMauro Carvalho Chehab 
60786baecfSMauro Carvalho Chehab #define CMD_I2C_XFER        0x31
61786baecfSMauro Carvalho Chehab /* out data: <addr << 1> <sndlen> <rcvlen> <data>[sndlen]
62786baecfSMauro Carvalho Chehab  * in  data: <addr << 1> <sndlen> <rcvlen> <data>[rcvlen] */
63786baecfSMauro Carvalho Chehab 
64786baecfSMauro Carvalho Chehab #define CMD_I2C_BITRATE     0x32
65786baecfSMauro Carvalho Chehab /* out data: <default=0> */
66786baecfSMauro Carvalho Chehab 
67786baecfSMauro Carvalho Chehab #endif
68