1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 TDA10021/TDA10023 - Single Chip Cable Channel Receiver driver module
4 used on the the Siemens DVB-C cards
6 Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de>
7 Copyright (C) 2004 Markus Schulz <msc@antzsystem.de>
15 #include <linux/dvb/frontend.h>
17 struct tda1002x_config
{
18 /* the demodulator's i2c address */
23 enum tda10023_output_mode
{
24 TDA10023_OUTPUT_MODE_PARALLEL_A
= 0xe0,
25 TDA10023_OUTPUT_MODE_PARALLEL_B
= 0xa1,
26 TDA10023_OUTPUT_MODE_PARALLEL_C
= 0xa0,
27 TDA10023_OUTPUT_MODE_SERIAL
, /* TODO: not implemented */
30 struct tda10023_config
{
31 /* the demodulator's i2c address */
36 u32 xtal
; /* defaults: 28920000 */
37 u8 pll_m
; /* defaults: 8 */
38 u8 pll_p
; /* defaults: 4 */
39 u8 pll_n
; /* defaults: 1 */
41 /* MPEG2 TS output mode */
44 /* input freq offset + baseband conversion type */
48 #if IS_REACHABLE(CONFIG_DVB_TDA10021)
49 extern struct dvb_frontend
* tda10021_attach(const struct tda1002x_config
* config
,
50 struct i2c_adapter
* i2c
, u8 pwm
);
52 static inline struct dvb_frontend
* tda10021_attach(const struct tda1002x_config
* config
,
53 struct i2c_adapter
* i2c
, u8 pwm
)
55 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
58 #endif // CONFIG_DVB_TDA10021
60 #if IS_REACHABLE(CONFIG_DVB_TDA10023)
61 extern struct dvb_frontend
*tda10023_attach(
62 const struct tda10023_config
*config
,
63 struct i2c_adapter
*i2c
, u8 pwm
);
65 static inline struct dvb_frontend
*tda10023_attach(
66 const struct tda10023_config
*config
,
67 struct i2c_adapter
*i2c
, u8 pwm
)
69 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
72 #endif // CONFIG_DVB_TDA10023