~ubuntu-branches/ubuntu/quantal/linux-linaro-mx51/quantal

« back to all changes in this revision

Viewing changes to drivers/media/dvb/frontends/cxd2820r.h

  • Committer: Package Import Robot
  • Author(s): John Rigby, John Rigby
  • Date: 2011-09-26 10:44:23 UTC
  • Revision ID: package-import@ubuntu.com-20110926104423-3o58a3c1bj7x00rs
Tags: 3.0.0-1007.9
[ John Rigby ]

Enable crypto modules and remove crypto-modules from
exclude-module files
LP: #826021

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Sony CXD2820R demodulator driver
 
3
 *
 
4
 * Copyright (C) 2010 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
 *    You should have received a copy of the GNU General Public License along
 
17
 *    with this program; if not, write to the Free Software Foundation, Inc.,
 
18
 *    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
19
 */
 
20
 
 
21
 
 
22
#ifndef CXD2820R_H
 
23
#define CXD2820R_H
 
24
 
 
25
#include <linux/dvb/frontend.h>
 
26
 
 
27
#define CXD2820R_GPIO_D (0 << 0) /* disable */
 
28
#define CXD2820R_GPIO_E (1 << 0) /* enable */
 
29
#define CXD2820R_GPIO_O (0 << 1) /* output */
 
30
#define CXD2820R_GPIO_I (1 << 1) /* input */
 
31
#define CXD2820R_GPIO_L (0 << 2) /* output low */
 
32
#define CXD2820R_GPIO_H (1 << 2) /* output high */
 
33
 
 
34
#define CXD2820R_TS_SERIAL        0x08
 
35
#define CXD2820R_TS_SERIAL_MSB    0x28
 
36
#define CXD2820R_TS_PARALLEL      0x30
 
37
#define CXD2820R_TS_PARALLEL_MSB  0x70
 
38
 
 
39
struct cxd2820r_config {
 
40
        /* Demodulator I2C address.
 
41
         * Driver determines DVB-C slave I2C address automatically from master
 
42
         * address.
 
43
         * Default: none, must set
 
44
         * Values: 0x6c, 0x6d
 
45
         */
 
46
        u8 i2c_address;
 
47
 
 
48
        /* TS output mode.
 
49
         * Default: none, must set.
 
50
         * Values:
 
51
         */
 
52
        u8 ts_mode;
 
53
 
 
54
        /* IF AGC polarity.
 
55
         * Default: 0
 
56
         * Values: 0, 1
 
57
         */
 
58
        int if_agc_polarity:1;
 
59
 
 
60
        /* Spectrum inversion.
 
61
         * Default: 0
 
62
         * Values: 0, 1
 
63
         */
 
64
        int spec_inv:1;
 
65
 
 
66
        /* IFs for all used modes.
 
67
         * Default: none, must set
 
68
         * Values: <kHz>
 
69
         */
 
70
        u16 if_dvbt_6;
 
71
        u16 if_dvbt_7;
 
72
        u16 if_dvbt_8;
 
73
        u16 if_dvbt2_5;
 
74
        u16 if_dvbt2_6;
 
75
        u16 if_dvbt2_7;
 
76
        u16 if_dvbt2_8;
 
77
        u16 if_dvbc;
 
78
 
 
79
        /* GPIOs for all used modes.
 
80
         * Default: none, disabled
 
81
         * Values: <see above>
 
82
         */
 
83
        u8 gpio_dvbt[3];
 
84
        u8 gpio_dvbt2[3];
 
85
        u8 gpio_dvbc[3];
 
86
};
 
87
 
 
88
 
 
89
#if defined(CONFIG_DVB_CXD2820R) || \
 
90
        (defined(CONFIG_DVB_CXD2820R_MODULE) && defined(MODULE))
 
91
extern struct dvb_frontend *cxd2820r_attach(
 
92
        const struct cxd2820r_config *config,
 
93
        struct i2c_adapter *i2c,
 
94
        struct dvb_frontend *fe
 
95
);
 
96
extern struct i2c_adapter *cxd2820r_get_tuner_i2c_adapter(
 
97
        struct dvb_frontend *fe
 
98
);
 
99
#else
 
100
static inline struct dvb_frontend *cxd2820r_attach(
 
101
        const struct cxd2820r_config *config,
 
102
        struct i2c_adapter *i2c,
 
103
        struct dvb_frontend *fe
 
104
)
 
105
{
 
106
        printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 
107
        return NULL;
 
108
}
 
109
static inline struct i2c_adapter *cxd2820r_get_tuner_i2c_adapter(
 
110
        struct dvb_frontend *fe
 
111
)
 
112
{
 
113
        return NULL;
 
114
}
 
115
 
 
116
#endif
 
117
 
 
118
#endif /* CXD2820R_H */