1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Driver for Quantek QT1010 silicon tuner
4 *
5 * Copyright (C) 2006 Antti Palosaari <crope@iki.fi>
6 * Aapo Tahkola <aet@rasterburn.org>
7 */
8
9#ifndef QT1010_PRIV_H
10#define QT1010_PRIV_H
11
12/*
13reg def meaning
14=== === =======
1500 00 ?
1601 a0 ? operation start/stop; start=80, stop=00
1702 00 ?
1803 19 ?
1904 00 ?
2005 00 ? maybe band selection
2106 00 ?
2207 2b set frequency: 32 MHz scale, n*32 MHz
2308 0b ?
2409 10 ? changes every 8/24 MHz; values 1d/1c
250a 08 set frequency: 4 MHz scale, n*4 MHz
260b 41 ? changes every 2/2 MHz; values 45/45
270c e1 ?
280d 94 ?
290e b6 ?
300f 2c ?
3110 10 ?
3211 f1 ? maybe device specified adjustment
3312 11 ? maybe device specified adjustment
3413 3f ?
3514 1f ?
3615 3f ?
3716 ff ?
3817 ff ?
3918 f7 ?
4019 80 ?
411a d0 set frequency: 125 kHz scale, n*125 kHz
421b 00 ?
431c 89 ?
441d 00 ?
451e 00 ? looks like operation register; write cmd here, read result from 1f-26
461f 20 ? chip initialization
4720 e0 ? chip initialization
4821 20 ?
4922 d0 ?
5023 d0 ?
5124 d0 ?
5225 40 ? chip initialization
5326 08 ?
5427 29 ?
5528 55 ?
5629 39 ?
572a 13 ?
582b 01 ?
592c ea ?
602d 00 ?
612e 00 ? not used?
622f 00 ? not used?
63*/
64
65#define QT1010_STEP (125 * kHz) /*
66 * used by Windows drivers,
67 * hw could be more precise but we don't
68 * know how to use
69 */
70#define QT1010_MIN_FREQ (48 * MHz)
71#define QT1010_MAX_FREQ (860 * MHz)
72#define QT1010_OFFSET (1246 * MHz)
73
74#define QT1010_WR 0
75#define QT1010_RD 1
76#define QT1010_M1 3
77
78typedef struct {
79 u8 oper, reg, val;
80} qt1010_i2c_oper_t;
81
82struct qt1010_priv {
83 struct qt1010_config *cfg;
84 struct i2c_adapter *i2c;
85
86 u8 reg1f_init_val;
87 u8 reg20_init_val;
88 u8 reg25_init_val;
89
90 u32 frequency;
91};
92
93#endif
94

source code of linux/drivers/media/tuners/qt1010_priv.h