hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
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
/******************************************************************************
 *
 * Copyright(c) 2019 Realtek Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 *****************************************************************************/
#ifndef __HALRF_DPK_H__
#define __HALRF_DPK_H__
 
/*@--------------------------Define Parameters-------------------------------*/
#define AVG_THERMAL_NUM_DPK 8
#define THERMAL_DPK_AVG_NUM 1
 
#if defined (RF_8852A_SUPPORT) || defined (RF_8852B_SUPPORT)
#define KPATH 2
#else
#define KPATH 1
#endif
#define DPK_BKUP_NUM 2
 
enum dpk_id {
   LBK_RXIQK    = 0x06,
   SYNC        = 0x10,
   MDPK_IDL    = 0x11,
   MDPK_MPA    = 0x12,
   GAIN_LOSS    = 0x13,
   GAIN_CAL    = 0x14,
   DPK_RXAGC    = 0x15,
   KIP_PRESET    = 0x16,
   KIP_RESTORE    = 0x17,
   DPK_TXAGC    = 0x19
};
 
struct dpk_bkup_para {
   enum band_type    band;        /* 2.4G,5G,6G*/
   enum channel_width    bw;
   u8    ch;
   u8    path_ok;
   u8    txagc_dpk;        /*txagc@dpk with path*/    
   u8    ther_dpk;        /*thermal@dpk with path*/    
   //u8    trk_idx_dpk;        /*track_idx@dpk with path*/    
   //u8    ther_tssi;        /*thermal@tssi with path*/
   u8    gs;
   u16    pwsf;
};
 
/*@---------------------------End Define Parameters---------------------------*/
 
struct halrf_dpk_info {
 
   bool    is_dpk_enable;
   bool    is_dpk_reload_en;
   u8    dpk_gs[2];            /*PHY*/
   u8    ther_avg[KPATH][AVG_THERMAL_NUM_DPK];    /*path*/
   u8    pre_pwsf[KPATH];
   u8    ther_avg_idx;
   u32    dpk_cal_cnt;
   u32    dpk_ok_cnt;
   u32    dpk_reload_cnt;
   u16    dc_i[KPATH][DPK_BKUP_NUM];        /*path*/
   u16    dc_q[KPATH][DPK_BKUP_NUM];        /*path*/
   u8    corr_val[KPATH][DPK_BKUP_NUM];        /*path*/
   u8    corr_idx[KPATH][DPK_BKUP_NUM];        /*path*/
   u8    cur_idx[KPATH];                /*path*/
 
   struct dpk_bkup_para bp[KPATH][DPK_BKUP_NUM];    /*path/index*/
};
 
#endif /*__HALRF_DPK_H__*/