cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

atbm8830.h (1366B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 *    Support for AltoBeam GB20600 (a.k.a DMB-TH) demodulator
      4 *    ATBM8830, ATBM8831
      5 *
      6 *    Copyright (C) 2009 David T.L. Wong <davidtlwong@gmail.com>
      7 */
      8
      9#ifndef __ATBM8830_H__
     10#define __ATBM8830_H__
     11
     12#include <linux/dvb/frontend.h>
     13#include <linux/i2c.h>
     14
     15#define ATBM8830_PROD_8830 0
     16#define ATBM8830_PROD_8831 1
     17
     18struct atbm8830_config {
     19
     20	/* product type */
     21	u8 prod;
     22
     23	/* the demodulator's i2c address */
     24	u8 demod_address;
     25
     26	/* parallel or serial transport stream */
     27	u8 serial_ts;
     28
     29	/* transport stream clock output only when receiving valid stream */
     30	u8 ts_clk_gated;
     31
     32	/* Decoder sample TS data at rising edge of clock */
     33	u8 ts_sampling_edge;
     34
     35	/* Oscillator clock frequency */
     36	u32 osc_clk_freq; /* in kHz */
     37
     38	/* IF frequency */
     39	u32 if_freq; /* in kHz */
     40
     41	/* Swap I/Q for zero IF */
     42	u8 zif_swap_iq;
     43
     44	/* Tuner AGC settings */
     45	u8 agc_min;
     46	u8 agc_max;
     47	u8 agc_hold_loop;
     48};
     49
     50#if IS_REACHABLE(CONFIG_DVB_ATBM8830)
     51extern struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config,
     52		struct i2c_adapter *i2c);
     53#else
     54static inline
     55struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config,
     56		struct i2c_adapter *i2c) {
     57	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
     58	return NULL;
     59}
     60#endif /* CONFIG_DVB_ATBM8830 */
     61
     62#endif /* __ATBM8830_H__ */