Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  *  Driver for Quantek QT1010 silicon tuner
0004  *
0005  *  Copyright (C) 2006 Antti Palosaari <crope@iki.fi>
0006  *                     Aapo Tahkola <aet@rasterburn.org>
0007  */
0008 
0009 #ifndef QT1010_PRIV_H
0010 #define QT1010_PRIV_H
0011 
0012 /*
0013 reg def meaning
0014 === === =======
0015 00  00  ?
0016 01  a0  ? operation start/stop; start=80, stop=00
0017 02  00  ?
0018 03  19  ?
0019 04  00  ?
0020 05  00  ? maybe band selection
0021 06  00  ?
0022 07  2b  set frequency: 32 MHz scale, n*32 MHz
0023 08  0b  ?
0024 09  10  ? changes every 8/24 MHz; values 1d/1c
0025 0a  08  set frequency: 4 MHz scale, n*4 MHz
0026 0b  41  ? changes every 2/2 MHz; values 45/45
0027 0c  e1  ?
0028 0d  94  ?
0029 0e  b6  ?
0030 0f  2c  ?
0031 10  10  ?
0032 11  f1  ? maybe device specified adjustment
0033 12  11  ? maybe device specified adjustment
0034 13  3f  ?
0035 14  1f  ?
0036 15  3f  ?
0037 16  ff  ?
0038 17  ff  ?
0039 18  f7  ?
0040 19  80  ?
0041 1a  d0  set frequency: 125 kHz scale, n*125 kHz
0042 1b  00  ?
0043 1c  89  ?
0044 1d  00  ?
0045 1e  00  ? looks like operation register; write cmd here, read result from 1f-26
0046 1f  20  ? chip initialization
0047 20  e0  ? chip initialization
0048 21  20  ?
0049 22  d0  ?
0050 23  d0  ?
0051 24  d0  ?
0052 25  40  ? chip initialization
0053 26  08  ?
0054 27  29  ?
0055 28  55  ?
0056 29  39  ?
0057 2a  13  ?
0058 2b  01  ?
0059 2c  ea  ?
0060 2d  00  ?
0061 2e  00  ? not used?
0062 2f  00  ? not used?
0063 */
0064 
0065 #define QT1010_STEP         (125 * kHz) /*
0066                      * used by Windows drivers,
0067                          * hw could be more precise but we don't
0068                          * know how to use
0069                      */
0070 #define QT1010_MIN_FREQ   (48 * MHz)
0071 #define QT1010_MAX_FREQ  (860 * MHz)
0072 #define QT1010_OFFSET   (1246 * MHz)
0073 
0074 #define QT1010_WR 0
0075 #define QT1010_RD 1
0076 #define QT1010_M1 3
0077 
0078 typedef struct {
0079     u8 oper, reg, val;
0080 } qt1010_i2c_oper_t;
0081 
0082 struct qt1010_priv {
0083     struct qt1010_config *cfg;
0084     struct i2c_adapter   *i2c;
0085 
0086     u8 reg1f_init_val;
0087     u8 reg20_init_val;
0088     u8 reg25_init_val;
0089 
0090     u32 frequency;
0091 };
0092 
0093 #endif