Files
cubelinux-kernel/drivers/media/dvb-frontends/tda10048.h
T
Greg Kroah-Hartman 598cf27219 Linux 6.19.3
Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Brett A C Sheffield <bacs@librecast.net>
Tested-by: Mark Brown <broonie@kernel.org>
Tested-by: Luna Jernberg <droidbittin@gmail.com>
Tested-by: Ronald Warsow <rwarsow@gmx.de>
Tested-by: Justin M. Forbes <jforbes@fedoraproject.org>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-02-19 16:33:27 +01:00

78 lines
1.6 KiB
C

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
NXP TDA10048HN DVB OFDM demodulator driver
Copyright (C) 2009 Steven Toth <stoth@kernellabs.com>
*/
#ifndef TDA10048_H
#define TDA10048_H
#include <linux/dvb/frontend.h>
#include <linux/firmware.h>
struct tda10048_config {
/* the demodulator's i2c address */
u8 demod_address;
/* serial/parallel output */
#define TDA10048_PARALLEL_OUTPUT 0
#define TDA10048_SERIAL_OUTPUT 1
u8 output_mode;
#define TDA10048_BULKWRITE_200 200
#define TDA10048_BULKWRITE_50 50
u8 fwbulkwritelen;
/* Spectral Inversion */
#define TDA10048_INVERSION_OFF 0
#define TDA10048_INVERSION_ON 1
u8 inversion;
#define TDA10048_IF_3300 3300
#define TDA10048_IF_3500 3500
#define TDA10048_IF_3800 3800
#define TDA10048_IF_4000 4000
#define TDA10048_IF_4300 4300
#define TDA10048_IF_4500 4500
#define TDA10048_IF_4750 4750
#define TDA10048_IF_5000 5000
#define TDA10048_IF_36130 36130
u16 dtv6_if_freq_khz;
u16 dtv7_if_freq_khz;
u16 dtv8_if_freq_khz;
#define TDA10048_CLK_4000 4000
#define TDA10048_CLK_16000 16000
u16 clk_freq_khz;
/* Disable I2C gate access */
u8 disable_gate_access;
bool no_firmware;
bool set_pll;
u8 pll_m;
u8 pll_p;
u8 pll_n;
};
#if IS_REACHABLE(CONFIG_DVB_TDA10048)
extern struct dvb_frontend *tda10048_attach(
const struct tda10048_config *config,
struct i2c_adapter *i2c);
#else
static inline struct dvb_frontend *tda10048_attach(
const struct tda10048_config *config,
struct i2c_adapter *i2c)
{
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
return NULL;
}
#endif /* CONFIG_DVB_TDA10048 */
#endif /* TDA10048_H */