drxd.h (1116B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * drxd.h: DRXD DVB-T demodulator driver 4 * 5 * Copyright (C) 2005-2007 Micronas 6 */ 7 8#ifndef _DRXD_H_ 9#define _DRXD_H_ 10 11#include <linux/types.h> 12#include <linux/i2c.h> 13 14struct drxd_config { 15 u8 index; 16 17 u8 pll_address; 18 u8 pll_type; 19#define DRXD_PLL_NONE 0 20#define DRXD_PLL_DTT7520X 1 21#define DRXD_PLL_MT3X0823 2 22 23 u32 clock; 24 u8 insert_rs_byte; 25 26 u8 demod_address; 27 u8 demoda_address; 28 u8 demod_revision; 29 30 /* If the tuner is not behind an i2c gate, be sure to flip this bit 31 or else the i2c bus could get wedged */ 32 u8 disable_i2c_gate_ctrl; 33 34 u32 IF; 35 s16(*osc_deviation) (void *priv, s16 dev, int flag); 36}; 37 38#if IS_REACHABLE(CONFIG_DVB_DRXD) 39extern 40struct dvb_frontend *drxd_attach(const struct drxd_config *config, 41 void *priv, struct i2c_adapter *i2c, 42 struct device *dev); 43#else 44static inline 45struct dvb_frontend *drxd_attach(const struct drxd_config *config, 46 void *priv, struct i2c_adapter *i2c, 47 struct device *dev) 48{ 49 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n", 50 __func__); 51 return NULL; 52} 53#endif 54 55#endif