1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 Auvitek AU8522 QAM/8VSB demodulator driver
5 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
13 #include <linux/dvb/frontend.h>
21 struct au8522_led_config
{
27 /* unset hi bits, set low bits */
28 u16 gpio_output_enable
;
29 u16 gpio_output_disable
;
33 unsigned int num_led_states
;
36 struct au8522_config
{
37 /* the demodulator's i2c address */
40 /* Return lock status based on tuner lock, or demod lock */
41 #define AU8522_TUNERLOCKING 0
42 #define AU8522_DEMODLOCKING 1
45 struct au8522_led_config
*led_cfg
;
47 enum au8522_if_freq vsb_if
;
48 enum au8522_if_freq qam_if
;
51 #if IS_REACHABLE(CONFIG_DVB_AU8522_DTV)
52 extern struct dvb_frontend
*au8522_attach(const struct au8522_config
*config
,
53 struct i2c_adapter
*i2c
);
56 struct dvb_frontend
*au8522_attach(const struct au8522_config
*config
,
57 struct i2c_adapter
*i2c
)
59 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
62 #endif /* CONFIG_DVB_AU8522 */
64 /* Other modes may need to be added later */
65 enum au8522_video_input
{
66 AU8522_COMPOSITE_CH1
= 1,
70 AU8522_COMPOSITE_CH4_SIF
,
75 enum au8522_audio_input
{
79 #endif /* __AU8522_H__ */