1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Driver for Zarlink DVB-T ZL10353 demodulator 4 * 5 * Copyright (C) 2006, 2007 Christopher Pascoe <c.pascoe@itee.uq.edu.au> 6 */ 7 8 #ifndef ZL10353_H 9 #define ZL10353_H 10 11 #include <linux/dvb/frontend.h> 12 13 struct zl10353_config 14 { 15 /* demodulator's I2C address */ 16 u8 demod_address; 17 18 /* frequencies in units of 0.1kHz */ 19 int adc_clock; /* default: 450560 (45.056 MHz) */ 20 int if2; /* default: 361667 (36.1667 MHz) */ 21 22 /* set if no pll is connected to the secondary i2c bus */ 23 int no_tuner; 24 25 /* set if parallel ts output is required */ 26 int parallel_ts; 27 28 /* set if i2c_gate_ctrl disable is required */ 29 u8 disable_i2c_gate_ctrl:1; 30 31 /* clock control registers (0x51-0x54) */ 32 u8 clock_ctl_1; /* default: 0x46 */ 33 u8 pll_0; /* default: 0x15 */ 34 }; 35 36 #if IS_REACHABLE(CONFIG_DVB_ZL10353) 37 extern struct dvb_frontend* zl10353_attach(const struct zl10353_config *config, 38 struct i2c_adapter *i2c); 39 #else 40 static inline struct dvb_frontend* zl10353_attach(const struct zl10353_config *config, 41 struct i2c_adapter *i2c) 42 { 43 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 44 return NULL; 45 } 46 #endif /* CONFIG_DVB_ZL10353 */ 47 48 #endif /* ZL10353_H */ 49