162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  Driver for Quantek QT1010 silicon tuner
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (C) 2006 Antti Palosaari <crope@iki.fi>
662306a36Sopenharmony_ci *                     Aapo Tahkola <aet@rasterburn.org>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef QT1010_PRIV_H
1062306a36Sopenharmony_ci#define QT1010_PRIV_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/*
1362306a36Sopenharmony_cireg def meaning
1462306a36Sopenharmony_ci=== === =======
1562306a36Sopenharmony_ci00  00  ?
1662306a36Sopenharmony_ci01  a0  ? operation start/stop; start=80, stop=00
1762306a36Sopenharmony_ci02  00  ?
1862306a36Sopenharmony_ci03  19  ?
1962306a36Sopenharmony_ci04  00  ?
2062306a36Sopenharmony_ci05  00  ? maybe band selection
2162306a36Sopenharmony_ci06  00  ?
2262306a36Sopenharmony_ci07  2b  set frequency: 32 MHz scale, n*32 MHz
2362306a36Sopenharmony_ci08  0b  ?
2462306a36Sopenharmony_ci09  10  ? changes every 8/24 MHz; values 1d/1c
2562306a36Sopenharmony_ci0a  08  set frequency: 4 MHz scale, n*4 MHz
2662306a36Sopenharmony_ci0b  41  ? changes every 2/2 MHz; values 45/45
2762306a36Sopenharmony_ci0c  e1  ?
2862306a36Sopenharmony_ci0d  94  ?
2962306a36Sopenharmony_ci0e  b6  ?
3062306a36Sopenharmony_ci0f  2c  ?
3162306a36Sopenharmony_ci10  10  ?
3262306a36Sopenharmony_ci11  f1  ? maybe device specified adjustment
3362306a36Sopenharmony_ci12  11  ? maybe device specified adjustment
3462306a36Sopenharmony_ci13  3f  ?
3562306a36Sopenharmony_ci14  1f  ?
3662306a36Sopenharmony_ci15  3f  ?
3762306a36Sopenharmony_ci16  ff  ?
3862306a36Sopenharmony_ci17  ff  ?
3962306a36Sopenharmony_ci18  f7  ?
4062306a36Sopenharmony_ci19  80  ?
4162306a36Sopenharmony_ci1a  d0  set frequency: 125 kHz scale, n*125 kHz
4262306a36Sopenharmony_ci1b  00  ?
4362306a36Sopenharmony_ci1c  89  ?
4462306a36Sopenharmony_ci1d  00  ?
4562306a36Sopenharmony_ci1e  00  ? looks like operation register; write cmd here, read result from 1f-26
4662306a36Sopenharmony_ci1f  20  ? chip initialization
4762306a36Sopenharmony_ci20  e0  ? chip initialization
4862306a36Sopenharmony_ci21  20  ?
4962306a36Sopenharmony_ci22  d0  ?
5062306a36Sopenharmony_ci23  d0  ?
5162306a36Sopenharmony_ci24  d0  ?
5262306a36Sopenharmony_ci25  40  ? chip initialization
5362306a36Sopenharmony_ci26  08  ?
5462306a36Sopenharmony_ci27  29  ?
5562306a36Sopenharmony_ci28  55  ?
5662306a36Sopenharmony_ci29  39  ?
5762306a36Sopenharmony_ci2a  13  ?
5862306a36Sopenharmony_ci2b  01  ?
5962306a36Sopenharmony_ci2c  ea  ?
6062306a36Sopenharmony_ci2d  00  ?
6162306a36Sopenharmony_ci2e  00  ? not used?
6262306a36Sopenharmony_ci2f  00  ? not used?
6362306a36Sopenharmony_ci*/
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci#define QT1010_STEP         (125 * kHz) /*
6662306a36Sopenharmony_ci					 * used by Windows drivers,
6762306a36Sopenharmony_ci				         * hw could be more precise but we don't
6862306a36Sopenharmony_ci				         * know how to use
6962306a36Sopenharmony_ci					 */
7062306a36Sopenharmony_ci#define QT1010_MIN_FREQ   (48 * MHz)
7162306a36Sopenharmony_ci#define QT1010_MAX_FREQ  (860 * MHz)
7262306a36Sopenharmony_ci#define QT1010_OFFSET   (1246 * MHz)
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci#define QT1010_WR 0
7562306a36Sopenharmony_ci#define QT1010_RD 1
7662306a36Sopenharmony_ci#define QT1010_M1 3
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_citypedef struct {
7962306a36Sopenharmony_ci	u8 oper, reg, val;
8062306a36Sopenharmony_ci} qt1010_i2c_oper_t;
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_cistruct qt1010_priv {
8362306a36Sopenharmony_ci	struct qt1010_config *cfg;
8462306a36Sopenharmony_ci	struct i2c_adapter   *i2c;
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	u8 reg1f_init_val;
8762306a36Sopenharmony_ci	u8 reg20_init_val;
8862306a36Sopenharmony_ci	u8 reg25_init_val;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	u32 frequency;
9162306a36Sopenharmony_ci};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci#endif
94