Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


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.1 Sekunden  (vorverarbeitet)  ¤

*© 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge