123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /* SPDX-License-Identifier: GPL-2.0-or-later */
- /*
- * Support for AltoBeam GB20600 (a.k.a DMB-TH) demodulator
- * ATBM8830, ATBM8831
- *
- * Copyright (C) 2009 David T.L. Wong <davidtlwong@gmail.com>
- */
- #ifndef __ATBM8830_H__
- #define __ATBM8830_H__
- #include <linux/dvb/frontend.h>
- #include <linux/i2c.h>
- #define ATBM8830_PROD_8830 0
- #define ATBM8830_PROD_8831 1
- struct atbm8830_config {
- /* product type */
- u8 prod;
- /* the demodulator's i2c address */
- u8 demod_address;
- /* parallel or serial transport stream */
- u8 serial_ts;
- /* transport stream clock output only when receiving valid stream */
- u8 ts_clk_gated;
- /* Decoder sample TS data at rising edge of clock */
- u8 ts_sampling_edge;
- /* Oscillator clock frequency */
- u32 osc_clk_freq; /* in kHz */
- /* IF frequency */
- u32 if_freq; /* in kHz */
- /* Swap I/Q for zero IF */
- u8 zif_swap_iq;
- /* Tuner AGC settings */
- u8 agc_min;
- u8 agc_max;
- u8 agc_hold_loop;
- };
- #if IS_REACHABLE(CONFIG_DVB_ATBM8830)
- extern struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config,
- struct i2c_adapter *i2c);
- #else
- static inline
- struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config,
- struct i2c_adapter *i2c) {
- printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
- return NULL;
- }
- #endif /* CONFIG_DVB_ATBM8830 */
- #endif /* __ATBM8830_H__ */
|