RTEMS
5.0.0
Main Page
Related Pages
Modules
+
Data Structures
Data Structures
Data Structure Index
+
Data Fields
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Variables
_
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
+
Typedefs
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
v
w
x
+
Enumerations
a
b
c
e
h
i
l
m
o
p
q
r
s
t
w
+
Enumerator
a
c
d
i
l
m
p
r
s
t
w
+
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
bsps
powerpc
include
bsp
pci.h
1
/*
2
* PCI defines and function prototypes
3
*
4
* For more information, please consult the following manuals (look at
5
* http://www.pcisig.com/ for how to get them):
6
*
7
* PCI BIOS Specification
8
* PCI Local Bus Specification
9
* PCI to PCI Bridge Specification
10
* PCI System Design Guide
11
*/
12
13
/*
14
* Copyright 1994, Drew Eckhardt
15
* Copyright 1997, 1998 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
16
*/
17
18
#ifndef BSP_POWERPC_PCI_H
19
#define BSP_POWERPC_PCI_H
20
21
#include <
rtems/pci.h
>
22
#include <stdio.h>
23
24
struct
_pin_routes
25
{
26
int
pin;
27
int
int_name[4];
28
};
29
struct
_int_map
30
{
31
int
bus;
32
int
slot;
33
int
opts;
34
struct
_pin_routes
pin_route[5];
35
};
36
37
/* If there's a conflict between a name in the routing table and
38
* what's already set on the device, reprogram the device setting
39
* to reflect int_name[0] for the routing table entry
40
*/
41
#define PCI_FIXUP_OPT_OVERRIDE_NAME (1<<0)
42
43
/*
44
* This is assumed to be provided by the BSP.
45
*/
46
void
detect_host_bridge(
void
);
47
48
void
FixupPCI(
const
struct
_int_map
*,
int
(*swizzler)(
int
,
int
) );
49
50
/* FIXME: This probably belongs into rtems/pci.h */
51
extern
unsigned
char
pci_bus_count(
void
);
52
53
/* FIXME: This also is generic and could go into rtems/pci.h */
54
55
/* Scan pci config space and run a user callback on each
56
* device present; the user callback may return 0 to
57
* continue the scan or a value > 0 to abort the scan.
58
* Return values < 0 are reserved and must not be used.
59
*
60
* RETURNS: a (opaque) handle pointing to the bus/slot/fn-triple
61
* just after where the scan was aborted by a callback
62
* returning 1 (see above) or NULL if all devices were
63
* scanned.
64
* The handle may be passed to this routine to resume the
65
* scan continuing with the device after the one causing the
66
* abort.
67
* Pass a NULL 'handle' argument to start scanning from
68
* the beginning (bus/slot/fn = 0/0/0).
69
*/
70
typedef
void
*BSP_PciScanHandle;
71
typedef
int (*BSP_PciScannerCb)(
int
bus,
int
slot,
int
fun,
void
*uarg);
72
73
BSP_PciScanHandle
74
BSP_pciScan(BSP_PciScanHandle handle, BSP_PciScannerCb cb,
void
*uarg);
75
76
/* Dump basic config. space info to a file. The argument may
77
* be NULL in which case 'stdout' is used.
78
* NOTE: the C-library must be functional before you can use
79
* this routine.
80
*/
81
void
82
BSP_pciConfigDump(FILE *
fp
);
83
84
#endif
/* BSP_POWERPC_PCI_H */
fp
#define fp
frame-pointer */
Definition:
regs.h:65
_int_map
Definition:
pci.h:40
_pin_routes
Definition:
pci.h:36
pci.h
Generated by
1.8.13