xref: /openbsd/sys/arch/octeon/dev/octeon_pcibus.h (revision 76d0caae)
1 /*	$OpenBSD: octeon_pcibus.h,v 1.3 2015/07/20 01:38:31 jasper Exp $	*/
2 
3 /*
4  * Copyright (c) 2003-2004 Opsycon AB (www.opsycon.com).
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
16  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
19  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25  * SUCH DAMAGE.
26  *
27  */
28 
29 
30 #ifndef ___OCTEON_PCIBUS_H__
31 #define ___OCTEON_PCIBUS_H__
32 
33 #include <machine/octeonreg.h>
34 
35 #define OCTEON_PCIBUS_PCIIO_BASE	0x11A0000000000ULL
36 
37 #define OCTEON_PCI_CFG0			0x80011F0000001804ULL
38 #define OCTEON_PCI_CFG1			0x80011F0000001800ULL
39 #define OCTEON_PCI_CONFIG_BASE0		0x8001190000000004ULL
40 #define OCTEON_PCI_CONFIG_BASE1		0x8001190000000000ULL
41 
42 #define OCTEON_PCI_CFG2			(OCTEON_PCI_CFG0 + 0x08UL)
43 #define OCTEON_PCI_CFG3			(OCTEON_PCI_CFG1 + 0x08UL)
44 #define OCTEON_PCI_CFG4			(OCTEON_PCI_CFG0 + 0x10UL)
45 #define OCTEON_PCI_CFG5			(OCTEON_PCI_CFG1 + 0x10UL)
46 #define OCTEON_PCI_CFG6			(OCTEON_PCI_CFG0 + 0x18UL)
47 #define OCTEON_PCI_CFG7			(OCTEON_PCI_CFG1 + 0x18UL)
48 #define OCTEON_PCI_CFG8			(OCTEON_PCI_CFG0 + 0x20UL)
49 #define OCTEON_PCI_CFG9			(OCTEON_PCI_CFG1 + 0x20UL)
50 #define OCTEON_PCI_CFG10		(OCTEON_PCI_CFG0 + 0x28UL)
51 #define OCTEON_PCI_CFG11		(OCTEON_PCI_CFG1 + 0x28UL)
52 #define OCTEON_PCI_CFG12		(OCTEON_PCI_CFG0 + 0x30UL)
53 #define OCTEON_PCI_CFG13		(OCTEON_PCI_CFG1 + 0x30UL)
54 #define OCTEON_PCI_CFG14		(OCTEON_PCI_CFG0 + 0x38UL)
55 #define OCTEON_PCI_CFG15		(OCTEON_PCI_CFG1 + 0x38UL)
56 #define OCTEON_PCI_CFG16		(OCTEON_PCI_CFG0 + 0x40UL)
57 #define OCTEON_PCI_CFG17		(OCTEON_PCI_CFG1 + 0x40UL)
58 #define OCTEON_PCI_CFG18		(OCTEON_PCI_CFG0 + 0x48UL)
59 #define OCTEON_PCI_CFG19		(OCTEON_PCI_CFG1 + 0x48UL)
60 #define OCTEON_PCI_CFG20		(OCTEON_PCI_CFG0 + 0x50UL)
61 #define OCTEON_PCI_CFG21		(OCTEON_PCI_CFG1 + 0x50UL)
62 #define OCTEON_PCI_CFG22		(OCTEON_PCI_CFG0 + 0x58UL)
63 #define OCTEON_PCI_CFG23		(OCTEON_PCI_CFG1 + 0x58UL)
64 #define OCTEON_PCI_CFG24		(OCTEON_PCI_CFG0 + 0x60UL)
65 #define OCTEON_PCI_CFG25		(OCTEON_PCI_CFG1 + 0x60UL)
66 #define OCTEON_PCI_CFG26		(OCTEON_PCI_CFG0 + 0x68UL)
67 #define OCTEON_PCI_CFG27		(OCTEON_PCI_CFG1 + 0x68UL)
68 #define OCTEON_PCI_CFG28		(OCTEON_PCI_CFG0 + 0x70UL)
69 #define OCTEON_PCI_CFG29		(OCTEON_PCI_CFG1 + 0x70UL)
70 #define OCTEON_PCI_CFG30		(OCTEON_PCI_CFG0 + 0x78UL)
71 #define OCTEON_PCI_CFG31		(OCTEON_PCI_CFG1 + 0x78UL)
72 #define OCTEON_PCI_CFG32		(OCTEON_PCI_CFG0 + 0x80UL)
73 #define OCTEON_PCI_CFG33		(OCTEON_PCI_CFG1 + 0x80UL)
74 #define OCTEON_PCI_CFG34		(OCTEON_PCI_CFG0 + 0x88UL)
75 #define OCTEON_PCI_CFG35		(OCTEON_PCI_CFG1 + 0x88UL)
76 #define OCTEON_PCI_CFG36		(OCTEON_PCI_CFG0 + 0x90UL)
77 #define OCTEON_PCI_CFG37		(OCTEON_PCI_CFG1 + 0x90UL)
78 #define OCTEON_PCI_CFG38		(OCTEON_PCI_CFG0 + 0x98UL)
79 #define OCTEON_PCI_CFG39		(OCTEON_PCI_CFG1 + 0x98UL)
80 #define OCTEON_PCI_CFG40		(OCTEON_PCI_CFG0 + 0xA0UL)
81 #define OCTEON_PCI_CFG41		(OCTEON_PCI_CFG1 + 0xA0UL)
82 #define OCTEON_PCI_CFG42		(OCTEON_PCI_CFG0 + 0xA8UL)
83 #define OCTEON_PCI_CFG43		(OCTEON_PCI_CFG1 + 0xA8UL)
84 #define OCTEON_PCI_CFG44		(OCTEON_PCI_CFG0 + 0xB0UL)
85 #define OCTEON_PCI_CFG45		(OCTEON_PCI_CFG1 + 0xB0UL)
86 #define OCTEON_PCI_CFG46		(OCTEON_PCI_CFG0 + 0xB8UL)
87 #define OCTEON_PCI_CFG47		(OCTEON_PCI_CFG1 + 0xB8UL)
88 #define OCTEON_PCI_CFG48		(OCTEON_PCI_CFG0 + 0xC0UL)
89 #define OCTEON_PCI_CFG49		(OCTEON_PCI_CFG1 + 0xC0UL)
90 #define OCTEON_PCI_CFG50		(OCTEON_PCI_CFG0 + 0xC8UL)
91 #define OCTEON_PCI_CFG51		(OCTEON_PCI_CFG1 + 0xC8UL)
92 #define OCTEON_PCI_CFG52		(OCTEON_PCI_CFG0 + 0xD0UL)
93 #define OCTEON_PCI_CFG53		(OCTEON_PCI_CFG1 + 0xD0UL)
94 #define OCTEON_PCI_CFG54		(OCTEON_PCI_CFG0 + 0xD8UL)
95 #define OCTEON_PCI_CFG55		(OCTEON_PCI_CFG1 + 0xD8UL)
96 #define OCTEON_PCI_CFG56		(OCTEON_PCI_CFG0 + 0xE0UL)
97 #define OCTEON_PCI_CFG57		(OCTEON_PCI_CFG1 + 0xE0UL)
98 #define OCTEON_PCI_CFG58		(OCTEON_PCI_CFG0 + 0xE8UL)
99 #define OCTEON_PCI_CFG59		(OCTEON_PCI_CFG1 + 0xE8UL)
100 #define OCTEON_PCI_CFG60		(OCTEON_PCI_CFG0 + 0xF0UL)
101 #define OCTEON_PCI_CFG61		(OCTEON_PCI_CFG1 + 0xF0UL)
102 #define OCTEON_PCI_CFG62		(OCTEON_PCI_CFG0 + 0xF8UL)
103 #define OCTEON_PCI_CFG63		(OCTEON_PCI_CFG1 + 0xF8UL)
104 
105 #define OCTEON_PCIBUS_PCIMAPCFG_TYPE1	0x00010000
106 
107 #endif /* ___OCTEON_PCIBUS_H__ */
108