xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/include/d11reglist_proto.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* D11reglist prototype for Broadcom 802.11abgn
2  * Networking Adapter Device Drivers.
3  *
4  * Broadcom Proprietary and Confidential. Copyright (C) 2020,
5  * All Rights Reserved.
6  *
7  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom;
8  * the contents of this file may not be disclosed to third parties,
9  * copied or duplicated in any form, in whole or in part, without
10  * the prior written permission of Broadcom.
11  *
12  *
13  * <<Broadcom-WL-IPTag/Proprietary:>>
14  */
15 #ifndef _d11reglist_proto_h_
16 #define _d11reglist_proto_h_
17 
18 /* this is for dump_mac */
19 enum {
20 	D11REG_TYPE_IHR16  = 0,
21 	D11REG_TYPE_IHR32  = 1,
22 	D11REG_TYPE_SCR    = 2,
23 	D11REG_TYPE_SHM    = 3,
24 	D11REG_TYPE_TPL    = 4,
25 	D11REG_TYPE_GE64   = 5,
26 	D11REG_TYPE_KEYTB  = D11REG_TYPE_GE64,
27 	D11REG_TYPE_IHRX16 = 6,
28 	D11REG_TYPE_SCRX   = 7,
29 	D11REG_TYPE_SHMX   = 8,
30 	D11REG_TYPE_MAX    = 9
31 };
32 
33 #define D11REGTYPENAME {		\
34 	"ihr", "ihr", "scr", "shm",	\
35 	"tpl", "keytb", "ihrx", "scrx",	\
36 	"shmx"	\
37 }
38 
39 typedef struct _d11regs_bmp_list {
40 	uint8 type;
41 	uint16 addr;
42 	uint32 bitmap;
43 	uint8 step;
44 	uint16 cnt; /* can be used together with bitmap or by itself */
45 } d11regs_list_t;
46 
47 #define D11REG_BLK_SIZE		32
48 typedef struct _d11regs_addr_list {
49 	uint8 type;
50 	uint16 cnt;
51 	uint16 addr[D11REG_BLK_SIZE]; /* allow up to 32 per list */
52 } d11regs_addr_t;
53 
54 typedef struct _d11obj_cache_t {
55 	uint32 sel;
56 	uint32 val;
57 	uint16 addr32;
58 	bool cache_valid;
59 } d11obj_cache_t;
60 
61 typedef struct _svmp_list {
62 	uint32 addr;
63 	uint16 cnt;
64 } svmp_list_t;
65 
66 #endif /* _d11reglist_proto_h_ */
67