source: rtems/bsps/powerpc/include/bsp/pci.h @ caccc5b

5
Last change on this file since caccc5b was caccc5b, checked in by Sebastian Huber <sebastian.huber@…>, on 07/24/18 at 09:35:09

bsps: Fix function declaration warnings

  • Property mode set to 100644
File size: 2.3 KB
Line 
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
24struct _pin_routes
25{
26  int pin;
27  int int_name[4];
28};
29struct _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 */
46void detect_host_bridge(void);
47
48void FixupPCI( const struct _int_map *, int (*swizzler)(int,int) );
49
50/* FIXME: This probably belongs into rtems/pci.h */
51extern 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 */
70typedef void *BSP_PciScanHandle;
71typedef int (*BSP_PciScannerCb)(int bus, int slot, int fun, void *uarg);
72
73BSP_PciScanHandle
74BSP_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 */
81void
82BSP_pciConfigDump(FILE *fp);
83
84#endif /* BSP_POWERPC_PCI_H */
Note: See TracBrowser for help on using the repository browser.