Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
media
dvb-frontends
au8522.h
Go to the documentation of this file.
1
/*
2
Auvitek AU8522 QAM/8VSB demodulator driver
3
4
Copyright (C) 2008 Steven Toth <
[email protected]
>
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
17
along with this program; if not, write to the Free Software
18
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19
20
*/
21
22
#ifndef __AU8522_H__
23
#define __AU8522_H__
24
25
#include <
linux/dvb/frontend.h
>
26
27
enum
au8522_if_freq
{
28
AU8522_IF_6MHZ
= 0,
29
AU8522_IF_4MHZ
,
30
AU8522_IF_3_25MHZ
,
31
};
32
33
struct
au8522_led_config
{
34
u16
vsb8_strong
;
35
u16
qam64_strong
;
36
u16
qam256_strong
;
37
38
u16
gpio_output
;
39
/* unset hi bits, set low bits */
40
u16
gpio_output_enable
;
41
u16
gpio_output_disable
;
42
43
u16
gpio_leds
;
44
u8
*
led_states
;
45
unsigned
int
num_led_states
;
46
};
47
48
struct
au8522_config
{
49
/* the demodulator's i2c address */
50
u8
demod_address
;
51
52
/* Return lock status based on tuner lock, or demod lock */
53
#define AU8522_TUNERLOCKING 0
54
#define AU8522_DEMODLOCKING 1
55
u8
status_mode
;
56
57
struct
au8522_led_config
*
led_cfg
;
58
59
enum
au8522_if_freq
vsb_if
;
60
enum
au8522_if_freq
qam_if
;
61
};
62
63
#if defined(CONFIG_DVB_AU8522) || \
64
(defined(CONFIG_DVB_AU8522_MODULE) && defined(MODULE))
65
extern
struct
dvb_frontend
*
au8522_attach
(
const
struct
au8522_config
*
config
,
66
struct
i2c_adapter
*i2c);
67
#else
68
static
inline
69
struct
dvb_frontend
*
au8522_attach
(
const
struct
au8522_config
*
config
,
70
struct
i2c_adapter
*i2c)
71
{
72
printk
(
KERN_WARNING
"%s: driver disabled by Kconfig\n"
, __func__);
73
return
NULL
;
74
}
75
#endif
/* CONFIG_DVB_AU8522 */
76
77
/* Other modes may need to be added later */
78
enum
au8522_video_input
{
79
AU8522_COMPOSITE_CH1
= 1,
80
AU8522_COMPOSITE_CH2
,
81
AU8522_COMPOSITE_CH3
,
82
AU8522_COMPOSITE_CH4
,
83
AU8522_COMPOSITE_CH4_SIF
,
84
AU8522_SVIDEO_CH13
,
85
AU8522_SVIDEO_CH24
,
86
};
87
88
enum
au8522_audio_input
{
89
AU8522_AUDIO_NONE
,
90
AU8522_AUDIO_SIF
,
91
};
92
93
#endif
/* __AU8522_H__ */
94
95
/*
96
* Local variables:
97
* c-basic-offset: 8
98
*/
Generated on Thu Jan 10 2013 13:45:13 for Linux Kernel by
1.8.2