xref: /OK3568_Linux_fs/kernel/drivers/media/tuners/tda18250.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * NXP TDA18250BHN silicon tuner driver
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (C) 2017 Olli Salonen <olli.salonen@iki.fi>
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef TDA18250_H
9*4882a593Smuzhiyun #define TDA18250_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #include <linux/kconfig.h>
12*4882a593Smuzhiyun #include <media/media-device.h>
13*4882a593Smuzhiyun #include <media/dvb_frontend.h>
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #define TDA18250_XTAL_FREQ_16MHZ 0
16*4882a593Smuzhiyun #define TDA18250_XTAL_FREQ_24MHZ 1
17*4882a593Smuzhiyun #define TDA18250_XTAL_FREQ_25MHZ 2
18*4882a593Smuzhiyun #define TDA18250_XTAL_FREQ_27MHZ 3
19*4882a593Smuzhiyun #define TDA18250_XTAL_FREQ_30MHZ 4
20*4882a593Smuzhiyun #define TDA18250_XTAL_FREQ_MAX 5
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun struct tda18250_config {
23*4882a593Smuzhiyun 	u16 if_dvbt_6;
24*4882a593Smuzhiyun 	u16 if_dvbt_7;
25*4882a593Smuzhiyun 	u16 if_dvbt_8;
26*4882a593Smuzhiyun 	u16 if_dvbc_6;
27*4882a593Smuzhiyun 	u16 if_dvbc_8;
28*4882a593Smuzhiyun 	u16 if_atsc;
29*4882a593Smuzhiyun 	u8 xtal_freq;
30*4882a593Smuzhiyun 	bool loopthrough;
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun 	/*
33*4882a593Smuzhiyun 	 * frontend
34*4882a593Smuzhiyun 	 */
35*4882a593Smuzhiyun 	struct dvb_frontend *fe;
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun #if defined(CONFIG_MEDIA_CONTROLLER)
38*4882a593Smuzhiyun 	struct media_device *mdev;
39*4882a593Smuzhiyun #endif
40*4882a593Smuzhiyun };
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #endif
43