2
2
* Misc system wide definitions
4
* Copyright (C) 2010, Broadcom Corporation
7
* THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8
* KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9
* SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10
* FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
4
* Copyright (C) 2011, Broadcom Corporation. All Rights Reserved.
6
* Permission to use, copy, modify, and/or distribute this software for any
7
* purpose with or without fee is hereby granted, provided that the above
8
* copyright notice and this permission notice appear in all copies.
10
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
13
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
15
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
12
* $Id: bcmdefs.h,v 13.69 2010-01-15 01:14:00 Exp $
18
* $Id: bcmdefs.h 261406 2011-05-24 22:29:18Z $
15
21
#ifndef _bcmdefs_h_
16
22
#define _bcmdefs_h_
18
#define BCM_REFERENCE(data) ((void)data)
24
#define BCM_REFERENCE(data) ((void)(data))
26
#define STATIC_ASSERT(expr) { \
28
typedef enum { _STATIC_ASSERT_NOT_CONSTANT = (expr) } _static_assert_e; \
30
typedef char STATIC_ASSERT_FAIL[(expr) ? 1 : -1]; \
20
33
#define bcmreclaimed 0
21
34
#define BCMATTACHDATA(_data) _data
27
40
#define BCMUNINITFN(_fn) _fn
28
41
#define BCMNMIATTACHFN(_fn) _fn
29
42
#define BCMNMIATTACHDATA(_data) _data
30
#define BCMOVERLAY0DATA(_sym) _sym
31
#define BCMOVERLAY0FN(_fn) _fn
32
#define BCMOVERLAY1DATA(_sym) _sym
33
#define BCMOVERLAY1FN(_fn) _fn
34
#define BCMOVERLAYERRFN(_fn) _fn
35
43
#define CONST const
36
44
#define BCMFASTPATH
58
#define BUSTYPE(bus) (BCMBUSTYPE)
60
65
#define BUSTYPE(bus) (bus)
64
#define CHIPTYPE(bus) (BCMCHIPTYPE)
66
67
#define CHIPTYPE(bus) (bus)
69
69
#define SPROMBUS (PCI_BUS)
71
71
#define CHIPID(chip) (chip)
74
#define CHIPREV(rev) (BCMCHIPREV)
76
73
#define CHIPREV(rev) (rev)
79
75
#define DMADDR_MASK_32 0x0
80
76
#define DMADDR_MASK_30 0xc0000000
85
81
#define DMADDRWIDTH_63 63
86
82
#define DMADDRWIDTH_64 64
94
typedef dma64addr_t dmaaddr_t;
95
#define PHYSADDRHI(_pa) ((_pa).hiaddr)
96
#define PHYSADDRHISET(_pa, _val) \
98
(_pa).hiaddr = (_val); \
100
#define PHYSADDRLO(_pa) ((_pa).loaddr)
101
#define PHYSADDRLOSET(_pa, _val) \
103
(_pa).loaddr = (_val); \
107
84
typedef unsigned long dmaaddr_t;
108
85
#define PHYSADDRHI(_pa) (0)
109
86
#define PHYSADDRHISET(_pa, _val)