18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/* DVB USB compliant linux driver for Technotrend DVB USB boxes and clones
38c2ecf20Sopenharmony_ci * (e.g. Pinnacle 400e DVB-S USB2.0).
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (c) 2002 Holger Waechtler <holger@convergence.de>
68c2ecf20Sopenharmony_ci * Copyright (c) 2003 Felix Domke <tmbinc@elitedvb.net>
78c2ecf20Sopenharmony_ci * Copyright (C) 2005-6 Patrick Boettcher <pb@linuxtv.de>
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
108c2ecf20Sopenharmony_ci */
118c2ecf20Sopenharmony_ci#ifndef _DVB_USB_TTUSB2_H_
128c2ecf20Sopenharmony_ci#define _DVB_USB_TTUSB2_H_
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci/* TTUSB protocol
158c2ecf20Sopenharmony_ci *
168c2ecf20Sopenharmony_ci * always to messages (out/in)
178c2ecf20Sopenharmony_ci * out message:
188c2ecf20Sopenharmony_ci * 0xaa <id> <cmdbyte> <datalen> <data...>
198c2ecf20Sopenharmony_ci *
208c2ecf20Sopenharmony_ci * in message (complete block is always 0x40 bytes long)
218c2ecf20Sopenharmony_ci * 0x55 <id> <cmdbyte> <datalen> <data...>
228c2ecf20Sopenharmony_ci *
238c2ecf20Sopenharmony_ci * id is incremented for each transaction
248c2ecf20Sopenharmony_ci */
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#define CMD_DSP_DOWNLOAD    0x13
278c2ecf20Sopenharmony_ci/* out data: <byte>[28]
288c2ecf20Sopenharmony_ci * last block must be empty */
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci#define CMD_DSP_BOOT        0x14
318c2ecf20Sopenharmony_ci/* out data: nothing */
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci#define CMD_POWER           0x15
348c2ecf20Sopenharmony_ci/* out data: <on=1/off=0> */
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci#define CMD_LNB             0x16
378c2ecf20Sopenharmony_ci/* out data: <power=1> <18V=0,13V=1> <tone> <??=1> <??=1> */
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci#define CMD_GET_VERSION     0x17
408c2ecf20Sopenharmony_ci/* in  data: <version_byte>[5] */
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci#define CMD_DISEQC          0x18
438c2ecf20Sopenharmony_ci/* out data: <master=0xff/burst=??> <cmdlen> <cmdbytes>[cmdlen] */
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci#define CMD_PID_ENABLE      0x22
468c2ecf20Sopenharmony_ci/* out data: <index> <type: ts=1/sec=2> <pid msb> <pid lsb> */
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci#define CMD_PID_DISABLE     0x23
498c2ecf20Sopenharmony_ci/* out data: <index> */
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci#define CMD_FILTER_ENABLE   0x24
528c2ecf20Sopenharmony_ci/* out data: <index> <pid_idx> <filter>[12] <mask>[12] */
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci#define CMD_FILTER_DISABLE  0x25
558c2ecf20Sopenharmony_ci/* out data: <index> */
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci#define CMD_GET_DSP_VERSION 0x26
588c2ecf20Sopenharmony_ci/* in  data: <version_byte>[28] */
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci#define CMD_I2C_XFER        0x31
618c2ecf20Sopenharmony_ci/* out data: <addr << 1> <sndlen> <rcvlen> <data>[sndlen]
628c2ecf20Sopenharmony_ci * in  data: <addr << 1> <sndlen> <rcvlen> <data>[rcvlen] */
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci#define CMD_I2C_BITRATE     0x32
658c2ecf20Sopenharmony_ci/* out data: <default=0> */
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci#endif
68