162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/* DVB USB compliant linux driver for Technotrend DVB USB boxes and clones
362306a36Sopenharmony_ci * (e.g. Pinnacle 400e DVB-S USB2.0).
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2002 Holger Waechtler <holger@convergence.de>
662306a36Sopenharmony_ci * Copyright (c) 2003 Felix Domke <tmbinc@elitedvb.net>
762306a36Sopenharmony_ci * Copyright (C) 2005-6 Patrick Boettcher <pb@linuxtv.de>
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci#ifndef _DVB_USB_TTUSB2_H_
1262306a36Sopenharmony_ci#define _DVB_USB_TTUSB2_H_
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/* TTUSB protocol
1562306a36Sopenharmony_ci *
1662306a36Sopenharmony_ci * always to messages (out/in)
1762306a36Sopenharmony_ci * out message:
1862306a36Sopenharmony_ci * 0xaa <id> <cmdbyte> <datalen> <data...>
1962306a36Sopenharmony_ci *
2062306a36Sopenharmony_ci * in message (complete block is always 0x40 bytes long)
2162306a36Sopenharmony_ci * 0x55 <id> <cmdbyte> <datalen> <data...>
2262306a36Sopenharmony_ci *
2362306a36Sopenharmony_ci * id is incremented for each transaction
2462306a36Sopenharmony_ci */
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci#define CMD_DSP_DOWNLOAD    0x13
2762306a36Sopenharmony_ci/* out data: <byte>[28]
2862306a36Sopenharmony_ci * last block must be empty */
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci#define CMD_DSP_BOOT        0x14
3162306a36Sopenharmony_ci/* out data: nothing */
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#define CMD_POWER           0x15
3462306a36Sopenharmony_ci/* out data: <on=1/off=0> */
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci#define CMD_LNB             0x16
3762306a36Sopenharmony_ci/* out data: <power=1> <18V=0,13V=1> <tone> <??=1> <??=1> */
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci#define CMD_GET_VERSION     0x17
4062306a36Sopenharmony_ci/* in  data: <version_byte>[5] */
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci#define CMD_DISEQC          0x18
4362306a36Sopenharmony_ci/* out data: <master=0xff/burst=??> <cmdlen> <cmdbytes>[cmdlen] */
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci#define CMD_PID_ENABLE      0x22
4662306a36Sopenharmony_ci/* out data: <index> <type: ts=1/sec=2> <pid msb> <pid lsb> */
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci#define CMD_PID_DISABLE     0x23
4962306a36Sopenharmony_ci/* out data: <index> */
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci#define CMD_FILTER_ENABLE   0x24
5262306a36Sopenharmony_ci/* out data: <index> <pid_idx> <filter>[12] <mask>[12] */
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci#define CMD_FILTER_DISABLE  0x25
5562306a36Sopenharmony_ci/* out data: <index> */
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci#define CMD_GET_DSP_VERSION 0x26
5862306a36Sopenharmony_ci/* in  data: <version_byte>[28] */
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci#define CMD_I2C_XFER        0x31
6162306a36Sopenharmony_ci/* out data: <addr << 1> <sndlen> <rcvlen> <data>[sndlen]
6262306a36Sopenharmony_ci * in  data: <addr << 1> <sndlen> <rcvlen> <data>[rcvlen] */
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci#define CMD_I2C_BITRATE     0x32
6562306a36Sopenharmony_ci/* out data: <default=0> */
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci#endif
68