brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 2af9fed Raw
71 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _DVB_USB_DIGITV_H_3#define _DVB_USB_DIGITV_H_4 5#define DVB_USB_LOG_PREFIX "digitv"6#include "dvb-usb.h"7 8struct digitv_state {9	int is_nxt6000;10 11	unsigned char sndbuf[7];12	unsigned char rcvbuf[7];13};14 15/* protocol (from usblogging and the SDK:16 *17 * Always 7 bytes bulk message(s) for controlling18 *19 * First byte describes the command. Reads are 2 consecutive transfer (as always).20 *21 * General structure:22 *23 * write or first message of a read:24 * <cmdbyte> VV <len> B0 B1 B2 B325 *26 * second message of a read27 * <cmdbyte> VV <len> R0 R1 R2 R328 *29 * whereas 0 < len <= 430 *31 * I2C address is stored somewhere inside the device.32 *33 * 0x01 read from EEPROM34 *  VV = offset; B* = 0; R* = value(s)35 *36 * 0x02 read register of the COFDM37 *  VV = register; B* = 0; R* = value(s)38 *39 * 0x05 write register of the COFDM40 *  VV = register; B* = value(s);41 *42 * 0x06 write to the tuner (only for NXT6000)43 *  VV = 0; B* = PLL data; len = 4;44 *45 * 0x03 read remote control46 *  VV = 0; B* = 0; len = 4; R* = key47 *48 * 0x07 write to the remote (don't know why one should this, resetting ?)49 *  VV = 0; B* = key; len = 4;50 *51 * 0x08 write remote type52 *  VV = 0; B[0] = 0x01, len = 453 *54 * 0x09 write device init55 *  TODO56 */57#define USB_READ_EEPROM         158 59#define USB_READ_COFDM          260#define USB_WRITE_COFDM         561 62#define USB_WRITE_TUNER         663 64#define USB_READ_REMOTE         365#define USB_WRITE_REMOTE        766#define USB_WRITE_REMOTE_TYPE   867 68#define USB_DEV_INIT            969 70#endif71