74ba9207e1
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not write to the free software foundation inc 675 mass ave cambridge ma 02139 usa extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 441 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) Reviewed-by: Richard Fontana <rfontana@redhat.com> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190520071858.739733335@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
75 lines
1.9 KiB
C
75 lines
1.9 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
TDA10021/TDA10023 - Single Chip Cable Channel Receiver driver module
|
|
used on the the Siemens DVB-C cards
|
|
|
|
Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de>
|
|
Copyright (C) 2004 Markus Schulz <msc@antzsystem.de>
|
|
Support for TDA10021
|
|
|
|
*/
|
|
|
|
#ifndef TDA1002x_H
|
|
#define TDA1002x_H
|
|
|
|
#include <linux/dvb/frontend.h>
|
|
|
|
struct tda1002x_config {
|
|
/* the demodulator's i2c address */
|
|
u8 demod_address;
|
|
u8 invert;
|
|
};
|
|
|
|
enum tda10023_output_mode {
|
|
TDA10023_OUTPUT_MODE_PARALLEL_A = 0xe0,
|
|
TDA10023_OUTPUT_MODE_PARALLEL_B = 0xa1,
|
|
TDA10023_OUTPUT_MODE_PARALLEL_C = 0xa0,
|
|
TDA10023_OUTPUT_MODE_SERIAL, /* TODO: not implemented */
|
|
};
|
|
|
|
struct tda10023_config {
|
|
/* the demodulator's i2c address */
|
|
u8 demod_address;
|
|
u8 invert;
|
|
|
|
/* clock settings */
|
|
u32 xtal; /* defaults: 28920000 */
|
|
u8 pll_m; /* defaults: 8 */
|
|
u8 pll_p; /* defaults: 4 */
|
|
u8 pll_n; /* defaults: 1 */
|
|
|
|
/* MPEG2 TS output mode */
|
|
u8 output_mode;
|
|
|
|
/* input freq offset + baseband conversion type */
|
|
u16 deltaf;
|
|
};
|
|
|
|
#if IS_REACHABLE(CONFIG_DVB_TDA10021)
|
|
extern struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config,
|
|
struct i2c_adapter* i2c, u8 pwm);
|
|
#else
|
|
static inline struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config,
|
|
struct i2c_adapter* i2c, u8 pwm)
|
|
{
|
|
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
|
|
return NULL;
|
|
}
|
|
#endif // CONFIG_DVB_TDA10021
|
|
|
|
#if IS_REACHABLE(CONFIG_DVB_TDA10023)
|
|
extern struct dvb_frontend *tda10023_attach(
|
|
const struct tda10023_config *config,
|
|
struct i2c_adapter *i2c, u8 pwm);
|
|
#else
|
|
static inline struct dvb_frontend *tda10023_attach(
|
|
const struct tda10023_config *config,
|
|
struct i2c_adapter *i2c, u8 pwm)
|
|
{
|
|
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
|
|
return NULL;
|
|
}
|
|
#endif // CONFIG_DVB_TDA10023
|
|
|
|
#endif // TDA1002x_H
|