linux/drivers/media/dvb-frontends/tda1004x.c

// SPDX-License-Identifier: GPL-2.0-or-later
  /*
     Driver for Philips tda1004xh OFDM Demodulator

     (c) 2003, 2004 Andrew de Quincey & Robert Schlabbach


   */
/*
 * This driver needs external firmware. Please use the commands
 * "<kerneldir>/scripts/get_dvb_firmware tda10045",
 * "<kerneldir>/scripts/get_dvb_firmware tda10046" to
 * download/extract them, and then copy them to /usr/lib/hotplug/firmware
 * or /lib/firmware (depending on configuration of firmware hotplug).
 */
#define TDA10045_DEFAULT_FIRMWARE
#define TDA10046_DEFAULT_FIRMWARE

#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/jiffies.h>
#include <linux/string.h>
#include <linux/slab.h>

#include <media/dvb_frontend.h>
#include "tda1004x.h"

static int debug;
#define dprintk(args...)

#define TDA1004X_CHIPID
#define TDA1004X_AUTO
#define TDA1004X_IN_CONF1
#define TDA1004X_IN_CONF2
#define TDA1004X_OUT_CONF1
#define TDA1004X_OUT_CONF2
#define TDA1004X_STATUS_CD
#define TDA1004X_CONFC4
#define TDA1004X_DSSPARE2
#define TDA10045H_CODE_IN
#define TDA10045H_FWPAGE
#define TDA1004X_SCAN_CPT
#define TDA1004X_DSP_CMD
#define TDA1004X_DSP_ARG
#define TDA1004X_DSP_DATA1
#define TDA1004X_DSP_DATA2
#define TDA1004X_CONFADC1
#define TDA1004X_CONFC1
#define TDA10045H_S_AGC
#define TDA10046H_AGC_TUN_LEVEL
#define TDA1004X_SNR
#define TDA1004X_CONF_TS1
#define TDA1004X_CONF_TS2
#define TDA1004X_CBER_RESET
#define TDA1004X_CBER_MSB
#define TDA1004X_CBER_LSB
#define TDA1004X_CVBER_LUT
#define TDA1004X_VBER_MSB
#define TDA1004X_VBER_MID
#define TDA1004X_VBER_LSB
#define TDA1004X_UNCOR

#define TDA10045H_CONFPLL_P
#define TDA10045H_CONFPLL_M_MSB
#define TDA10045H_CONFPLL_M_LSB
#define TDA10045H_CONFPLL_N

#define TDA10046H_CONFPLL1
#define TDA10046H_CONFPLL2
#define TDA10046H_CONFPLL3
#define TDA10046H_TIME_WREF1
#define TDA10046H_TIME_WREF2
#define TDA10046H_TIME_WREF3
#define TDA10046H_TIME_WREF4
#define TDA10046H_TIME_WREF5

#define TDA10045H_UNSURW_MSB
#define TDA10045H_UNSURW_LSB
#define TDA10045H_WREF_MSB
#define TDA10045H_WREF_MID
#define TDA10045H_WREF_LSB
#define TDA10045H_MUXOUT
#define TDA1004X_CONFADC2

#define TDA10045H_IOFFSET

#define TDA10046H_CONF_TRISTATE1
#define TDA10046H_CONF_TRISTATE2
#define TDA10046H_CONF_POLARITY
#define TDA10046H_FREQ_OFFSET
#define TDA10046H_GPIO_OUT_SEL
#define TDA10046H_GPIO_SELECT
#define TDA10046H_AGC_CONF
#define TDA10046H_AGC_THR
#define TDA10046H_AGC_RENORM
#define TDA10046H_AGC_GAINS
#define TDA10046H_AGC_TUN_MIN
#define TDA10046H_AGC_TUN_MAX
#define TDA10046H_AGC_IF_MIN
#define TDA10046H_AGC_IF_MAX

#define TDA10046H_FREQ_PHY2_MSB
#define TDA10046H_FREQ_PHY2_LSB

#define TDA10046H_CVBER_CTRL
#define TDA10046H_AGC_IF_LEVEL
#define TDA10046H_CODE_CPT
#define TDA10046H_CODE_IN


static int tda1004x_write_byteI(struct tda1004x_state *state, int reg, int data)
{}

static int tda1004x_read_byte(struct tda1004x_state *state, int reg)
{}

static int tda1004x_write_mask(struct tda1004x_state *state, int reg, int mask, int data)
{}

static int tda1004x_write_buf(struct tda1004x_state *state, int reg, unsigned char *buf, int len)
{}

static int tda1004x_enable_tuner_i2c(struct tda1004x_state *state)
{}

static int tda1004x_disable_tuner_i2c(struct tda1004x_state *state)
{}

static int tda10045h_set_bandwidth(struct tda1004x_state *state,
				   u32 bandwidth)
{}

static int tda10046h_set_bandwidth(struct tda1004x_state *state,
				   u32 bandwidth)
{}

static int tda1004x_do_upload(struct tda1004x_state *state,
			      const unsigned char *mem, unsigned int len,
			      u8 dspCodeCounterReg, u8 dspCodeInReg)
{}

static int tda1004x_check_upload_ok(struct tda1004x_state *state)
{}

static int tda10045_fwupload(struct dvb_frontend* fe)
{}

static void tda10046_init_plls(struct dvb_frontend* fe)
{}

static int tda10046_fwupload(struct dvb_frontend* fe)
{}

static int tda1004x_encode_fec(int fec)
{}

static int tda1004x_decode_fec(int tdafec)
{}

static int tda1004x_write(struct dvb_frontend* fe, const u8 buf[], int len)
{}

static int tda10045_init(struct dvb_frontend* fe)
{}

static int tda10046_init(struct dvb_frontend* fe)
{}

static int tda1004x_set_fe(struct dvb_frontend *fe)
{}

static int tda1004x_get_fe(struct dvb_frontend *fe,
			   struct dtv_frontend_properties *fe_params)
{}

static int tda1004x_read_status(struct dvb_frontend *fe,
				enum fe_status *fe_status)
{}

static int tda1004x_read_signal_strength(struct dvb_frontend* fe, u16 * signal)
{}

static int tda1004x_read_snr(struct dvb_frontend* fe, u16 * snr)
{}

static int tda1004x_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
{}

static int tda1004x_read_ber(struct dvb_frontend* fe, u32* ber)
{}

static int tda1004x_sleep(struct dvb_frontend* fe)
{}

static int tda1004x_i2c_gate_ctrl(struct dvb_frontend* fe, int enable)
{}

static int tda1004x_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings)
{}

static void tda1004x_release(struct dvb_frontend* fe)
{}

static const struct dvb_frontend_ops tda10045_ops =;

struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config,
				     struct i2c_adapter* i2c)
{}

static const struct dvb_frontend_ops tda10046_ops =;

struct dvb_frontend* tda10046_attach(const struct tda1004x_config* config,
				     struct i2c_adapter* i2c)
{}

module_param(debug, int, 0644);
MODULE_PARM_DESC();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();

EXPORT_SYMBOL_GPL();
EXPORT_SYMBOL_GPL();