• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/media/dvb/frontends/
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
115