media: dvb-frontends/cxd2878: dos2unix

This commit is contained in:
CrazyCat
2023-09-24 17:38:27 +03:00
parent 70555a3fc3
commit c2b38317ce
3 changed files with 3568 additions and 3568 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,103 +1,103 @@
#ifndef _CXD2878_H_ #ifndef _CXD2878_H_
#define _CXD2878_H_ #define _CXD2878_H_
enum sony_demod_xtal_t{ enum sony_demod_xtal_t{
SONY_DEMOD_XTAL_16000KHz = 0, /**< 16 MHz */ SONY_DEMOD_XTAL_16000KHz = 0, /**< 16 MHz */
SONY_DEMOD_XTAL_24000KHz = 1, /**< 24 MHz */ SONY_DEMOD_XTAL_24000KHz = 1, /**< 24 MHz */
SONY_DEMOD_XTAL_32000KHz = 2 /**< 32 MHz */ SONY_DEMOD_XTAL_32000KHz = 2 /**< 32 MHz */
} ; } ;
enum sony_ascot3_xtal_t{ enum sony_ascot3_xtal_t{
SONY_ASCOT3_XTAL_16000KHz, /**< 16 MHz */ SONY_ASCOT3_XTAL_16000KHz, /**< 16 MHz */
SONY_ASCOT3_XTAL_20500KHz, /**< 20.5 MHz */ SONY_ASCOT3_XTAL_20500KHz, /**< 20.5 MHz */
SONY_ASCOT3_XTAL_24000KHz, /**< 24 MHz */ SONY_ASCOT3_XTAL_24000KHz, /**< 24 MHz */
SONY_ASCOT3_XTAL_41000KHz /**< 41 MHz */ SONY_ASCOT3_XTAL_41000KHz /**< 41 MHz */
} ; } ;
#define SONY_DEMOD_MAKE_IFFREQ_CONFIG(iffreq) ((u32)(((iffreq)/48.0)*16777216.0 + 0.5)) #define SONY_DEMOD_MAKE_IFFREQ_CONFIG(iffreq) ((u32)(((iffreq)/48.0)*16777216.0 + 0.5))
#define SONY_DEMOD_ATSC_MAKE_IFFREQ_CONFIG(iffreq) ((u32)(((iffreq)/24.0)*4294967296.0 + 0.5)) #define SONY_DEMOD_ATSC_MAKE_IFFREQ_CONFIG(iffreq) ((u32)(((iffreq)/24.0)*4294967296.0 + 0.5))
struct cxd2878_config{ struct cxd2878_config{
u8 addr_slvt; u8 addr_slvt;
enum sony_demod_xtal_t xtal; enum sony_demod_xtal_t xtal;
u8 tuner_addr; u8 tuner_addr;
enum sony_ascot3_xtal_t tuner_xtal; enum sony_ascot3_xtal_t tuner_xtal;
//for ts //for ts
// - 0: Serial output. // - 0: Serial output.
// - 1: Parallel output (Default). // - 1: Parallel output (Default).
u8 ts_mode; u8 ts_mode;
/** /**
@brief Serial output pin of TS data. @brief Serial output pin of TS data.
Value: Value:
- 0: Output from TSDATA0 - 0: Output from TSDATA0
- 1: Output from TSDATA7 (Default). - 1: Output from TSDATA7 (Default).
*/ */
u8 ts_ser_data; u8 ts_ser_data;
/** /**
@brief Serial TS clock gated on valid TS data or is continuous. @brief Serial TS clock gated on valid TS data or is continuous.
Value is stored in demodulator structure to be applied during Sleep to Active Value is stored in demodulator structure to be applied during Sleep to Active
transition. transition.
Value: Value:
- 0: Gated - 0: Gated
- 1: Continuous (Default) - 1: Continuous (Default)
*/ */
u8 ts_clk; u8 ts_clk;
/** /**
@brief Disable/Enable TS clock during specified TS region. @brief Disable/Enable TS clock during specified TS region.
bit flags: ( can be bitwise ORed ) bit flags: ( can be bitwise ORed )
- 0 : Always Active - 0 : Always Active
- 1 : Disable during TS packet gap (default) - 1 : Disable during TS packet gap (default)
- 2 : Disable during TS parity (default) - 2 : Disable during TS parity (default)
- 4 : Disable during TS payload - 4 : Disable during TS payload
- 8 : Disable during TS header - 8 : Disable during TS header
- 16: Disable during TS sync - 16: Disable during TS sync
*/ */
u8 ts_clk_mask; u8 ts_clk_mask;
/** /**
@brief Disable/Enable TSVALID during specified TS region. @brief Disable/Enable TSVALID during specified TS region.
bit flags: ( can be bitwise ORed ) bit flags: ( can be bitwise ORed )
- 0 : Always Active - 0 : Always Active
- 1 : Disable during TS packet gap (default) - 1 : Disable during TS packet gap (default)
- 2 : Disable during TS parity (default) - 2 : Disable during TS parity (default)
- 4 : Disable during TS payload - 4 : Disable during TS payload
- 8 : Disable during TS header - 8 : Disable during TS header
- 16: Disable during TS sync - 16: Disable during TS sync
*/ */
u8 ts_valid; u8 ts_valid;
u8 atscCoreDisable; u8 atscCoreDisable;
bool lock_flag; //for usb device bool lock_flag; //for usb device
//for ecp3 update //for ecp3 update
void (*write_properties) (struct i2c_adapter *i2c,u8 reg, u32 buf); void (*write_properties) (struct i2c_adapter *i2c,u8 reg, u32 buf);
void (*read_properties) (struct i2c_adapter *i2c,u8 reg, u32 *buf); void (*read_properties) (struct i2c_adapter *i2c,u8 reg, u32 *buf);
// EEPROM access // EEPROM access
void (*write_eeprom) (struct i2c_adapter *i2c,u8 reg, u8 buf); void (*write_eeprom) (struct i2c_adapter *i2c,u8 reg, u8 buf);
void (*read_eeprom) (struct i2c_adapter *i2c,u8 reg, u8 *buf); void (*read_eeprom) (struct i2c_adapter *i2c,u8 reg, u8 *buf);
//for 6590SE mode change(T or s); //for 6590SE mode change(T or s);
void (*RF_switch)(struct i2c_adapter * i2c,u8 rf_in,u8 flag); void (*RF_switch)(struct i2c_adapter * i2c,u8 rf_in,u8 flag);
u8 rf_port; //for change command u8 rf_port; //for change command
}; };
#if IS_REACHABLE(CONFIG_DVB_CXD2878) #if IS_REACHABLE(CONFIG_DVB_CXD2878)
extern struct dvb_frontend *cxd2878_attach( extern struct dvb_frontend *cxd2878_attach(
const struct cxd2878_config *config, const struct cxd2878_config *config,
struct i2c_adapter *i2c); struct i2c_adapter *i2c);
#else #else
static inline struct dvb_frontend *cxd2878_attach( static inline struct dvb_frontend *cxd2878_attach(
const struct cxd2878_config *config, const struct cxd2878_config *config,
struct i2c_adapter *i2c) struct i2c_adapter *i2c)
{ {
dev_warn(&i2c->dev, "%s: driver disabled by Kconfig\n", __func__); dev_warn(&i2c->dev, "%s: driver disabled by Kconfig\n", __func__);
return NULL; return NULL;
} }
#endif #endif
#endif #endif

