blob: 14a50ecef6dde057acb43829b4b8eb8d83e2b7dd [file] [log] [blame]
Igor M. Liplianin17cce932011-01-25 17:02:00 -03001/*
2 * stv0367.h
3 *
4 * Driver for ST STV0367 DVB-T & DVB-C demodulator IC.
5 *
6 * Copyright (C) ST Microelectronics.
Igor M. Liplianin78db8542011-01-25 17:04:00 -03007 * Copyright (C) 2010,2011 NetUP Inc.
8 * Copyright (C) 2010,2011 Igor M. Liplianin <liplianin@netup.ru>
Igor M. Liplianin17cce932011-01-25 17:02:00 -03009 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 *
19 * GNU General Public License for more details.
Igor M. Liplianin17cce932011-01-25 17:02:00 -030020 */
21
22#ifndef STV0367_H
23#define STV0367_H
24
25#include <linux/dvb/frontend.h>
Mauro Carvalho Chehabfada1932017-12-28 13:03:51 -050026#include <media/dvb_frontend.h>
Igor M. Liplianin17cce932011-01-25 17:02:00 -030027
Daniel Scheller8a9c0732017-03-29 13:43:05 -030028#define STV0367_ICSPEED_53125 53125000
29#define STV0367_ICSPEED_58000 58000000
30
Igor M. Liplianin17cce932011-01-25 17:02:00 -030031struct stv0367_config {
32 u8 demod_address;
33 u32 xtal;
34 u32 if_khz;/*4500*/
35 int if_iq_mode;
36 int ts_mode;
37 int clk_pol;
38};
39
Arnd Bergmann9b174522015-02-18 14:12:42 -030040#if IS_REACHABLE(CONFIG_DVB_STV0367)
Igor M. Liplianin17cce932011-01-25 17:02:00 -030041extern struct
42dvb_frontend *stv0367ter_attach(const struct stv0367_config *config,
43 struct i2c_adapter *i2c);
44extern struct
45dvb_frontend *stv0367cab_attach(const struct stv0367_config *config,
46 struct i2c_adapter *i2c);
Daniel Schellerdbbac112017-03-29 13:43:11 -030047extern struct
48dvb_frontend *stv0367ddb_attach(const struct stv0367_config *config,
49 struct i2c_adapter *i2c);
Igor M. Liplianin17cce932011-01-25 17:02:00 -030050#else
51static inline struct
52dvb_frontend *stv0367ter_attach(const struct stv0367_config *config,
53 struct i2c_adapter *i2c)
54{
55 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
56 return NULL;
57}
58static inline struct
59dvb_frontend *stv0367cab_attach(const struct stv0367_config *config,
60 struct i2c_adapter *i2c)
61{
62 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
63 return NULL;
64}
Daniel Schellerdbbac112017-03-29 13:43:11 -030065static inline struct
66dvb_frontend *stv0367ddb_attach(const struct stv0367_config *config,
67 struct i2c_adapter *i2c)
68{
69 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
70 return NULL;
71}
Igor M. Liplianin17cce932011-01-25 17:02:00 -030072#endif
73
74#endif