PageRenderTime 18ms CodeModel.GetById 6ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/drivers/media/dvb/frontends/s921_core.h

https://bitbucket.org/abioy/linux
C Header | 114 lines | 100 code | 11 blank | 3 comment | 0 complexity | 79c0aa01d2f1ab4575eed374946a7920 MD5 | raw file
Possible License(s): CC-BY-SA-3.0, GPL-2.0, LGPL-2.0, AGPL-1.0
  1#ifndef _S921_CORE_H
  2#define _S921_CORE_H
  3//#define u8 unsigned int
  4//#define u32 unsigned int
  5
  6
  7
  8//#define EINVAL -1
  9#define E_OK 0
 10
 11struct s921_isdb_t {
 12	void *priv_dev;
 13	int (*i2c_write)(void *dev, u8 reg, u8 val);
 14	int (*i2c_read)(void *dev, u8 reg);
 15};
 16
 17#define ISDB_T_CMD_INIT       0
 18#define ISDB_T_CMD_SET_PARAM  1
 19#define ISDB_T_CMD_TUNE       2
 20#define ISDB_T_CMD_GET_STATUS 3
 21
 22struct s921_isdb_t_tune_params {
 23	u32 frequency;
 24};
 25
 26struct s921_isdb_t_status {
 27};
 28
 29struct s921_isdb_t_transmission_mode_params {
 30	u8 mode;
 31	u8 layer_a_mode;
 32#define ISDB_T_LA_MODE_1 0
 33#define ISDB_T_LA_MODE_2 1
 34#define ISDB_T_LA_MODE_3 2
 35	u8 layer_a_carrier_modulation;
 36#define ISDB_T_LA_CM_DQPSK 0
 37#define ISDB_T_LA_CM_QPSK  1
 38#define ISDB_T_LA_CM_16QAM 2
 39#define ISDB_T_LA_CM_64QAM 3
 40#define ISDB_T_LA_CM_NOLAYER 4
 41	u8 layer_a_code_rate;
 42#define ISDB_T_LA_CR_1_2   0
 43#define ISDB_T_LA_CR_2_3   1
 44#define ISDB_T_LA_CR_3_4   2
 45#define ISDB_T_LA_CR_5_6   4
 46#define ISDB_T_LA_CR_7_8   8
 47#define ISDB_T_LA_CR_NOLAYER   16
 48	u8 layer_a_time_interleave;
 49#define ISDB_T_LA_TI_0  0
 50#define ISDB_T_LA_TI_1  1
 51#define ISDB_T_LA_TI_2  2
 52#define ISDB_T_LA_TI_4  4
 53#define ISDB_T_LA_TI_8  8
 54#define ISDB_T_LA_TI_16 16
 55#define ISDB_T_LA_TI_32 32
 56	u8 layer_a_nseg;
 57
 58	u8 layer_b_mode;
 59#define ISDB_T_LB_MODE_1 0
 60#define ISDB_T_LB_MODE_2 1
 61#define ISDB_T_LB_MODE_3 2
 62	u8 layer_b_carrier_modulation;
 63#define ISDB_T_LB_CM_DQPSK 0
 64#define ISDB_T_LB_CM_QPSK  1
 65#define ISDB_T_LB_CM_16QAM 2
 66#define ISDB_T_LB_CM_64QAM 3
 67#define ISDB_T_LB_CM_NOLAYER 4
 68	u8 layer_b_code_rate;
 69#define ISDB_T_LB_CR_1_2   0
 70#define ISDB_T_LB_CR_2_3   1
 71#define ISDB_T_LB_CR_3_4   2
 72#define ISDB_T_LB_CR_5_6   4
 73#define ISDB_T_LB_CR_7_8   8
 74#define ISDB_T_LB_CR_NOLAYER   16
 75	u8 layer_b_time_interleave;
 76#define ISDB_T_LB_TI_0  0
 77#define ISDB_T_LB_TI_1  1
 78#define ISDB_T_LB_TI_2  2
 79#define ISDB_T_LB_TI_4  4
 80#define ISDB_T_LB_TI_8  8
 81#define ISDB_T_LB_TI_16 16
 82#define ISDB_T_LB_TI_32 32
 83	u8 layer_b_nseg;
 84
 85	u8 layer_c_mode;
 86#define ISDB_T_LC_MODE_1 0
 87#define ISDB_T_LC_MODE_2 1
 88#define ISDB_T_LC_MODE_3 2
 89	u8 layer_c_carrier_modulation;
 90#define ISDB_T_LC_CM_DQPSK 0
 91#define ISDB_T_LC_CM_QPSK  1
 92#define ISDB_T_LC_CM_16QAM 2
 93#define ISDB_T_LC_CM_64QAM 3
 94#define ISDB_T_LC_CM_NOLAYER 4
 95	u8 layer_c_code_rate;
 96#define ISDB_T_LC_CR_1_2   0
 97#define ISDB_T_LC_CR_2_3   1
 98#define ISDB_T_LC_CR_3_4   2
 99#define ISDB_T_LC_CR_5_6   4
100#define ISDB_T_LC_CR_7_8   8
101#define ISDB_T_LC_CR_NOLAYER   16
102	u8 layer_c_time_interleave;
103#define ISDB_T_LC_TI_0  0
104#define ISDB_T_LC_TI_1  1
105#define ISDB_T_LC_TI_2  2
106#define ISDB_T_LC_TI_4  4
107#define ISDB_T_LC_TI_8  8
108#define ISDB_T_LC_TI_16 16
109#define ISDB_T_LC_TI_32 32
110	u8 layer_c_nseg;
111};
112
113int s921_isdb_cmd(struct s921_isdb_t *dev, u32 cmd, void *data);
114#endif