1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#ifndef TDA1002x_H
25#define TDA1002x_H
26
27#include <linux/dvb/frontend.h>
28
29struct tda1002x_config {
30
31 u8 demod_address;
32 u8 invert;
33};
34
35enum tda10023_output_mode {
36 TDA10023_OUTPUT_MODE_PARALLEL_A = 0xe0,
37 TDA10023_OUTPUT_MODE_PARALLEL_B = 0xa1,
38 TDA10023_OUTPUT_MODE_PARALLEL_C = 0xa0,
39 TDA10023_OUTPUT_MODE_SERIAL,
40};
41
42struct tda10023_config {
43
44 u8 demod_address;
45 u8 invert;
46
47
48 u32 xtal;
49 u8 pll_m;
50 u8 pll_p;
51 u8 pll_n;
52
53
54 u8 output_mode;
55
56
57 u16 deltaf;
58};
59
60#if IS_ENABLED(CONFIG_DVB_TDA10021)
61extern struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config,
62 struct i2c_adapter* i2c, u8 pwm);
63#else
64static inline struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config,
65 struct i2c_adapter* i2c, u8 pwm)
66{
67 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
68 return NULL;
69}
70#endif
71
72#if IS_ENABLED(CONFIG_DVB_TDA10023)
73extern struct dvb_frontend *tda10023_attach(
74 const struct tda10023_config *config,
75 struct i2c_adapter *i2c, u8 pwm);
76#else
77static inline struct dvb_frontend *tda10023_attach(
78 const struct tda10023_config *config,
79 struct i2c_adapter *i2c, u8 pwm)
80{
81 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
82 return NULL;
83}
84#endif
85
86#endif
87