hc
2024-08-12 233ab1bd4c5697f5cdec94e60206e8c6ac609b4c
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
/******************************************************************************
 *
 * 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 _HALBB_API_H_
#define _HALBB_API_H_
 
#include "halbb_ic_hw_info.h"
 
/*@--------------------------[Define] ---------------------------------------*/
#define IGI_2_RSSI(igi)        (igi - 10)
 
#define FUNC_ENABLE 1
#define FUNC_DISABLE 2
/*@--------------------------[Enum]------------------------------------------*/
enum bb_rfe_src_sel {
   PAPE_RFM        = 0,
   GNT_BT_INV        = 1,
   LNA0N            = 2,
   LNAON_RFM        = 3,
   TRSW_RFM        = 4,
   TRSW_RFM_B        = 5,
   GNT_BT            = 6,
   ZERO            = 7,
   ANTSEL_0        = 8,
   ANTSEL_1        = 9,
   ANTSEL_2        = 0xa,
   ANTSEL_3        = 0xb,
   ANTSEL_4        = 0xc,
   ANTSEL_5        = 0xd,
   ANTSEL_6        = 0xe,
   ANTSEL_7        = 0xf
};
 
 
/*@--------------------------[Structure]-------------------------------------*/
struct bb_api_info {
   u32 rxiqc_reg1; /*N-mode: for pathA REG0xc14*/
   u32 rxiqc_reg2; /*N-mode: for pathB REG0xc1c*/
   u8 tx_queue_bitmap; /*REG0x520[23:16]*/
   u8 ccktx_path;
   u8 pri_ch_idx;
   u8 central_ch;
   u8 bw;
   enum band_type band;
};
/*@--------------------------[Prptotype]-------------------------------------*/
struct bb_info;
void halbb_reset_bb_phy(struct bb_info *bb, enum phl_phy_idx phy_idx);
u8 halbb_wifi_event_notify(struct bb_info *bb, enum phl_msg_evt_id event, enum phl_phy_idx phy_idx);
void halbb_gpio_setting_init(struct bb_info *bb);
void halbb_pre_agc_en(struct bb_info *bb, bool enable);
void halbb_set_gain_error(struct bb_info *bb, u8 central_ch);
u8 halbb_stop_ic_trx(struct bb_info *bb, u8 set_type);
void halbb_ic_api_dbg(struct bb_info *bb, char input[][16], u32 *_used,
           char *output, u32 *_out_len);
void halbb_reset_adc(struct bb_info *bb);
void halbb_ic_hw_setting_non_io(struct bb_info *bb);
void halbb_ic_hw_setting_low_io(struct bb_info *bb);
void halbb_ic_hw_setting(struct bb_info *bb);
void halbb_ic_hw_setting_dbg(struct bb_info *bb, char input[][16], 
                u32 *_used, char *output, u32 *_out_len);
#endif