Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/drivers/media/common/tuners/qt1010_priv.h
15112 views
1
/*
2
* Driver for Quantek QT1010 silicon tuner
3
*
4
* Copyright (C) 2006 Antti Palosaari <[email protected]>
5
* Aapo Tahkola <[email protected]>
6
*
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 2 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
*/
21
22
#ifndef QT1010_PRIV_H
23
#define QT1010_PRIV_H
24
25
/*
26
reg def meaning
27
=== === =======
28
00 00 ?
29
01 a0 ? operation start/stop; start=80, stop=00
30
02 00 ?
31
03 19 ?
32
04 00 ?
33
05 00 ? maybe band selection
34
06 00 ?
35
07 2b set frequency: 32 MHz scale, n*32 MHz
36
08 0b ?
37
09 10 ? changes every 8/24 MHz; values 1d/1c
38
0a 08 set frequency: 4 MHz scale, n*4 MHz
39
0b 41 ? changes every 2/2 MHz; values 45/45
40
0c e1 ?
41
0d 94 ?
42
0e b6 ?
43
0f 2c ?
44
10 10 ?
45
11 f1 ? maybe device specified adjustment
46
12 11 ? maybe device specified adjustment
47
13 3f ?
48
14 1f ?
49
15 3f ?
50
16 ff ?
51
17 ff ?
52
18 f7 ?
53
19 80 ?
54
1a d0 set frequency: 125 kHz scale, n*125 kHz
55
1b 00 ?
56
1c 89 ?
57
1d 00 ?
58
1e 00 ? looks like operation register; write cmd here, read result from 1f-26
59
1f 20 ? chip initialization
60
20 e0 ? chip initialization
61
21 20 ?
62
22 d0 ?
63
23 d0 ?
64
24 d0 ?
65
25 40 ? chip initialization
66
26 08 ?
67
27 29 ?
68
28 55 ?
69
29 39 ?
70
2a 13 ?
71
2b 01 ?
72
2c ea ?
73
2d 00 ?
74
2e 00 ? not used?
75
2f 00 ? not used?
76
*/
77
78
#define QT1010_STEP 125000 /* 125 kHz used by Windows drivers,
79
hw could be more precise but we don't
80
know how to use */
81
#define QT1010_MIN_FREQ 48000000 /* 48 MHz */
82
#define QT1010_MAX_FREQ 860000000 /* 860 MHz */
83
#define QT1010_OFFSET 1246000000 /* 1246 MHz */
84
85
#define QT1010_WR 0
86
#define QT1010_RD 1
87
#define QT1010_M1 3
88
89
typedef struct {
90
u8 oper, reg, val;
91
} qt1010_i2c_oper_t;
92
93
struct qt1010_priv {
94
struct qt1010_config *cfg;
95
struct i2c_adapter *i2c;
96
97
u8 reg1f_init_val;
98
u8 reg20_init_val;
99
u8 reg25_init_val;
100
101
u32 frequency;
102
u32 bandwidth;
103
};
104
105
#endif
106
107