1/*
2    This program is free software; you can redistribute it and/or modify
3    it under the terms of the GNU General Public License as published by
4    the Free Software Foundation; either version 2 of the License, or
5    (at your option) any later version.
6
7    This program is distributed in the hope that it will be useful,
8    but WITHOUT ANY WARRANTY; without even the implied warranty of
9    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10    GNU General Public License for more details.
11
12    You should have received a copy of the GNU General Public License
13    along with this program; if not, write to the Free Software
14    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
15*/
16
17#ifndef __TEA5767_H__
18#define __TEA5767_H__
19
20#include <linux/i2c.h>
21#include "dvb_frontend.h"
22
23enum tea5767_xtal {
24	TEA5767_LOW_LO_32768    = 0,
25	TEA5767_HIGH_LO_32768   = 1,
26	TEA5767_LOW_LO_13MHz    = 2,
27	TEA5767_HIGH_LO_13MHz   = 3,
28};
29
30struct tea5767_ctrl {
31	unsigned int		port1:1;
32	unsigned int		port2:1;
33	unsigned int		high_cut:1;
34	unsigned int		st_noise:1;
35	unsigned int		soft_mute:1;
36	unsigned int		japan_band:1;
37	unsigned int		deemph_75:1;
38	unsigned int		pllref:1;
39	enum tea5767_xtal	xtal_freq;
40};
41
42#if IS_ENABLED(CONFIG_MEDIA_TUNER_TEA5767)
43extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr);
44
45extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe,
46					   struct i2c_adapter* i2c_adap,
47					   u8 i2c_addr);
48#else
49static inline int tea5767_autodetection(struct i2c_adapter* i2c_adap,
50					u8 i2c_addr)
51{
52	printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n",
53	       __func__);
54	return -EINVAL;
55}
56
57static inline struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe,
58						   struct i2c_adapter* i2c_adap,
59						   u8 i2c_addr)
60{
61	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
62	return NULL;
63}
64#endif
65
66#endif /* __TEA5767_H__ */
67