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