net: wireless: rockchip_wlan: add rtl8723cs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723cs / hal / phydm / phydm_ccx.h
1 #ifndef __PHYDMCCX_H__
2 #define    __PHYDMCCX_H__
3
4 #define CCX_EN 1
5
6 #define SET_NHM_SETTING         0
7 #define STORE_NHM_SETTING               1
8 #define RESTORE_NHM_SETTING     2
9
10 /*
11 #define NHM_EXCLUDE_CCA                 0
12 #define NHM_INCLUDE_CCA                 1
13 #define NHM_EXCLUDE_TXON                        0
14 #define NHM_INCLUDE_TXON                        1
15 */
16
17 enum nhm_inexclude_cca {
18         NHM_EXCLUDE_CCA,
19         NHM_INCLUDE_CCA
20 };
21
22 enum nhm_inexclude_txon {
23         NHM_EXCLUDE_TXON,
24         NHM_INCLUDE_TXON
25 };
26
27
28 struct _CCX_INFO {
29
30         /*Settings*/
31         u8                                      NHM_th[11];
32         u16                                     NHM_period;                             /* 4us per unit */
33         u16                                     CLM_period;                             /* 4us per unit */
34         enum nhm_inexclude_txon         nhm_inexclude_txon;
35         enum nhm_inexclude_cca          nhm_inexclude_cca;
36
37         /*Previous Settings*/
38         u8                                      NHM_th_restore[11];
39         u16                                     NHM_period_restore;                             /* 4us per unit */
40         u16                                     CLM_period_restore;                             /* 4us per unit */
41         enum nhm_inexclude_txon         NHM_inexclude_txon_restore;
42         enum nhm_inexclude_cca          NHM_inexclude_cca_restore;
43
44         /*Report*/
45         u8              NHM_result[12];
46         u16             NHM_duration;
47         u16             CLM_result;
48
49
50         boolean         echo_NHM_en;
51         boolean         echo_CLM_en;
52         u8              echo_IGI;
53
54 };
55
56 /*NHM*/
57
58 void
59 phydm_nhm_setting(
60         void            *p_dm_void,
61         u8      nhm_setting
62 );
63
64 void
65 phydm_nhm_trigger(
66         void            *p_dm_void
67 );
68
69 void
70 phydm_get_nhm_result(
71         void            *p_dm_void
72 );
73
74 boolean
75 phydm_check_nhm_ready(
76         void            *p_dm_void
77 );
78
79 /*CLM*/
80
81 void
82 phydm_clm_setting(
83         void                    *p_dm_void
84 );
85
86 void
87 phydm_clm_trigger(
88         void                    *p_dm_void
89 );
90
91 boolean
92 phydm_check_cl_mready(
93         void                    *p_dm_void
94 );
95
96 void
97 phydm_get_cl_mresult(
98         void                    *p_dm_void
99 );
100
101
102 #endif