1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
| #ifndef __INC_ADCSMP_H
| #define __INC_ADCSMP_H
|
| #define DYNAMIC_LA_MODE "1.0" /*2016.07.15 Dino */
|
| #if (PHYDM_LA_MODE_SUPPORT == 1)
|
| struct _RT_ADCSMP_STRING {
| u32 *octet;
| u32 length;
| u32 buffer_size;
| u32 start_pos;
| };
|
|
| enum rt_adcsmp_trig_sel {
| PHYDM_ADC_BB_TRIG = 0,
| PHYDM_ADC_MAC_TRIG = 1,
| PHYDM_ADC_RF0_TRIG = 2,
| PHYDM_ADC_RF1_TRIG = 3,
| PHYDM_MAC_TRIG = 4
| };
|
|
| enum rt_adcsmp_trig_sig_sel {
| ADCSMP_TRIG_CRCOK = 0,
| ADCSMP_TRIG_CRCFAIL = 1,
| ADCSMP_TRIG_CCA = 2,
| ADCSMP_TRIG_REG = 3
| };
|
|
| enum rt_adcsmp_state {
| ADCSMP_STATE_IDLE = 0,
| ADCSMP_STATE_SET = 1,
| ADCSMP_STATE_QUERY = 2
| };
|
|
| struct _RT_ADCSMP {
| struct _RT_ADCSMP_STRING adc_smp_buf;
| enum rt_adcsmp_state adc_smp_state;
| u8 la_trig_mode;
| u32 la_trig_sig_sel;
| u8 la_dma_type;
| u32 la_trigger_time;
| u32 la_mac_ref_mask;
| u32 la_dbg_port;
| u8 la_trigger_edge;
| u8 la_smp_rate;
| u32 la_count;
| u8 is_bb_trigger;
| u8 la_work_item_index;
|
| #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
| RT_WORK_ITEM adc_smp_work_item;
| RT_WORK_ITEM adc_smp_work_item_1;
| #endif
| };
|
| #if (DM_ODM_SUPPORT_TYPE & ODM_WIN)
| void
| adc_smp_work_item_callback(
| void *p_context
| );
| #endif
|
| void
| adc_smp_set(
| void *p_dm_void,
| u8 trig_mode,
| u32 trig_sig_sel,
| u8 dma_data_sig_sel,
| u32 trigger_time,
| u16 polling_time
| );
|
| #if (DM_ODM_SUPPORT_TYPE & ODM_WIN)
| enum rt_status
| adc_smp_query(
| void *p_dm_void,
| ULONG information_buffer_length,
| void *information_buffer,
| PULONG bytes_written
| );
| #elif (DM_ODM_SUPPORT_TYPE & ODM_CE)
| void
| adc_smp_query(
| void *p_dm_void,
| void *output,
| u32 out_len,
| u32 *pused
| );
|
| s32
| adc_smp_get_sample_counts(
| void *p_dm_void
| );
|
| s32
| adc_smp_query_single_data(
| void *p_dm_void,
| void *output,
| u32 out_len,
| u32 index
| );
|
| #endif
| void
| adc_smp_stop(
| void *p_dm_void
| );
|
| void
| adc_smp_init(
| void *p_dm_void
| );
|
| #if (DM_ODM_SUPPORT_TYPE & (ODM_WIN | ODM_CE))
| void
| adc_smp_de_init(
| void *p_dm_void
| );
| #endif
|
| void
| phydm_la_mode_bb_setting(
| void *p_dm_void
| );
|
| void
| phydm_la_mode_set_trigger_time(
| void *p_dm_void,
| u32 trigger_time_mu_sec
| );
|
| void
| phydm_lamode_trigger_setting(
| void *p_dm_void,
| char input[][16],
| u32 *_used,
| char *output,
| u32 *_out_len,
| u32 input_num
| );
| #endif
| #endif
|
|