1/*
2 * Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver
3 *
4 * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
5 *
6 *    This program is free software; you can redistribute it and/or modify
7 *    it under the terms of the GNU General Public License as published by
8 *    the Free Software Foundation; either version 2 of the License, or
9 *    (at your option) any later version.
10 *
11 *    This program is distributed in the hope that it will be useful,
12 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 *    GNU General Public License for more details.
15 */
16
17#ifndef SI2157_PRIV_H
18#define SI2157_PRIV_H
19
20#include <linux/firmware.h>
21#include "si2157.h"
22
23/* state struct */
24struct si2157_dev {
25	struct mutex i2c_mutex;
26	struct dvb_frontend *fe;
27	bool active;
28	bool fw_loaded;
29	bool inversion;
30	u8 chiptype;
31	u32 if_frequency;
32};
33
34#define SI2157_CHIPTYPE_SI2157 0
35#define SI2157_CHIPTYPE_SI2146 1
36
37/* firmware command struct */
38#define SI2157_ARGLEN      30
39struct si2157_cmd {
40	u8 args[SI2157_ARGLEN];
41	unsigned wlen;
42	unsigned rlen;
43};
44
45#define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw"
46
47#endif
48