#define _DVBFRONTEND_H_
#include <linux/types.h>
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+#include <linux/videodev2.h>
+#endif
- enum fe_type {
- FE_QPSK,
- FE_QAM,
- FE_OFDM,
- FE_ATSC,
- #ifdef CONFIG_AMLOGIC_DVB_COMPAT
- FE_ANALOG,
- FE_DTMB,
- FE_ISDBT
- #endif
- };
-
+ /**
+ * enum fe_caps - Frontend capabilities
+ *
+ * @FE_IS_STUPID: There's something wrong at the
+ * frontend, and it can't report its
+ * capabilities.
+ * @FE_CAN_INVERSION_AUTO: Can auto-detect frequency spectral
+ * band inversion
+ * @FE_CAN_FEC_1_2: Supports FEC 1/2
+ * @FE_CAN_FEC_2_3: Supports FEC 2/3
+ * @FE_CAN_FEC_3_4: Supports FEC 3/4
+ * @FE_CAN_FEC_4_5: Supports FEC 4/5
+ * @FE_CAN_FEC_5_6: Supports FEC 5/6
+ * @FE_CAN_FEC_6_7: Supports FEC 6/7
+ * @FE_CAN_FEC_7_8: Supports FEC 7/8
+ * @FE_CAN_FEC_8_9: Supports FEC 8/9
+ * @FE_CAN_FEC_AUTO: Can auto-detect FEC
+ * @FE_CAN_QPSK: Supports QPSK modulation
+ * @FE_CAN_QAM_16: Supports 16-QAM modulation
+ * @FE_CAN_QAM_32: Supports 32-QAM modulation
+ * @FE_CAN_QAM_64: Supports 64-QAM modulation
+ * @FE_CAN_QAM_128: Supports 128-QAM modulation
+ * @FE_CAN_QAM_256: Supports 256-QAM modulation
+ * @FE_CAN_QAM_AUTO: Can auto-detect QAM modulation
+ * @FE_CAN_TRANSMISSION_MODE_AUTO: Can auto-detect transmission mode
+ * @FE_CAN_BANDWIDTH_AUTO: Can auto-detect bandwidth
+ * @FE_CAN_GUARD_INTERVAL_AUTO: Can auto-detect guard interval
+ * @FE_CAN_HIERARCHY_AUTO: Can auto-detect hierarchy
+ * @FE_CAN_8VSB: Supports 8-VSB modulation
+ * @FE_CAN_16VSB: Supporta 16-VSB modulation
+ * @FE_HAS_EXTENDED_CAPS: Unused
+ * @FE_CAN_MULTISTREAM: Supports multistream filtering
+ * @FE_CAN_TURBO_FEC: Supports "turbo FEC" modulation
+ * @FE_CAN_2G_MODULATION: Supports "2nd generation" modulation,
+ * e. g. DVB-S2, DVB-T2, DVB-C2
+ * @FE_NEEDS_BENDING: Unused
+ * @FE_CAN_RECOVER: Can recover from a cable unplug
+ * automatically
+ * @FE_CAN_MUTE_TS: Can stop spurious TS data output
+ */
enum fe_caps {
FE_IS_STUPID = 0,
- FE_CAN_INVERSION_AUTO = 0x1,
+ FE_CAN_INVERSION_AUTO = 0x1,
FE_CAN_FEC_1_2 = 0x2,
FE_CAN_FEC_2_3 = 0x4,
FE_CAN_FEC_3_4 = 0x8,
FE_CAN_HIERARCHY_AUTO = 0x100000,
FE_CAN_8VSB = 0x200000,
FE_CAN_16VSB = 0x400000,
- /* We need more bitspace for newer APIs, indicate this. */
- FE_HAS_EXTENDED_CAPS = 0x800000,
- FE_CAN_MULTISTREAM = 0x4000000, /* frontend supports multistream filtering */
- FE_CAN_TURBO_FEC = 0x8000000, /* frontend supports "turbo fec modulation" */
- /* frontend supports "2nd generation modulation" (DVB-S2) */
- FE_CAN_2G_MODULATION = 0x10000000,
- FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
- FE_CAN_RECOVER = 0x40000000, /* frontend can recover from a cable unplug automatically */
- FE_CAN_MUTE_TS = 0x80000000 /* frontend can stop spurious TS data output */
+ FE_HAS_EXTENDED_CAPS = 0x800000,
+ FE_CAN_MULTISTREAM = 0x4000000,
+ FE_CAN_TURBO_FEC = 0x8000000,
+ FE_CAN_2G_MODULATION = 0x10000000,
+ FE_NEEDS_BENDING = 0x20000000,
+ FE_CAN_RECOVER = 0x40000000,
+ FE_CAN_MUTE_TS = 0x80000000
};
+
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+#define FE_CAN_3_LAYER FE_CAN_MULTISTREAM
+#endif
++
+ /*
+ * DEPRECATED: Should be kept just due to backward compatibility.
+ */
+ enum fe_type {
+ FE_QPSK,
+ FE_QAM,
+ FE_OFDM,
+ FE_ATSC
++#ifdef CONFIG_AMLOGIC_DVB_COMPAT
++ FE_ANALOG,
++ FE_DTMB,
++ FE_ISDBT
++#endif
+ };
+
+ /**
+ * struct dvb_frontend_info - Frontend properties and capabilities
+ *
+ * @name: Name of the frontend
+ * @type: **DEPRECATED**.
+ * Should not be used on modern programs,
+ * as a frontend may have more than one type.
+ * In order to get the support types of a given
+ * frontend, use :c:type:`DTV_ENUM_DELSYS`
+ * instead.
+ * @frequency_min: Minimal frequency supported by the frontend.
+ * @frequency_max: Minimal frequency supported by the frontend.
+ * @frequency_stepsize: All frequencies are multiple of this value.
+ * @frequency_tolerance: Frequency tolerance.
+ * @symbol_rate_min: Minimal symbol rate, in bauds
+ * (for Cable/Satellite systems).
+ * @symbol_rate_max: Maximal symbol rate, in bauds
+ * (for Cable/Satellite systems).
+ * @symbol_rate_tolerance: Maximal symbol rate tolerance, in ppm
+ * (for Cable/Satellite systems).
+ * @notifier_delay: **DEPRECATED**. Not used by any driver.
+ * @caps: Capabilities supported by the frontend,
+ * as specified in &enum fe_caps.
+ *
+ * .. note:
+ *
+ * #. The frequencies are specified in Hz for Terrestrial and Cable
+ * systems.
+ * #. The frequencies are specified in kHz for Satellite systems.
+ */
struct dvb_frontend_info {
char name[128];
enum fe_type type; /* DEPRECATED. Use DTV_ENUM_DELSYS instead */
};
/**
- * enum fe_status - enumerates the possible frontend status
- * @FE_HAS_SIGNAL: found something above the noise level
- * @FE_HAS_CARRIER: found a DVB signal
- * @FE_HAS_VITERBI: FEC is stable
- * @FE_HAS_SYNC: found sync bytes
- * @FE_HAS_LOCK: everything's working
- * @FE_TIMEDOUT: no lock within the last ~2 seconds
- * @FE_REINIT: frontend was reinitialized, application is recommended
- * to reset DiSEqC, tone and parameters
+ * enum fe_status - Enumerates the possible frontend status.
+ * @FE_NONE: The frontend doesn't have any kind of lock.
+ * That's the initial frontend status
+ * @FE_HAS_SIGNAL: Has found something above the noise level.
+ * @FE_HAS_CARRIER: Has found a DVB signal.
+ * @FE_HAS_VITERBI: FEC inner coding (Viterbi, LDPC or other inner code).
+ * is stable.
+ * @FE_HAS_SYNC: Synchronization bytes was found.
+ * @FE_HAS_LOCK: DVB were locked and everything is working.
+ * @FE_TIMEDOUT: Fo lock within the last about 2 seconds.
+ * @FE_REINIT: Frontend was reinitialized, application is recommended
+ * to reset DiSEqC, tone and parameters.
*/
enum fe_status {
- FE_HAS_SIGNAL = 0x01, /* found something above the noise level */
- FE_HAS_CARRIER = 0x02, /* found a DVB signal */
- FE_HAS_VITERBI = 0x04, /* FEC is stable */
- FE_HAS_SYNC = 0x08, /* found sync bytes */
- FE_HAS_LOCK = 0x10, /* everything's working... */
- FE_TIMEDOUT = 0x20, /* no lock within the last ~2 seconds */
- FE_REINIT = 0x40, /* frontend was reinitialized, */
+ FE_NONE = 0x00,
+ FE_HAS_SIGNAL = 0x01,
+ FE_HAS_CARRIER = 0x02,
+ FE_HAS_VITERBI = 0x04,
+ FE_HAS_SYNC = 0x08,
+ FE_HAS_LOCK = 0x10,
+ FE_TIMEDOUT = 0x20,
+ FE_REINIT = 0x40,
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+ BLINDSCAN_NONEDO = 0x80, /* not blind scan */
+ BLINDSCAN_UPDATESTARTFREQ = 0x100, /* blind scan update start freq */
+ BLINDSCAN_UPDATEPROCESS = 0x200, /* blind scan update process */
+ BLINDSCAN_UPDATERESULTFREQ = 0x400/* blind scan update result */
+#endif
- }; /* application is recommended to reset */
- /* DiSEqC, tone and parameters */
+ };
+ /**
+ * enum fe_spectral_inversion - Type of inversion band
+ *
+ * @INVERSION_OFF: Don't do spectral band inversion.
+ * @INVERSION_ON: Do spectral band inversion.
+ * @INVERSION_AUTO: Autodetect spectral band inversion.
+ *
+ * This parameter indicates if spectral inversion should be presumed or
+ * not. In the automatic setting (``INVERSION_AUTO``) the hardware will try
+ * to figure out the correct setting by itself. If the hardware doesn't
+ * support, the DVB core will try to lock at the carrier first with
+ * inversion off. If it fails, it will try to enable inversion.
+ */
enum fe_spectral_inversion {
INVERSION_OFF,
INVERSION_ON,
INTERLEAVING_720,
};
- /* S2API Commands */
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+struct fe_blind_scan_parameters {
+ /* minimum tuner frequency in kHz */
+ __u32 min_frequency;
+ /* maximum tuner frequency in kHz */
+ __u32 max_frequency;
+ /* minimum symbol rate in sym/sec */
+ __u32 min_symbol_rate;
+ /* maximum symbol rate in sym/sec */
+ __u32 max_symbol_rate;
+ /* search range in kHz. freq -/+freqRange will be searched */
+ __u32 frequency_range;
+ /* tuner step frequency in kHz */
+ __u32 frequency_step;
+ /* blindscan event timeout */
+ __s32 timeout;
+};
+#endif
+
+ /* DVBv5 property Commands */
+
#define DTV_UNDEFINED 0
#define DTV_TUNE 1
#define DTV_CLEAR 2
#define DTV_STAT_ERROR_BLOCK_COUNT 68
#define DTV_STAT_TOTAL_BLOCK_COUNT 69
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+
+/* Get tne TS input of the frontend */
+#define DTV_TS_INPUT 100
+/* Blind scan */
+#define DTV_START_BLIND_SCAN 101
+#define DTV_CANCEL_BLIND_SCAN 102
+#define DTV_BLIND_SCAN_MIN_FRE 103
+#define DTV_BLIND_SCAN_MAX_FRE 104
+#define DTV_BLIND_SCAN_MIN_SRATE 105
+#define DTV_BLIND_SCAN_MAX_SRATE 106
+#define DTV_BLIND_SCAN_FRE_RANGE 107
+#define DTV_BLIND_SCAN_FRE_STEP 108
+#define DTV_BLIND_SCAN_TIMEOUT 109
+/* Blind scan end*/
+#define DTV_DELIVERY_SUB_SYSTEM 110
+#define DTV_MAX_COMMAND DTV_DELIVERY_SUB_SYSTEM
+
+#else /*!defined(CONFIG_AMLOGIC_DVB_COMPAT)*/
+
#define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT
-
+#endif /*CONFIG_AMLOGIC_DVB_COMPAT*/
+
+ /**
+ * enum fe_pilot - Type of pilot tone
+ *
+ * @PILOT_ON: Pilot tones enabled
+ * @PILOT_OFF: Pilot tones disabled
+ * @PILOT_AUTO: Autodetect pilot tones
+ */
enum fe_pilot {
PILOT_ON,
PILOT_OFF,
SYS_DVBT2,
SYS_TURBO,
SYS_DVBC_ANNEX_C,
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+ SYS_ANALOG
+#endif
};
- /* backward compatibility */
+ /* backward compatibility definitions for delivery systems */
#define SYS_DVBC_ANNEX_AC SYS_DVBC_ANNEX_A
- #define SYS_DMBTH SYS_DTMB /* DMB-TH is legacy name, use DTMB instead */
+ #define SYS_DMBTH SYS_DTMB /* DMB-TH is legacy name, use DTMB */
- /* ATSC-MH */
+ /* ATSC-MH specific parameters */
+ /**
+ * enum atscmh_sccc_block_mode - Type of Series Concatenated Convolutional
+ * Code Block Mode.
+ *
+ * @ATSCMH_SCCC_BLK_SEP:
+ * Separate SCCC: the SCCC outer code mode shall be set independently
+ * for each Group Region (A, B, C, D)
+ * @ATSCMH_SCCC_BLK_COMB:
+ * Combined SCCC: all four Regions shall have the same SCCC outer
+ * code mode.
+ * @ATSCMH_SCCC_BLK_RES:
+ * Reserved. Shouldn't be used.
+ */
enum atscmh_sccc_block_mode {
ATSCMH_SCCC_BLK_SEP = 0,
ATSCMH_SCCC_BLK_COMB = 1,
/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
#define DTV_IOCTL_MAX_MSGS 64
+ /**
+ * struct dtv_properties - a set of command/value pairs.
+ *
+ * @num: amount of commands stored at the struct.
+ * @props: a pointer to &struct dtv_property.
+ */
struct dtv_properties {
__u32 num;
- #if 0 && defined(CONFIG_AMLOGIC_DVB_COMPAT)
- union {
- struct dtv_property *props;
- __u64 reserved;
- };
- #else
struct dtv_property *props;
- #endif
};
+ /*
+ * When set, this flag will disable any zigzagging or other "normal" tuning
+ * behavior. Additionally, there will be no automatic monitoring of the lock
+ * status, and hence no frontend events will be generated. If a frontend device
+ * is closed, this flag will be automatically turned off when the device is
+ * reopened read-write.
+ */
+ #define FE_TUNE_MODE_ONESHOT 0x01
+
+ /* Digital TV Frontend API calls */
+
+ #define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info)
+
+ #define FE_DISEQC_RESET_OVERLOAD _IO('o', 62)
+ #define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd)
+ #define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply)
+ #define FE_DISEQC_SEND_BURST _IO('o', 65) /* fe_sec_mini_cmd_t */
+
+ #define FE_SET_TONE _IO('o', 66) /* fe_sec_tone_mode_t */
+ #define FE_SET_VOLTAGE _IO('o', 67) /* fe_sec_voltage_t */
+ #define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68) /* int */
+
+ #define FE_READ_STATUS _IOR('o', 69, fe_status_t)
+ #define FE_READ_BER _IOR('o', 70, __u32)
+ #define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, __u16)
+ #define FE_READ_SNR _IOR('o', 72, __u16)
+ #define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32)
+
+ #define FE_SET_FRONTEND_TUNE_MODE _IO('o', 81) /* unsigned int */
+ #define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event)
+
+ #define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */
+
+ #define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties)
+ #define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties)
+
++#ifdef CONFIG_AMLOGIC_DVB_COMPAT
++/*need del this ioctl, used set PROPERTY instead*/
++#define FE_SET_DELAY _IO('o', 100)
++#define FE_READ_AFC _IOR('o', 91, __u32)
++#define FE_FINE_TUNE _IOW('o', 92, __u32)
++#define FE_READ_TUNER_STATUS _IOR('o', 93, struct tuner_status_s)
++#define FE_READ_ANALOG_STATUS _IOR('o', 94, struct atv_status_s)
++#define FE_READ_SD_STATUS _IOR('o', 95, struct sound_status_s)
++/*set & get the tuner parameters only atv*/
++#define FE_SET_PARAM_BOX _IOWR('o', 97, struct tuner_param_s)
++#define FE_SET_AFC _IOW('o', 98, __u32)
++#endif /*CONFIG_AMLOGIC_DVB_COMPAT*/
++
#if defined(__DVB_CORE__) || !defined (__KERNEL__)
/*
typedef enum fe_rolloff fe_rolloff_t;
typedef enum fe_delivery_system fe_delivery_system_t;
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+enum fe_ofdm_mode {
+ OFDM_DVBT,
+ OFDM_DVBT2,
+};
+#endif
+
+ /* DVBv3 structs */
+
struct dvb_qpsk_parameters {
__u32 symbol_rate; /* symbol rate in Symbols per second */
fe_code_rate_t fec_inner; /* forward error correction (see above) */
fe_hierarchy_t hierarchy_information;
};
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+#define ANALOG_FLAG_ENABLE_AFC 0X00000001
+#define ANALOG_FLAG_MANUL_SCAN 0x00000011
+struct dvb_analog_parameters {
+ /*V4L2_TUNER_MODE_MONO,V4L2_TUNER_MODE_STEREO,*/
+ /*V4L2_TUNER_MODE_LANG2,V4L2_TUNER_MODE_SAP,*/
+ /*V4L2_TUNER_MODE_LANG1,V4L2_TUNER_MODE_LANG1_LANG2 */
+ unsigned int audmode;
+ unsigned int soundsys; /*A2,BTSC,EIAJ,NICAM */
+ v4l2_std_id std;
+ unsigned int flag;
+ unsigned int afc_range;
+};
+#endif
+
struct dvb_frontend_parameters {
- /* (absolute) frequency in Hz for DVB-C/DVB-T/ATSC */
- __u32 frequency;
- /* intermediate frequency in kHz for DVB-S */
+ __u32 frequency; /* (absolute) frequency in Hz for DVB-C/DVB-T/ATSC */
+ /* intermediate frequency in kHz for DVB-S */
fe_spectral_inversion_t inversion;
union {
struct dvb_qpsk_parameters qpsk; /* DVB-S */
fe_status_t status;
struct dvb_frontend_parameters parameters;
};
- #endif
+
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+/* Satellite blind scan event */
+struct dvbsx_blindscanevent {
+ enum fe_status status;
+ union {
+ /* The percentage completion of the*/
+ /*blind scan procedure. A value of*/
+ /*100 indicates that the blind scan*/
+ /*is finished. */
+ __u16 m_uiprogress;
+ /*The start scan frequency in units of kHz.*/
+ /*The minimum value depends on the tuner*/
+ /*specification.*/
+ __u32 m_uistartfreq_khz;
+ /* Blind scan channel info. */
+ struct dvb_frontend_parameters parameters;
+ } u;
+};
+#endif /*CONFIG_AMLOGIC_DVB_COMPAT*/
- #define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties)
- #define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties)
+
+ /* DVBv3 API calls */
+
+ #define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters)
+ #define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters)
+
+ #endif
- /**
- * When set, this flag will disable any zigzagging or other "normal" tuning
- * behaviour. Additionally, there will be no automatic monitoring of the lock
- * status, and hence no frontend events will be generated. If a frontend device
- * is closed, this flag will be automatically turned off when the device is
- * reopened read-write.
- */
- #define FE_TUNE_MODE_ONESHOT 0x01
-
- #define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info)
-
- #define FE_DISEQC_RESET_OVERLOAD _IO('o', 62)
- #define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd)
- #define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply)
- #define FE_DISEQC_SEND_BURST _IO('o', 65) /* fe_sec_mini_cmd_t */
-
- #define FE_SET_TONE _IO('o', 66) /* fe_sec_tone_mode_t */
- #define FE_SET_VOLTAGE _IO('o', 67) /* fe_sec_voltage_t */
- #define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68) /* int */
-
- #define FE_READ_STATUS _IOR('o', 69, fe_status_t)
- #define FE_READ_BER _IOR('o', 70, __u32)
- #define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, __u16)
- #define FE_READ_SNR _IOR('o', 72, __u16)
- #define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32)
-
- #define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters)
- #define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters)
- #define FE_SET_FRONTEND_TUNE_MODE _IO('o', 81) /* unsigned int */
- #define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event)
-
- #define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */
-
- #ifdef CONFIG_AMLOGIC_DVB_COMPAT
- /*need del this ioctl, used set PROPERTY instead*/
- #define FE_SET_DELAY _IO('o', 100)
- #define FE_READ_AFC _IOR('o', 91, __u32)
- #define FE_FINE_TUNE _IOW('o', 92, __u32)
- #define FE_READ_TUNER_STATUS _IOR('o', 93, struct tuner_status_s)
- #define FE_READ_ANALOG_STATUS _IOR('o', 94, struct atv_status_s)
- #define FE_READ_SD_STATUS _IOR('o', 95, struct sound_status_s)
- /*set & get the tuner parameters only atv*/
- #define FE_SET_PARAM_BOX _IOWR('o', 97, struct tuner_param_s)
- #define FE_SET_AFC _IOW('o', 98, __u32)
- #endif /*CONFIG_AMLOGIC_DVB_COMPAT*/
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
+/*for atv*/
+struct tuner_status_s {
+ unsigned int frequency;
+ unsigned int rssi;
+ unsigned char mode;/*dtv:0 or atv:1*/
+ unsigned char tuner_locked;/*notlocked:0,locked:1*/
+ union {
+ void *ressrved;
+ __u64 reserved1;
+ };
+};
+
+
+struct atv_status_s {
+ unsigned char atv_lock;/*notlocked:0,locked 1*/
+ v4l2_std_id std;
+ unsigned int audmode;
+ int snr;
+ int afc;
+ union {
+ void *resrvred;
+ __u64 reserved1;
+ };
+};
+
+struct sound_status_s {
+ unsigned short sound_sys;/*A2DK/A2BG/NICAM BG/NICAM DK/BTSC/EIAJ*/
+ unsigned short sound_mode;/*SETERO/DUAL/MONO/SAP*/
+ union {
+ void *resrvred;
+ __u64 reserved1;
+ };
+};
+
+
+enum tuner_param_cmd_e {
+ TUNER_CMD_AUDIO_MUTE = 0x0000,
+ TUNER_CMD_AUDIO_ON,
+ TUNER_CMD_TUNER_POWER_ON,
+ TUNER_CMD_TUNER_POWER_DOWN,
+ TUNER_CMD_SET_VOLUME,
+ TUNER_CMD_SET_LEAP_SETP_SIZE,
+ TUNER_CMD_GET_MONO_MODE,
+ TUNER_CMD_SET_BEST_LOCK_RANGE,
+ TUNER_CMD_GET_BEST_LOCK_RANGE,
+ TUNER_CMD_SET_CVBS_AMP_OUT,
+ TUNER_CMD_GET_CVBS_AMP_OUT,
+ TUNER_CMD_NULL,
+};
+
+
+/*parameter for set param box*/
+struct tuner_param_s {
+ enum tuner_param_cmd_e cmd;
+ unsigned int parm;
+ unsigned int resvred;
+};
+
+
+enum fe_layer {
+ Layer_A_B_C,
+ Layer_A,
+ Layer_B,
+ Layer_C,
+};
+
+// typedef struct dvb_analog_parameters dvb_analog_parameters_t;
+// typedef struct tuner_status_s tuner_status_t;
+// typedef struct atv_status_s atv_status_t;
+// typedef struct sound_status_s sound_status_t;
+// typedef enum tuner_param_cmd_e tuner_param_cmd_t;
+// typedef struct tuner_param_s tuner_param_t;
+// typedef enum fe_layer fe_layer_t;
+// typedef enum fe_ofdm_mode fe_ofdm_mode_t;
+
+
+/* Satellite blind scan settings */
+struct dvbsx_blindscanpara {
+ __u32 minfrequency;/* minimum tuner frequency in kHz */
+ __u32 maxfrequency;/* maximum tuner frequency in kHz */
+ __u32 minSymbolRate;/* minimum symbol rate in sym/sec */
+ __u32 maxSymbolRate;/* maximum symbol rate in sym/sec */
+ /*search range in kHz. freq -/+freqRange will be searched */
+ __u32 frequencyRange;
+ __u32 frequencyStep;/* tuner step frequency in kHz */
+ __s32 timeout;/* blindscan event timeout*/
+};
+#endif /*CONFIG_AMLOGIC_DVB_COMPAT*/
+
#endif /*_DVBFRONTEND_H_*/