1a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt/*
2a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * Misc system wide definitions
3a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt *
410c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt * Copyright (C) 1999-2012, Broadcom Corporation
5a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt *
610c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt *      Unless you and Broadcom execute a separate written software license
7a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * agreement governing use of this software, this software is licensed to you
8a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * under the terms of the GNU General Public License version 2 (the "GPL"),
9a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * following added to such license:
11a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt *
12a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt *      As a special exception, the copyright holders of this software give you
13a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * permission to link this software with independent modules, and to copy and
14a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * distribute the resulting executable under terms of your choice, provided that
15a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * you also meet, for each linked independent module, the terms and conditions of
16a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * the license of that module.  An independent module is a module which is not
17a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * derived from this software.  The special exception does not apply to any
18a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * modifications of the software.
19a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt *
20a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt *      Notwithstanding the above, under no circumstances may you combine this
21a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * software in any way with any other Broadcom software provided under a license
22a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt * other than the GPL, without Broadcom's express prior written consent.
23a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt *
2410c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt * $Id: bcmdefs.h 309174 2012-01-18 23:10:14Z $
25a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt */
26a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
27a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#ifndef	_bcmdefs_h_
28a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	_bcmdefs_h_
29a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
30a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
31a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
32a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
33a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCM_REFERENCE(data)	((void)(data))
34a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
35a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
3610c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#define STATIC_ASSERT(expr) { \
3710c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt	 \
3810c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt	typedef enum { _STATIC_ASSERT_NOT_CONSTANT = (expr) } _static_assert_e; \
3910c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt	 \
4010c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt	typedef char STATIC_ASSERT_FAIL[(expr) ? 1 : -1]; \
4110c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt}
4210c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt
4310c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt
44a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
45a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define bcmreclaimed 		0
46a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _data	_data
47a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _fn	_fn
48a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMPREATTACHDATA(_data)	_data
49a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMPREATTACHFN(_fn)	_fn
50a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _data	_data
51a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _fn		_fn
52a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _fn	_fn
53a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	BCMNMIATTACHFN(_fn)	_fn
54a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	BCMNMIATTACHDATA(_data)	_data
55a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define CONST	const
5610c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#ifndef BCMFASTPATH
57a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMFASTPATH
5810c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#endif
59a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
60a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
61a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
62a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _data	_data
63a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMROMDAT_NAME(_data)	_data
64a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _fn		_fn
65a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define _fn	_fn
66a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define STATIC	static
67a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMROMDAT_ARYSIZ(data)	ARRAYSIZE(data)
68a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMROMDAT_SIZEOF(data)	sizeof(data)
69a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMROMDAT_APATCH(data)
70a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMROMDAT_SPATCH(data)
71a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
72a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
73a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	SI_BUS			0
74a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	PCI_BUS			1
75a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	PCMCIA_BUS		2
76a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define SDIO_BUS		3
77a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define JTAG_BUS		4
78a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define USB_BUS			5
79a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define SPI_BUS			6
80a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define RPC_BUS			7
81a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
82a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
83a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#ifdef BCMBUSTYPE
84a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BUSTYPE(bus) 	(BCMBUSTYPE)
85a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#else
86a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BUSTYPE(bus) 	(bus)
87a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
88a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
89a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
90a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#ifdef BCMCHIPTYPE
91a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define CHIPTYPE(bus) 	(BCMCHIPTYPE)
92a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#else
93a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define CHIPTYPE(bus) 	(bus)
94a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
95a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
96a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
97a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
98a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#if defined(BCMSPROMBUS)
99a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define SPROMBUS	(BCMSPROMBUS)
100a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#elif defined(SI_PCMCIA_SROM)
101a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define SPROMBUS	(PCMCIA_BUS)
102a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#else
103a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define SPROMBUS	(PCI_BUS)
104a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
105a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
106a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
107a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#ifdef BCMCHIPID
108a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define CHIPID(chip)	(BCMCHIPID)
109a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#else
110a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define CHIPID(chip)	(chip)
111a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
112a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
113a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#ifdef BCMCHIPREV
114a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define CHIPREV(rev)	(BCMCHIPREV)
115a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#else
116a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define CHIPREV(rev)	(rev)
117a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
118a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
119a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
120a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define DMADDR_MASK_32 0x0
121a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define DMADDR_MASK_30 0xc0000000
122a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define DMADDR_MASK_0  0xffffffff
123a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
124a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	DMADDRWIDTH_30  30
125a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	DMADDRWIDTH_32  32
126a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	DMADDRWIDTH_63  63
127a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	DMADDRWIDTH_64  64
128a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
129a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#ifdef BCMDMA64OSL
130a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidttypedef struct {
131a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	uint32 loaddr;
132a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	uint32 hiaddr;
133a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt} dma64addr_t;
134a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
135a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidttypedef dma64addr_t dmaaddr_t;
136a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRHI(_pa) ((_pa).hiaddr)
137a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRHISET(_pa, _val) \
138a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	do { \
139a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt		(_pa).hiaddr = (_val);		\
140a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	} while (0)
141a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRLO(_pa) ((_pa).loaddr)
142a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRLOSET(_pa, _val) \
143a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	do { \
144a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt		(_pa).loaddr = (_val);		\
145a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	} while (0)
146a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
147a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#else
148a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidttypedef unsigned long dmaaddr_t;
149a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRHI(_pa) (0)
150a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRHISET(_pa, _val)
151a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRLO(_pa) ((_pa))
152a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define PHYSADDRLOSET(_pa, _val) \
153a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	do { \
154a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt		(_pa) = (_val);			\
155a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	} while (0)
156a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
157a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
158a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
159a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidttypedef struct  {
160a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	dmaaddr_t addr;
161a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	uint32	  length;
162a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt} hnddma_seg_t;
163a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
164a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define MAX_DMA_SEGS 4
165a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
166a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
167a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidttypedef struct {
168a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	void *oshdmah;
169a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	uint origsize;
170a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	uint nsegs;
171a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt	hnddma_seg_t segs[MAX_DMA_SEGS];
172a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt} hnddma_seg_map_t;
173a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
174a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
175a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
176a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
177a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#if defined(BCM_RPC_NOCOPY) || defined(BCM_RCP_TXNOCOPY)
178a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
179a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMEXTRAHDROOM 220
18010c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#else
181a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMEXTRAHDROOM 172
18210c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#endif
18310c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt
18410c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt
18510c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#ifndef SDALIGN
18610c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#define SDALIGN	32
187a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
188a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
189a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
190a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMDONGLEHDRSZ 12
191a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMDONGLEPADSZ 16
192a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
193a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMDONGLEOVERHEAD	(BCMDONGLEHDRSZ + BCMDONGLEPADSZ)
194a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
195a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
196a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#if defined(BCMASSERT_LOG)
197a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BCMASSERT_SUPPORT
198a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
199a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
200a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
201a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define BITFIELD_MASK(width) \
202a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt		(((unsigned)1 << (width)) - 1)
203a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define GFIELD(val, field) \
204a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt		(((val) >> field ## _S) & field ## _M)
205a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define SFIELD(val, field, bits) \
206a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt		(((val) & (~(field ## _M << field ## _S))) | \
207a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt		 ((unsigned)(bits) << field ## _S))
208a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
209a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
210a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#ifdef BCMSMALL
211a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#undef	BCMSPACE
212a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define bcmspace	FALSE
213a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#else
214a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	BCMSPACE
215a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define bcmspace	TRUE
216a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
217a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
218a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
219a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#define	MAXSZ_NVRAM_VARS	4096
220a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
22110c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt
22210c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt
22310c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#ifdef DL_NVRAM
22410c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#define NVRAM_ARRAY_MAXSIZE	DL_NVRAM
22510c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#else
22610c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#define NVRAM_ARRAY_MAXSIZE	MAXSZ_NVRAM_VARS
22710c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#endif
22810c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt
22910c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#ifdef BCMUSBDEV_ENABLED
23010c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidtextern uint32 gFWID;
23110c41e43e1703e11ebbf4707af3174850163024bDmitry Shmidt#endif
232a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt
233a2d116668045dd40f3fed04e7430b01becd1bf8dDmitry Shmidt#endif
234