18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * E3C EC168 DVB USB driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2009 Antti Palosaari <crope@iki.fi>
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef EC168_H
98c2ecf20Sopenharmony_ci#define EC168_H
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include "dvb_usb.h"
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#define EC168_USB_TIMEOUT 1000
148c2ecf20Sopenharmony_ci#define EC168_FIRMWARE "dvb-usb-ec168.fw"
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_cistruct ec168_req {
178c2ecf20Sopenharmony_ci	u8  cmd;       /* [1] */
188c2ecf20Sopenharmony_ci	u16 value;     /* [2|3] */
198c2ecf20Sopenharmony_ci	u16 index;     /* [4|5] */
208c2ecf20Sopenharmony_ci	u16 size;      /* [6|7] */
218c2ecf20Sopenharmony_ci	u8  *data;
228c2ecf20Sopenharmony_ci};
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_cienum ec168_cmd {
258c2ecf20Sopenharmony_ci	DOWNLOAD_FIRMWARE    = 0x00,
268c2ecf20Sopenharmony_ci	CONFIG               = 0x01,
278c2ecf20Sopenharmony_ci	DEMOD_RW             = 0x03,
288c2ecf20Sopenharmony_ci	GPIO                 = 0x04,
298c2ecf20Sopenharmony_ci	STREAMING_CTRL       = 0x10,
308c2ecf20Sopenharmony_ci	READ_I2C             = 0x20,
318c2ecf20Sopenharmony_ci	WRITE_I2C            = 0x21,
328c2ecf20Sopenharmony_ci	HID_DOWNLOAD         = 0x30,
338c2ecf20Sopenharmony_ci	GET_CONFIG,
348c2ecf20Sopenharmony_ci	SET_CONFIG,
358c2ecf20Sopenharmony_ci	READ_DEMOD,
368c2ecf20Sopenharmony_ci	WRITE_DEMOD,
378c2ecf20Sopenharmony_ci};
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci#endif
40