Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/media/dvb-frontends/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  dib8000.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef DIB8000_H
#define DIB8000_H

#include "dibx000_common.h"

struct dib8000_config {
 u8 output_mpeg2_in_188_bytes;
 u8 hostbus_diversity;
 u8 tuner_is_baseband;
 int (*update_lna) (struct dvb_frontend *, u16 agc_global);

 u8 agc_config_count;
 struct dibx000_agc_config *agc;
 struct dibx000_bandwidth_config *pll;

#define DIB8000_GPIO_DEFAULT_DIRECTIONS 0xffff
 u16 gpio_dir;
#define DIB8000_GPIO_DEFAULT_VALUES     0x0000
 u16 gpio_val;
#define DIB8000_GPIO_PWM_POS0(v)        ((v & 0xf) << 12)
#define DIB8000_GPIO_PWM_POS1(v)        ((v & 0xf) << 8 )
#define DIB8000_GPIO_PWM_POS2(v)        ((v & 0xf) << 4 )
#define DIB8000_GPIO_PWM_POS3(v)         (v & 0xf)
#define DIB8000_GPIO_DEFAULT_PWM_POS    0xffff
 u16 gpio_pwm_pos;
 u16 pwm_freq_div;

 void (*agc_control) (struct dvb_frontend *, u8 before);

 u16 drives;
 u16 diversity_delay;
 u8 div_cfg;
 u8 output_mode;
 u8 refclksel;
 u8 enMpegOutput:1;

 struct dibx000_bandwidth_config *plltable;
};

#define DEFAULT_DIB8000_I2C_ADDRESS 18

struct dib8000_ops {
 int (*set_wbd_ref)(struct dvb_frontend *fe, u16 value);
 int (*update_pll)(struct dvb_frontend *fe,
  struct dibx000_bandwidth_config *pll, u32 bw, u8 ratio);
 int (*set_gpio)(struct dvb_frontend *fe, u8 num, u8 dir, u8 val);
 void (*pwm_agc_reset)(struct dvb_frontend *fe);
 struct i2c_adapter *(*get_i2c_tuner)(struct dvb_frontend *fe);
 int (*tuner_sleep)(struct dvb_frontend *fe, int onoff);
 s32 (*get_adc_power)(struct dvb_frontend *fe, u8 mode);
 int (*get_dc_power)(struct dvb_frontend *fe, u8 IQ);
 u32 (*ctrl_timf)(struct dvb_frontend *fe, uint8_t op, uint32_t timf);
 enum frontend_tune_state (*get_tune_state)(struct dvb_frontend *fe);
 int (*set_tune_state)(struct dvb_frontend *fe, enum frontend_tune_state tune_state);
 int (*set_slave_frontend)(struct dvb_frontend *fe, struct dvb_frontend *fe_slave);
 struct dvb_frontend *(*get_slave_frontend)(struct dvb_frontend *fe, int slave_index);
 int (*i2c_enumeration)(struct i2c_adapter *host, int no_of_demods,
  u8 default_addr, u8 first_addr, u8 is_dib8096p);
 struct i2c_adapter *(*get_i2c_master)(struct dvb_frontend *fe, enum dibx000_i2c_interface intf, int gating);
 int (*pid_filter_ctrl)(struct dvb_frontend *fe, u8 onoff);
 int (*pid_filter)(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff);
 struct dvb_frontend *(*init)(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib8000_config *cfg);
};

#if IS_REACHABLE(CONFIG_DVB_DIB8000)
void *dib8000_attach(struct dib8000_ops *ops);
#else
static inline void *dib8000_attach(struct dib8000_ops *ops)
{
 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 return NULL;
}
#endif

#endif

Messung V0.5
C=95 H=81 G=88

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.