162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/* Common header-file of the Linux driver for the TwinhanDTV Alpha/MagicBoxII
362306a36Sopenharmony_ci * USB2.0 DVB-T receiver.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de)
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Thanks to Twinhan who kindly provided hardware and information.
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci#ifndef _DVB_USB_VP7045_H_
1262306a36Sopenharmony_ci#define _DVB_USB_VP7045_H_
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#define DVB_USB_LOG_PREFIX "vp7045"
1562306a36Sopenharmony_ci#include "dvb-usb.h"
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci/* vp7045 commands */
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci/* Twinhan Vendor requests */
2062306a36Sopenharmony_ci#define TH_COMMAND_IN                     0xC0
2162306a36Sopenharmony_ci#define TH_COMMAND_OUT                    0xC1
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci/* command bytes */
2462306a36Sopenharmony_ci#define TUNER_REG_READ                    0x03
2562306a36Sopenharmony_ci#define TUNER_REG_WRITE                   0x04
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci#define RC_VAL_READ                       0x05
2862306a36Sopenharmony_ci #define RC_NO_KEY                        0x44
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci#define SET_TUNER_POWER                   0x06
3162306a36Sopenharmony_ci#define CHECK_TUNER_POWER                 0x12
3262306a36Sopenharmony_ci #define Tuner_Power_ON                   1
3362306a36Sopenharmony_ci #define Tuner_Power_OFF                  0
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#define GET_USB_SPEED                     0x07
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci#define LOCK_TUNER_COMMAND                0x09
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci#define TUNER_SIGNAL_READ                 0x0A
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci/* FX2 eeprom */
4262306a36Sopenharmony_ci#define SET_EE_VALUE                      0x10
4362306a36Sopenharmony_ci#define GET_EE_VALUE                      0x11
4462306a36Sopenharmony_ci #define FX2_ID_ADDR                      0x00
4562306a36Sopenharmony_ci #define VID_MSB_ADDR                     0x02
4662306a36Sopenharmony_ci #define VID_LSB_ADDR                     0x01
4762306a36Sopenharmony_ci #define PID_MSB_ADDR                     0x04
4862306a36Sopenharmony_ci #define PID_LSB_ADDR                     0x03
4962306a36Sopenharmony_ci #define MAC_0_ADDR                       0x07
5062306a36Sopenharmony_ci #define MAC_1_ADDR                       0x08
5162306a36Sopenharmony_ci #define MAC_2_ADDR                       0x09
5262306a36Sopenharmony_ci #define MAC_3_ADDR                       0x0a
5362306a36Sopenharmony_ci #define MAC_4_ADDR                       0x0b
5462306a36Sopenharmony_ci #define MAC_5_ADDR                       0x0c
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci#define RESET_FX2                         0x13
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci#define FW_VERSION_READ                   0x0B
5962306a36Sopenharmony_ci#define VENDOR_STRING_READ                0x0C
6062306a36Sopenharmony_ci#define PRODUCT_STRING_READ               0x0D
6162306a36Sopenharmony_ci#define FW_BCD_VERSION_READ               0x14
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciextern struct dvb_frontend * vp7045_fe_attach(struct dvb_usb_device *d);
6462306a36Sopenharmony_ciextern int vp7045_usb_op(struct dvb_usb_device *d, u8 cmd, u8 *out, int outlen, u8 *in, int inlen,int msec);
6562306a36Sopenharmony_ciextern u8 vp7045_read_reg(struct dvb_usb_device *d, u8 reg);
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci#endif
68