net: wireless: rockchip_wlan: add rtl8723ds support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723ds / hal / phydm / phydm_adc_sampling.h
1 #ifndef __INC_ADCSMP_H\r
2 #define __INC_ADCSMP_H\r
3 \r
4 typedef struct _RT_ADCSMP_STRING {\r
5         pu4Byte         Octet;\r
6         u4Byte          Length;\r
7         u4Byte          buffer_size;\r
8         u4Byte          start_pos;\r
9 } RT_ADCSMP_STRING, *PRT_ADCSMP_STRING;\r
10 \r
11 \r
12 typedef enum _RT_ADCSMP_TRIG_SEL {\r
13         ADCSMP_BB_TRIG, \r
14         ADCSMP_MAC_TRIG, \r
15 } RT_ADCSMP_TRIG_SEL, *PRT_ADCSMP_TRIG_SEL;\r
16 \r
17 \r
18 typedef enum _RT_ADCSMP_TRIG_SIG_SEL {\r
19         ADCSMP_TRIG_CRCOK, \r
20         ADCSMP_TRIG_CRCFAIL, \r
21         ADCSMP_TRIG_CCA,\r
22         ADCSMP_TRIG_REG,\r
23 } RT_ADCSMP_TRIG_SIG_SEL, *PRT_ADCSMP_TRIG_SIG_SEL;\r
24 \r
25 \r
26 typedef enum _RT_ADCSMP_STATE {\r
27         ADCSMP_STATE_IDLE, \r
28         ADCSMP_STATE_SET, \r
29         ADCSMP_STATE_QUERY,\r
30 } RT_ADCSMP_STATE, *PRT_ADCSMP_STATE;\r
31 \r
32 \r
33 typedef struct _RT_ADCSMP {\r
34         RT_ADCSMP_STRING                ADCSmpBuf;\r
35         RT_ADCSMP_STATE                 ADCSmpState;\r
36         RT_ADCSMP_TRIG_SEL              ADCSmpTrigSel;\r
37         RT_ADCSMP_TRIG_SIG_SEL  ADCSmpTrigSigSel;\r
38         u1Byte                                  ADCSmpDmaDataSigSel;\r
39         u1Byte                                  ADCSmpTriggerTime;\r
40         u2Byte                                  ADCSmpPollingTime;\r
41 \r
42         #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)    \r
43         RT_WORK_ITEM    ADCSmpWorkItem;\r
44         #endif  \r
45 } RT_ADCSMP, *PRT_ADCSMP;\r
46 \r
47 #if (DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
48 VOID\r
49 ADCSmpWorkItemCallback(\r
50         IN      PVOID   pContext\r
51 );\r
52 #endif\r
53 \r
54 VOID\r
55 ADCSmp_Set(\r
56         IN      PVOID                                   pDM_VOID,\r
57         IN      RT_ADCSMP_TRIG_SEL              TrigSel,\r
58         IN      RT_ADCSMP_TRIG_SIG_SEL  TrigSigSel,\r
59         IN      u1Byte                                  DmaDataSigSel,\r
60         IN      u1Byte                                  TriggerTime,\r
61         IN      u2Byte                                  PollingTime\r
62 );\r
63 \r
64 #if (DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
65 RT_STATUS\r
66 ADCSmp_Query(\r
67         IN      PVOID   pDM_VOID,\r
68         IN      ULONG   InformationBufferLength, \r
69         OUT     PVOID   InformationBuffer, \r
70         OUT     PULONG  BytesWritten\r
71 );\r
72 #endif\r
73 VOID\r
74 ADCSmp_Stop(\r
75         IN      PVOID   pDM_VOID\r
76 );\r
77 \r
78 VOID\r
79 ADCSmp_Init(\r
80         IN      PVOID   pDM_VOID\r
81 );\r
82 \r
83 #if (DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
84 VOID\r
85 ADCSmp_DeInit(\r
86         IN              PVOID                   pDM_VOID\r
87 );\r
88 \r
89 #endif\r
90 #endif\r
91 \r