View File

@@ -1,161 +1,161 @@
#ifndef _CXD2878_PRIV_H_ #ifndef _CXD2878_PRIV_H_
#define _CXD2878_PRIV_H_ #define _CXD2878_PRIV_H_
#define AUTO (0xFF) /* For IF_OUT_SEL and AGC_SEL, it means that the value is desided by config flags. */ #define AUTO (0xFF) /* For IF_OUT_SEL and AGC_SEL, it means that the value is desided by config flags. */
/* For RF_GAIN, it means that RF_GAIN_SEL(SubAddr:0x4E) = 1 */ /* For RF_GAIN, it means that RF_GAIN_SEL(SubAddr:0x4E) = 1 */
#define OFFSET(ofs) ((u8)(ofs) & 0x1F) #define OFFSET(ofs) ((u8)(ofs) & 0x1F)
#define BW_6 (0x00) #define BW_6 (0x00)
#define BW_7 (0x01) #define BW_7 (0x01)
#define BW_8 (0x02) #define BW_8 (0x02)
#define BW_1_7 (0x03) #define BW_1_7 (0x03)
#define MAX_BIT_PRECISION 5 #define MAX_BIT_PRECISION 5
#define FRAC_BITMASK 0x1F #define FRAC_BITMASK 0x1F
#define LOG2_10_100X 332 /**< log2 (10) */ #define LOG2_10_100X 332 /**< log2 (10) */
#define LOG2_E_100X 144 /**< log2 (e) */ #define LOG2_E_100X 144 /**< log2 (e) */
////////////////////////////// //////////////////////////////
enum sony_ascot3_tv_system_t{ enum sony_ascot3_tv_system_t{
SONY_ASCOT3_TV_SYSTEM_UNKNOWN, SONY_ASCOT3_TV_SYSTEM_UNKNOWN,
/* Analog */ /* Analog */
SONY_ASCOT3_ATV_MN_EIAJ, /**< System-M (Japan) (IF: Fp=5.75MHz in default) */ SONY_ASCOT3_ATV_MN_EIAJ, /**< System-M (Japan) (IF: Fp=5.75MHz in default) */
SONY_ASCOT3_ATV_MN_SAP, /**< System-M (US) (IF: Fp=5.75MHz in default) */ SONY_ASCOT3_ATV_MN_SAP, /**< System-M (US) (IF: Fp=5.75MHz in default) */
SONY_ASCOT3_ATV_MN_A2, /**< System-M (Korea) (IF: Fp=5.9MHz in default) */ SONY_ASCOT3_ATV_MN_A2, /**< System-M (Korea) (IF: Fp=5.9MHz in default) */
SONY_ASCOT3_ATV_BG, /**< System-B/G (IF: Fp=7.3MHz in default) */ SONY_ASCOT3_ATV_BG, /**< System-B/G (IF: Fp=7.3MHz in default) */
SONY_ASCOT3_ATV_I, /**< System-I (IF: Fp=7.85MHz in default) */ SONY_ASCOT3_ATV_I, /**< System-I (IF: Fp=7.85MHz in default) */
SONY_ASCOT3_ATV_DK, /**< System-D/K (IF: Fp=7.85MHz in default) */ SONY_ASCOT3_ATV_DK, /**< System-D/K (IF: Fp=7.85MHz in default) */
SONY_ASCOT3_ATV_L, /**< System-L (IF: Fp=7.85MHz in default) */ SONY_ASCOT3_ATV_L, /**< System-L (IF: Fp=7.85MHz in default) */
SONY_ASCOT3_ATV_L_DASH, /**< System-L DASH (IF: Fp=2.2MHz in default) */ SONY_ASCOT3_ATV_L_DASH, /**< System-L DASH (IF: Fp=2.2MHz in default) */
/* Digital */ /* Digital */
SONY_ASCOT3_DTV_8VSB, /**< ATSC 8VSB (IF: Fc=3.7MHz in default) */ SONY_ASCOT3_DTV_8VSB, /**< ATSC 8VSB (IF: Fc=3.7MHz in default) */
SONY_ASCOT3_DTV_QAM, /**< US QAM (IF: Fc=3.7MHz in default) */ SONY_ASCOT3_DTV_QAM, /**< US QAM (IF: Fc=3.7MHz in default) */
SONY_ASCOT3_DTV_ISDBT_6, /**< ISDB-T 6MHzBW (IF: Fc=3.55MHz in default) */ SONY_ASCOT3_DTV_ISDBT_6, /**< ISDB-T 6MHzBW (IF: Fc=3.55MHz in default) */
SONY_ASCOT3_DTV_ISDBT_7, /**< ISDB-T 7MHzBW (IF: Fc=4.15MHz in default) */ SONY_ASCOT3_DTV_ISDBT_7, /**< ISDB-T 7MHzBW (IF: Fc=4.15MHz in default) */
SONY_ASCOT3_DTV_ISDBT_8, /**< ISDB-T 8MHzBW (IF: Fc=4.75MHz in default) */ SONY_ASCOT3_DTV_ISDBT_8, /**< ISDB-T 8MHzBW (IF: Fc=4.75MHz in default) */
SONY_ASCOT3_DTV_DVBT_5, /**< DVB-T 5MHzBW (IF: Fc=3.6MHz in default) */ SONY_ASCOT3_DTV_DVBT_5, /**< DVB-T 5MHzBW (IF: Fc=3.6MHz in default) */
SONY_ASCOT3_DTV_DVBT_6, /**< DVB-T 6MHzBW (IF: Fc=3.6MHz in default) */ SONY_ASCOT3_DTV_DVBT_6, /**< DVB-T 6MHzBW (IF: Fc=3.6MHz in default) */
SONY_ASCOT3_DTV_DVBT_7, /**< DVB-T 7MHzBW (IF: Fc=4.2MHz in default) */ SONY_ASCOT3_DTV_DVBT_7, /**< DVB-T 7MHzBW (IF: Fc=4.2MHz in default) */
SONY_ASCOT3_DTV_DVBT_8, /**< DVB-T 8MHzBW (IF: Fc=4.8MHz in default) */ SONY_ASCOT3_DTV_DVBT_8, /**< DVB-T 8MHzBW (IF: Fc=4.8MHz in default) */
SONY_ASCOT3_DTV_DVBT2_1_7,/**< DVB-T2 1.7MHzBW (IF: Fc=3.5MHz in default) */ SONY_ASCOT3_DTV_DVBT2_1_7,/**< DVB-T2 1.7MHzBW (IF: Fc=3.5MHz in default) */
SONY_ASCOT3_DTV_DVBT2_5, /**< DVB-T2 5MHzBW (IF: Fc=3.6MHz in default) */ SONY_ASCOT3_DTV_DVBT2_5, /**< DVB-T2 5MHzBW (IF: Fc=3.6MHz in default) */
SONY_ASCOT3_DTV_DVBT2_6, /**< DVB-T2 6MHzBW (IF: Fc=3.6MHz in default) */ SONY_ASCOT3_DTV_DVBT2_6, /**< DVB-T2 6MHzBW (IF: Fc=3.6MHz in default) */
SONY_ASCOT3_DTV_DVBT2_7, /**< DVB-T2 7MHzBW (IF: Fc=4.2MHz in default) */ SONY_ASCOT3_DTV_DVBT2_7, /**< DVB-T2 7MHzBW (IF: Fc=4.2MHz in default) */
SONY_ASCOT3_DTV_DVBT2_8, /**< DVB-T2 8MHzBW (IF: Fc=4.8MHz in default) */ SONY_ASCOT3_DTV_DVBT2_8, /**< DVB-T2 8MHzBW (IF: Fc=4.8MHz in default) */
SONY_ASCOT3_DTV_DVBC_6, /**< DVB-C 6MHzBW (IF: Fc=3.7MHz in default) */ SONY_ASCOT3_DTV_DVBC_6, /**< DVB-C 6MHzBW (IF: Fc=3.7MHz in default) */
SONY_ASCOT3_DTV_DVBC_8, /**< DVB-C 8MHzBW (IF: Fc=4.9MHz in default) */ SONY_ASCOT3_DTV_DVBC_8, /**< DVB-C 8MHzBW (IF: Fc=4.9MHz in default) */
SONY_ASCOT3_DTV_DVBC2_6, /**< DVB-C2 6MHzBW (IF: Fc=3.7MHz in default) */ SONY_ASCOT3_DTV_DVBC2_6, /**< DVB-C2 6MHzBW (IF: Fc=3.7MHz in default) */
SONY_ASCOT3_DTV_DVBC2_8, /**< DVB-C2 8MHzBW (IF: Fc=4.9MHz in default) */ SONY_ASCOT3_DTV_DVBC2_8, /**< DVB-C2 8MHzBW (IF: Fc=4.9MHz in default) */
SONY_ASCOT3_DTV_ATSC3_6, /**< ATSC 3.0 6MHzBW (IF: Fc=3.6MHz in default) */ SONY_ASCOT3_DTV_ATSC3_6, /**< ATSC 3.0 6MHzBW (IF: Fc=3.6MHz in default) */
SONY_ASCOT3_DTV_ATSC3_7, /**< ATSC 3.0 7MHzBW (IF: Fc=4.2MHz in default) */ SONY_ASCOT3_DTV_ATSC3_7, /**< ATSC 3.0 7MHzBW (IF: Fc=4.2MHz in default) */
SONY_ASCOT3_DTV_ATSC3_8, /**< ATSC 3.0 8MHzBW (IF: Fc=4.8MHz in default) */ SONY_ASCOT3_DTV_ATSC3_8, /**< ATSC 3.0 8MHzBW (IF: Fc=4.8MHz in default) */
SONY_ASCOT3_DTV_J83B_5_6, /**< J.83B 5.6Msps (IF: Fc=3.75MHz in default) */ SONY_ASCOT3_DTV_J83B_5_6, /**< J.83B 5.6Msps (IF: Fc=3.75MHz in default) */
SONY_ASCOT3_DTV_DTMB, /**< DTMB (IF: Fc=5.1MHz in default) */ SONY_ASCOT3_DTV_DTMB, /**< DTMB (IF: Fc=5.1MHz in default) */
SONY_ASCOT3_ATV_MIN = SONY_ASCOT3_ATV_MN_EIAJ, /**< Minimum analog terrestrial system */ SONY_ASCOT3_ATV_MIN = SONY_ASCOT3_ATV_MN_EIAJ, /**< Minimum analog terrestrial system */
SONY_ASCOT3_ATV_MAX = SONY_ASCOT3_ATV_L_DASH, /**< Maximum analog terrestrial system */ SONY_ASCOT3_ATV_MAX = SONY_ASCOT3_ATV_L_DASH, /**< Maximum analog terrestrial system */
SONY_ASCOT3_DTV_MIN = SONY_ASCOT3_DTV_8VSB, /**< Minimum digital terrestrial system */ SONY_ASCOT3_DTV_MIN = SONY_ASCOT3_DTV_8VSB, /**< Minimum digital terrestrial system */
SONY_ASCOT3_DTV_MAX = SONY_ASCOT3_DTV_DTMB, /**< Maximum digital terrestrial system */ SONY_ASCOT3_DTV_MAX = SONY_ASCOT3_DTV_DTMB, /**< Maximum digital terrestrial system */
SONY_ASCOT3_TV_SYSTEM_NUM /**< Number of supported broadcasting system */ SONY_ASCOT3_TV_SYSTEM_NUM /**< Number of supported broadcasting system */
} ; } ;
struct sony_ascot3_adjust_param_t { struct sony_ascot3_adjust_param_t {
u8 OUTLMT; /**< Addr:0x68 Bit[1:0] : Maximum IF output. (0: 1.5Vp-p, 1: 1.2Vp-p) */ u8 OUTLMT; /**< Addr:0x68 Bit[1:0] : Maximum IF output. (0: 1.5Vp-p, 1: 1.2Vp-p) */
u8 RF_GAIN; /**< Addr:0x69 Bit[6:4] : RFVGA gain. 0xFF means Auto. (RF_GAIN_SEL = 1) */ u8 RF_GAIN; /**< Addr:0x69 Bit[6:4] : RFVGA gain. 0xFF means Auto. (RF_GAIN_SEL = 1) */
u8 IF_BPF_GC; /**< Addr:0x69 Bit[3:0] : IF_BPF gain. */ u8 IF_BPF_GC; /**< Addr:0x69 Bit[3:0] : IF_BPF gain. */
u8 RFOVLD_DET_LV1_VL; /**< Addr:0x6B Bit[3:0] : RF overload RF input detect level. (FRF <= 172MHz) */ u8 RFOVLD_DET_LV1_VL; /**< Addr:0x6B Bit[3:0] : RF overload RF input detect level. (FRF <= 172MHz) */
u8 RFOVLD_DET_LV1_VH; /**< Addr:0x6B Bit[3:0] : RF overload RF input detect level. (172MHz < FRF <= 464MHz) */ u8 RFOVLD_DET_LV1_VH; /**< Addr:0x6B Bit[3:0] : RF overload RF input detect level. (172MHz < FRF <= 464MHz) */
u8 RFOVLD_DET_LV1_U; /**< Addr:0x6B Bit[3:0] : RF overload RF input detect level. (FRF > 464MHz) */ u8 RFOVLD_DET_LV1_U; /**< Addr:0x6B Bit[3:0] : RF overload RF input detect level. (FRF > 464MHz) */
u8 IFOVLD_DET_LV_VL; /**< Addr:0x6C Bit[2:0] : Internal RFAGC detect level. (FRF <= 172MHz) */ u8 IFOVLD_DET_LV_VL; /**< Addr:0x6C Bit[2:0] : Internal RFAGC detect level. (FRF <= 172MHz) */
u8 IFOVLD_DET_LV_VH; /**< Addr:0x6C Bit[2:0] : Internal RFAGC detect level. (172MHz < FRF <= 464MHz) */ u8 IFOVLD_DET_LV_VH; /**< Addr:0x6C Bit[2:0] : Internal RFAGC detect level. (172MHz < FRF <= 464MHz) */
u8 IFOVLD_DET_LV_U; /**< Addr:0x6C Bit[2:0] : Internal RFAGC detect level. (FRF > 464MHz) */ u8 IFOVLD_DET_LV_U; /**< Addr:0x6C Bit[2:0] : Internal RFAGC detect level. (FRF > 464MHz) */
u8 IF_BPF_F0; /**< Addr:0x6D Bit[5:4] : IF filter center offset. */ u8 IF_BPF_F0; /**< Addr:0x6D Bit[5:4] : IF filter center offset. */
u8 BW; /**< Addr:0x6D Bit[1:0] : 6MHzBW(0x00) or 7MHzBW(0x01) or 8MHzBW(0x02) or 1.7MHzBW(0x03) */ u8 BW; /**< Addr:0x6D Bit[1:0] : 6MHzBW(0x00) or 7MHzBW(0x01) or 8MHzBW(0x02) or 1.7MHzBW(0x03) */
u8 FIF_OFFSET; /**< Addr:0x6E Bit[4:0] : 5bit signed. IF offset (kHz) = FIF_OFFSET x 50 */ u8 FIF_OFFSET; /**< Addr:0x6E Bit[4:0] : 5bit signed. IF offset (kHz) = FIF_OFFSET x 50 */
u8 BW_OFFSET; /**< Addr:0x6F Bit[4:0] : 5bit signed. BW offset (kHz) = BW_OFFSET x 50 (BW_OFFSET x 10 in 1.7MHzBW) */ u8 BW_OFFSET; /**< Addr:0x6F Bit[4:0] : 5bit signed. BW offset (kHz) = BW_OFFSET x 50 (BW_OFFSET x 10 in 1.7MHzBW) */
u8 AGC_SEL; /**< Addr:0x74 Bit[5:4] : AGC pin select. (0: AGC1, 1: AGC2) 0xFF means Auto (by config flags) */ u8 AGC_SEL; /**< Addr:0x74 Bit[5:4] : AGC pin select. (0: AGC1, 1: AGC2) 0xFF means Auto (by config flags) */
u8 IF_OUT_SEL; /**< Addr:0x74 Bit[1:0] : IFOUT pin select. (0: IFOUT1, 1: IFOUT2) 0xFF means Auto. (by config flags) */ u8 IF_OUT_SEL; /**< Addr:0x74 Bit[1:0] : IFOUT pin select. (0: IFOUT1, 1: IFOUT2) 0xFF means Auto. (by config flags) */
u8 IS_LOWERLOCAL; /**< Addr:0x9C Bit[0] : Local polarity. (0: Upper Local, 1: Lower Local) */ u8 IS_LOWERLOCAL; /**< Addr:0x9C Bit[0] : Local polarity. (0: Upper Local, 1: Lower Local) */
} ; } ;
//////////////////////// ////////////////////////
enum sony_demod_chip_id_t{ enum sony_demod_chip_id_t{
SONY_DEMOD_CHIP_ID_UNKNOWN = 0, /**< Unknown */ SONY_DEMOD_CHIP_ID_UNKNOWN = 0, /**< Unknown */
SONY_DEMOD_CHIP_ID_CXD2856 = 0x090, /**< CXD2856 / CXD6800(SiP) */ SONY_DEMOD_CHIP_ID_CXD2856 = 0x090, /**< CXD2856 / CXD6800(SiP) */
SONY_DEMOD_CHIP_ID_CXD2857 = 0x091, /**< CXD2857 */ SONY_DEMOD_CHIP_ID_CXD2857 = 0x091, /**< CXD2857 */
SONY_DEMOD_CHIP_ID_CXD2878 = 0x396, /**< CXD2878 / CXD6801(SiP) */ SONY_DEMOD_CHIP_ID_CXD2878 = 0x396, /**< CXD2878 / CXD6801(SiP) */
SONY_DEMOD_CHIP_ID_CXD2879 = 0x297, /**< CXD2879 */ SONY_DEMOD_CHIP_ID_CXD2879 = 0x297, /**< CXD2879 */
SONY_DEMOD_CHIP_ID_CXD6802 = 0x197 /**< CXD6802(SiP) */ SONY_DEMOD_CHIP_ID_CXD6802 = 0x197 /**< CXD6802(SiP) */
} ; } ;
enum sony_ascot3_chip_id_t{ enum sony_ascot3_chip_id_t{
SONY_ASCOT3_CHIP_ID_UNKNOWN, /**< Unknown */ SONY_ASCOT3_CHIP_ID_UNKNOWN, /**< Unknown */
SONY_ASCOT3_CHIP_ID_2871, /**< CXD2871 (for TV) */ SONY_ASCOT3_CHIP_ID_2871, /**< CXD2871 (for TV) */
SONY_ASCOT3_CHIP_ID_2872, /**< CXD2872 (for STB) */ SONY_ASCOT3_CHIP_ID_2872, /**< CXD2872 (for STB) */
SONY_ASCOT3_CHIP_ID_2871A, /**< CXD2871A (ASCOT3I) (for TV) */ SONY_ASCOT3_CHIP_ID_2871A, /**< CXD2871A (ASCOT3I) (for TV) */
SONY_ASCOT3_CHIP_ID_2875 /**< CXD2875 */ SONY_ASCOT3_CHIP_ID_2875 /**< CXD2875 */
} ; } ;
enum sony_dtv_system_t{ enum sony_dtv_system_t{
SONY_DTV_SYSTEM_UNKNOWN, /**< Unknown. */ SONY_DTV_SYSTEM_UNKNOWN, /**< Unknown. */
SONY_DTV_SYSTEM_DVBT, /**< DVB-T */ SONY_DTV_SYSTEM_DVBT, /**< DVB-T */
SONY_DTV_SYSTEM_DVBT2, /**< DVB-T2 */ SONY_DTV_SYSTEM_DVBT2, /**< DVB-T2 */
SONY_DTV_SYSTEM_DVBC, /**< DVB-C(J.83A) */ SONY_DTV_SYSTEM_DVBC, /**< DVB-C(J.83A) */
SONY_DTV_SYSTEM_DVBC2, /**< DVB-C2(J.382) */ SONY_DTV_SYSTEM_DVBC2, /**< DVB-C2(J.382) */
SONY_DTV_SYSTEM_ATSC, /**< ATSC */ SONY_DTV_SYSTEM_ATSC, /**< ATSC */
SONY_DTV_SYSTEM_ATSC3, /**< ATSC3.0 */ SONY_DTV_SYSTEM_ATSC3, /**< ATSC3.0 */
SONY_DTV_SYSTEM_ISDBT, /**< ISDB-T */ SONY_DTV_SYSTEM_ISDBT, /**< ISDB-T */
SONY_DTV_SYSTEM_ISDBC, /**< ISDB-C(J.83C) */ SONY_DTV_SYSTEM_ISDBC, /**< ISDB-C(J.83C) */
SONY_DTV_SYSTEM_J83B, /**< J.83B */ SONY_DTV_SYSTEM_J83B, /**< J.83B */
SONY_DTV_SYSTEM_DVBS, /**< DVB-S */ SONY_DTV_SYSTEM_DVBS, /**< DVB-S */
SONY_DTV_SYSTEM_DVBS2, /**< DVB-S2 */ SONY_DTV_SYSTEM_DVBS2, /**< DVB-S2 */
SONY_DTV_SYSTEM_ISDBS, /**< ISDB-S */ SONY_DTV_SYSTEM_ISDBS, /**< ISDB-S */
SONY_DTV_SYSTEM_ISDBS3, /**< ISDB-S3 */ SONY_DTV_SYSTEM_ISDBS3, /**< ISDB-S3 */
SONY_DTV_SYSTEM_ANY /**< Used for multiple system scanning / blind tuning */ SONY_DTV_SYSTEM_ANY /**< Used for multiple system scanning / blind tuning */
} ; } ;
enum sony_dtv_bandwidth_t{ enum sony_dtv_bandwidth_t{
SONY_DTV_BW_UNKNOWN = 0, /**< Unknown bandwidth. */ SONY_DTV_BW_UNKNOWN = 0, /**< Unknown bandwidth. */
SONY_DTV_BW_1_7_MHZ = 1, /**< 1.7MHz bandwidth. */ SONY_DTV_BW_1_7_MHZ = 1, /**< 1.7MHz bandwidth. */
SONY_DTV_BW_5_MHZ = 5, /**< 5MHz bandwidth. */ SONY_DTV_BW_5_MHZ = 5, /**< 5MHz bandwidth. */
SONY_DTV_BW_6_MHZ = 6, /**< 6MHz bandwidth. */ SONY_DTV_BW_6_MHZ = 6, /**< 6MHz bandwidth. */
SONY_DTV_BW_7_MHZ = 7, /**< 7MHz bandwidth. */ SONY_DTV_BW_7_MHZ = 7, /**< 7MHz bandwidth. */
SONY_DTV_BW_8_MHZ = 8, /**< 8MHz bandwidth. */ SONY_DTV_BW_8_MHZ = 8, /**< 8MHz bandwidth. */
SONY_DTV_BW_J83B_5_06_5_36_MSPS = 50, /**< For J.83B. 5.06/5.36Msps auto selection commonly used in US. */ SONY_DTV_BW_J83B_5_06_5_36_MSPS = 50, /**< For J.83B. 5.06/5.36Msps auto selection commonly used in US. */
SONY_DTV_BW_J83B_5_60_MSPS = 51 /**< For J.83B. 5.6Msps used by SKY PerfecTV! Hikari in Japan. */ SONY_DTV_BW_J83B_5_60_MSPS = 51 /**< For J.83B. 5.6Msps used by SKY PerfecTV! Hikari in Japan. */
} ; } ;
enum sony_demod_state_t{ enum sony_demod_state_t{
SONY_DEMOD_STATE_UNKNOWN, /**< Unknown. */ SONY_DEMOD_STATE_UNKNOWN, /**< Unknown. */
SONY_DEMOD_STATE_SHUTDOWN, /**< Chip is in Shutdown state. */ SONY_DEMOD_STATE_SHUTDOWN, /**< Chip is in Shutdown state. */
SONY_DEMOD_STATE_SLEEP, /**< Chip is in Sleep state. */ SONY_DEMOD_STATE_SLEEP, /**< Chip is in Sleep state. */
SONY_DEMOD_STATE_ACTIVE, /**< Chip is in Active state. */ SONY_DEMOD_STATE_ACTIVE, /**< Chip is in Active state. */
SONY_DEMOD_STATE_INVALID /**< Invalid, result of an error during a state change. */ SONY_DEMOD_STATE_INVALID /**< Invalid, result of an error during a state change. */
} ; } ;
struct sony_demod_ts_clk_configuration_t{ struct sony_demod_ts_clk_configuration_t{
u8 serialClkMode; /**< Serial clock mode (gated or continuous) */ u8 serialClkMode; /**< Serial clock mode (gated or continuous) */
u8 serialDutyMode; /**< Serial clock duty mode (full rate or half rate) */ u8 serialDutyMode; /**< Serial clock duty mode (full rate or half rate) */
u8 tsClkPeriod; /**< TS clock period */ u8 tsClkPeriod; /**< TS clock period */
u8 clkSelTSIf; /**< TS clock frequency (low, mid or high) */ u8 clkSelTSIf; /**< TS clock frequency (low, mid or high) */
} ; } ;
struct sony_demod_iffreq_config_t{ struct sony_demod_iffreq_config_t{
u32 configDVBT_5; /**< DVB-T 5MHz */ u32 configDVBT_5; /**< DVB-T 5MHz */
u32 configDVBT_6; /**< DVB-T 6MHz */ u32 configDVBT_6; /**< DVB-T 6MHz */
u32 configDVBT_7; /**< DVB-T 7MHz */ u32 configDVBT_7; /**< DVB-T 7MHz */
u32 configDVBT_8; /**< DVB-T 8MHz */ u32 configDVBT_8; /**< DVB-T 8MHz */
u32 configDVBT2_1_7; /**< DVB-T2 1.7MHz */ u32 configDVBT2_1_7; /**< DVB-T2 1.7MHz */
u32 configDVBT2_5; /**< DVB-T2 5MHz */ u32 configDVBT2_5; /**< DVB-T2 5MHz */
u32 configDVBT2_6; /**< DVB-T2 6MHz */ u32 configDVBT2_6; /**< DVB-T2 6MHz */
u32 configDVBT2_7; /**< DVB-T2 7MHz */ u32 configDVBT2_7; /**< DVB-T2 7MHz */
u32 configDVBT2_8; /**< DVB-T2 8MHz */ u32 configDVBT2_8; /**< DVB-T2 8MHz */
u32 configDVBC_6; /**< DVB-C 6MHz */ u32 configDVBC_6; /**< DVB-C 6MHz */
u32 configDVBC_7; /**< DVB-C 7MHz */ u32 configDVBC_7; /**< DVB-C 7MHz */
u32 configDVBC_8; /**< DVB-C 8MHz */ u32 configDVBC_8; /**< DVB-C 8MHz */
u32 configATSC; /**< ATSC 1.0 */ u32 configATSC; /**< ATSC 1.0 */
u32 configISDBT_6; /**< ISDB-T 6MHz */ u32 configISDBT_6; /**< ISDB-T 6MHz */
u32 configISDBT_7; /**< ISDB-T 7MHz */ u32 configISDBT_7; /**< ISDB-T 7MHz */
u32 configISDBT_8; /**< ISDB-T 8MHz */ u32 configISDBT_8; /**< ISDB-T 8MHz */
u32 configJ83B_5_06_5_36; /**< J.83B 5.06/5.36Msps auto selection */ u32 configJ83B_5_06_5_36; /**< J.83B 5.06/5.36Msps auto selection */
u32 configJ83B_5_60; /**< J.83B. 5.6Msps */ u32 configJ83B_5_60; /**< J.83B. 5.6Msps */
} ; } ;
#endif #endif