18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci *  Driver for Quantek QT1010 silicon tuner
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci *  Copyright (C) 2006 Antti Palosaari <crope@iki.fi>
68c2ecf20Sopenharmony_ci *                     Aapo Tahkola <aet@rasterburn.org>
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#ifndef QT1010_PRIV_H
108c2ecf20Sopenharmony_ci#define QT1010_PRIV_H
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci/*
138c2ecf20Sopenharmony_cireg def meaning
148c2ecf20Sopenharmony_ci=== === =======
158c2ecf20Sopenharmony_ci00  00  ?
168c2ecf20Sopenharmony_ci01  a0  ? operation start/stop; start=80, stop=00
178c2ecf20Sopenharmony_ci02  00  ?
188c2ecf20Sopenharmony_ci03  19  ?
198c2ecf20Sopenharmony_ci04  00  ?
208c2ecf20Sopenharmony_ci05  00  ? maybe band selection
218c2ecf20Sopenharmony_ci06  00  ?
228c2ecf20Sopenharmony_ci07  2b  set frequency: 32 MHz scale, n*32 MHz
238c2ecf20Sopenharmony_ci08  0b  ?
248c2ecf20Sopenharmony_ci09  10  ? changes every 8/24 MHz; values 1d/1c
258c2ecf20Sopenharmony_ci0a  08  set frequency: 4 MHz scale, n*4 MHz
268c2ecf20Sopenharmony_ci0b  41  ? changes every 2/2 MHz; values 45/45
278c2ecf20Sopenharmony_ci0c  e1  ?
288c2ecf20Sopenharmony_ci0d  94  ?
298c2ecf20Sopenharmony_ci0e  b6  ?
308c2ecf20Sopenharmony_ci0f  2c  ?
318c2ecf20Sopenharmony_ci10  10  ?
328c2ecf20Sopenharmony_ci11  f1  ? maybe device specified adjustment
338c2ecf20Sopenharmony_ci12  11  ? maybe device specified adjustment
348c2ecf20Sopenharmony_ci13  3f  ?
358c2ecf20Sopenharmony_ci14  1f  ?
368c2ecf20Sopenharmony_ci15  3f  ?
378c2ecf20Sopenharmony_ci16  ff  ?
388c2ecf20Sopenharmony_ci17  ff  ?
398c2ecf20Sopenharmony_ci18  f7  ?
408c2ecf20Sopenharmony_ci19  80  ?
418c2ecf20Sopenharmony_ci1a  d0  set frequency: 125 kHz scale, n*125 kHz
428c2ecf20Sopenharmony_ci1b  00  ?
438c2ecf20Sopenharmony_ci1c  89  ?
448c2ecf20Sopenharmony_ci1d  00  ?
458c2ecf20Sopenharmony_ci1e  00  ? looks like operation register; write cmd here, read result from 1f-26
468c2ecf20Sopenharmony_ci1f  20  ? chip initialization
478c2ecf20Sopenharmony_ci20  e0  ? chip initialization
488c2ecf20Sopenharmony_ci21  20  ?
498c2ecf20Sopenharmony_ci22  d0  ?
508c2ecf20Sopenharmony_ci23  d0  ?
518c2ecf20Sopenharmony_ci24  d0  ?
528c2ecf20Sopenharmony_ci25  40  ? chip initialization
538c2ecf20Sopenharmony_ci26  08  ?
548c2ecf20Sopenharmony_ci27  29  ?
558c2ecf20Sopenharmony_ci28  55  ?
568c2ecf20Sopenharmony_ci29  39  ?
578c2ecf20Sopenharmony_ci2a  13  ?
588c2ecf20Sopenharmony_ci2b  01  ?
598c2ecf20Sopenharmony_ci2c  ea  ?
608c2ecf20Sopenharmony_ci2d  00  ?
618c2ecf20Sopenharmony_ci2e  00  ? not used?
628c2ecf20Sopenharmony_ci2f  00  ? not used?
638c2ecf20Sopenharmony_ci*/
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci#define QT1010_STEP         (125 * kHz) /*
668c2ecf20Sopenharmony_ci					 * used by Windows drivers,
678c2ecf20Sopenharmony_ci				         * hw could be more precise but we don't
688c2ecf20Sopenharmony_ci				         * know how to use
698c2ecf20Sopenharmony_ci					 */
708c2ecf20Sopenharmony_ci#define QT1010_MIN_FREQ   (48 * MHz)
718c2ecf20Sopenharmony_ci#define QT1010_MAX_FREQ  (860 * MHz)
728c2ecf20Sopenharmony_ci#define QT1010_OFFSET   (1246 * MHz)
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci#define QT1010_WR 0
758c2ecf20Sopenharmony_ci#define QT1010_RD 1
768c2ecf20Sopenharmony_ci#define QT1010_M1 3
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_citypedef struct {
798c2ecf20Sopenharmony_ci	u8 oper, reg, val;
808c2ecf20Sopenharmony_ci} qt1010_i2c_oper_t;
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_cistruct qt1010_priv {
838c2ecf20Sopenharmony_ci	struct qt1010_config *cfg;
848c2ecf20Sopenharmony_ci	struct i2c_adapter   *i2c;
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci	u8 reg1f_init_val;
878c2ecf20Sopenharmony_ci	u8 reg20_init_val;
888c2ecf20Sopenharmony_ci	u8 reg25_init_val;
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci	u32 frequency;
918c2ecf20Sopenharmony_ci};
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci#endif
94