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
tuners
mxl5007t.h
Go to the documentation of this file.
1
/*
2
* mxl5007t.h - driver for the MaxLinear MxL5007T silicon tuner
3
*
4
* Copyright (C) 2008 Michael Krufky <
[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
#ifndef __MXL5007T_H__
22
#define __MXL5007T_H__
23
24
#include "
dvb_frontend.h
"
25
26
/* ------------------------------------------------------------------------- */
27
28
enum
mxl5007t_if_freq
{
29
MxL_IF_4_MHZ
,
/* 4000000 */
30
MxL_IF_4_5_MHZ
,
/* 4500000 */
31
MxL_IF_4_57_MHZ
,
/* 4570000 */
32
MxL_IF_5_MHZ
,
/* 5000000 */
33
MxL_IF_5_38_MHZ
,
/* 5380000 */
34
MxL_IF_6_MHZ
,
/* 6000000 */
35
MxL_IF_6_28_MHZ
,
/* 6280000 */
36
MxL_IF_9_1915_MHZ
,
/* 9191500 */
37
MxL_IF_35_25_MHZ
,
/* 35250000 */
38
MxL_IF_36_15_MHZ
,
/* 36150000 */
39
MxL_IF_44_MHZ
,
/* 44000000 */
40
};
41
42
enum
mxl5007t_xtal_freq
{
43
MxL_XTAL_16_MHZ
,
/* 16000000 */
44
MxL_XTAL_20_MHZ
,
/* 20000000 */
45
MxL_XTAL_20_25_MHZ
,
/* 20250000 */
46
MxL_XTAL_20_48_MHZ
,
/* 20480000 */
47
MxL_XTAL_24_MHZ
,
/* 24000000 */
48
MxL_XTAL_25_MHZ
,
/* 25000000 */
49
MxL_XTAL_25_14_MHZ
,
/* 25140000 */
50
MxL_XTAL_27_MHZ
,
/* 27000000 */
51
MxL_XTAL_28_8_MHZ
,
/* 28800000 */
52
MxL_XTAL_32_MHZ
,
/* 32000000 */
53
MxL_XTAL_40_MHZ
,
/* 40000000 */
54
MxL_XTAL_44_MHZ
,
/* 44000000 */
55
MxL_XTAL_48_MHZ
,
/* 48000000 */
56
MxL_XTAL_49_3811_MHZ
,
/* 49381100 */
57
};
58
59
enum
mxl5007t_clkout_amp
{
60
MxL_CLKOUT_AMP_0_94V
= 0,
61
MxL_CLKOUT_AMP_0_53V
= 1,
62
MxL_CLKOUT_AMP_0_37V
= 2,
63
MxL_CLKOUT_AMP_0_28V
= 3,
64
MxL_CLKOUT_AMP_0_23V
= 4,
65
MxL_CLKOUT_AMP_0_20V
= 5,
66
MxL_CLKOUT_AMP_0_17V
= 6,
67
MxL_CLKOUT_AMP_0_15V
= 7,
68
};
69
70
struct
mxl5007t_config
{
71
s32
if_diff_out_level
;
72
enum
mxl5007t_clkout_amp
clk_out_amp
;
73
enum
mxl5007t_xtal_freq
xtal_freq_hz
;
74
enum
mxl5007t_if_freq
if_freq_hz
;
75
unsigned
int
invert_if
:1;
76
unsigned
int
loop_thru_enable
:1;
77
unsigned
int
clk_out_enable
:1;
78
};
79
80
#if defined(CONFIG_MEDIA_TUNER_MXL5007T) || (defined(CONFIG_MEDIA_TUNER_MXL5007T_MODULE) && defined(MODULE))
81
extern
struct
dvb_frontend
*
mxl5007t_attach
(
struct
dvb_frontend
*fe,
82
struct
i2c_adapter
*i2c,
u8
addr
,
83
struct
mxl5007t_config
*
cfg
);
84
#else
85
static
inline
struct
dvb_frontend
*
mxl5007t_attach
(
struct
dvb_frontend
*fe,
86
struct
i2c_adapter
*i2c,
87
u8
addr
,
88
struct
mxl5007t_config
*
cfg
)
89
{
90
printk
(
KERN_WARNING
"%s: driver disabled by Kconfig\n"
, __func__);
91
return
NULL
;
92
}
93
#endif
94
95
#endif
/* __MXL5007T_H__ */
96
97
/*
98
* Overrides for Emacs so that we follow Linus's tabbing style.
99
* ---------------------------------------------------------------------------
100
* Local variables:
101
* c-basic-offset: 8
102
* End:
103
*/
104
Generated on Thu Jan 10 2013 13:50:44 for Linux Kernel by
1.8.2