linux/drivers/media/dvb-frontends/zl10353.h
<<
>>
Prefs
   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
  13struct 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)
  37extern struct dvb_frontend* zl10353_attach(const struct zl10353_config *config,
  38                                           struct i2c_adapter *i2c);
  39#else
  40static 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