Merge tag 'pci-v4.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
[sfrench/cifs-2.6.git] / drivers / media / dvb-frontends / sp2_priv.h
1 /*
2  * CIMaX SP2/HF CI driver
3  *
4  * Copyright (C) 2014 Olli Salonen <olli.salonen@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 SP2_PRIV_H
18 #define SP2_PRIV_H
19
20 #include "sp2.h"
21 #include <media/dvb_frontend.h>
22
23 /* state struct */
24 struct sp2 {
25         int status;
26         struct i2c_client *client;
27         struct dvb_adapter *dvb_adap;
28         struct dvb_ca_en50221 ca;
29         int module_access_type;
30         unsigned long next_status_checked_time;
31         void *priv;
32         void *ci_control;
33 };
34
35 #define SP2_CI_ATTR_ACS         0x00
36 #define SP2_CI_IO_ACS           0x04
37 #define SP2_CI_WR               0
38 #define SP2_CI_RD               1
39
40 /* Module control register (0x00 module A, 0x09 module B) bits */
41 #define SP2_MOD_CTL_DET         0x01
42 #define SP2_MOD_CTL_AUTO        0x02
43 #define SP2_MOD_CTL_ACS0        0x04
44 #define SP2_MOD_CTL_ACS1        0x08
45 #define SP2_MOD_CTL_HAD         0x10
46 #define SP2_MOD_CTL_TSIEN       0x20
47 #define SP2_MOD_CTL_TSOEN       0x40
48 #define SP2_MOD_CTL_RST         0x80
49
50 #endif