1 /*        $NetBSD: dc21285mem.h,v 1.3 2021/08/24 08:39:50 skrll Exp $ */
2 
3 /*
4  * Copyright (c) 1997,1998 Mark Brinicombe.
5  * Copyright (c) 1997,1998 Causality Limited
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  * 3. All advertising materials mentioning features or use of this software
17  *    must display the following acknowledgement:
18  *        This product includes software developed by Mark Brinicombe
19  *        for the NetBSD Project.
20  * 4. The name of the company nor the name of the author may be used to
21  *    endorse or promote products derived from this software without specific
22  *    prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
25  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27  * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
28  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34  * SUCH DAMAGE.
35  */
36 
37 /*
38  * Physical memory map provided by the DC21285 'Footbridge'
39  */
40 
41 #define   DC21285_SDRAM_BASE            0x00000000
42 #define   DC21285_SDRAM_SIZE            0x10000000          /* 256 MB */
43 
44 #define   DC21285_SDRAM_A0MR            0x40000000
45 #define   DC21285_SDRAM_A1MR            0x40004000
46 #define   DC21285_SDRAM_A2MR            0x40008000
47 #define   DC21285_SDRAM_A3MR            0x4000c000
48 
49 #define   DC21285_XBUS_XCS0             0x40010000
50 #define   DC21285_XBUS_XCS1             0x40011000
51 #define   DC21285_XBUS_XCS2             0x40012000
52 #define   DC21285_XBUS_NOCS             0x40013000
53 
54 #define   DC21285_ROM_BASE              0x41000000
55 #define   DC21285_ROM_SIZE              0x01000000          /* 16MB */
56 
57 #define   DC21285_ARMCSR_BASE           0x42000000
58 #define   DC21285_ARMCSR_SIZE           0x00100000          /* 1MB */
59 
60 #define   DC21285_SA_CACHE_FLUSH_BASE   0x50000000
61 #define   DC21285_SA_CACHE_FLUSH_SIZE   0x01000000          /* 16MB */
62 
63 #define   DC21285_OUTBOUND_WRITE_FLUSH  0x78000000
64 
65 #define   DC21285_PCI_IACK_SPECIAL      0x79000000
66 #define   DC21285_PCI_TYPE_1_CONFIG     0x7a000000
67 #define   DC21285_PCI_TYPE_0_CONFIG     0x7b000000
68 #define   DC21285_PCI_IO_BASE           0x7c000000
69 #define   DC21285_PCI_IO_SIZE           0x00010000          /* 64K */
70 #define   DC21285_PCI_MEM_BASE                    0x80000000
71 #define   DC21285_PCI_MEM_SIZE                    0x80000000          /* 2GB */
72 
73 /*
74  * Standard Virtual memory map used for the DC21285 'Footbridge'
75  */
76 #define   DC21285_ARMCSR_VBASE                    0xfd000000
77 #define   DC21285_ARMCSR_VSIZE                    0x00100000          /* 1mB */
78 #define   DC21285_CACHE_FLUSH_VBASE     0xfd100000
79 #define   DC21285_CACHE_FLUSH_VSIZE     0x00100000          /* 1MB */
80 #define   DC21285_PCI_IO_VBASE                    0xfd200000
81 #define   DC21285_PCI_IO_VSIZE                    0x00100000          /* 1mB */
82 #define   DC21285_PCI_IACK_VBASE                  0xfd300000
83 #define   DC21285_PCI_IACK_VSIZE                  0x00100000          /* 1MB */
84 #define   DC21285_PCI_ISA_MEM_VBASE     0xfd400000
85 #define   DC21285_PCI_ISA_MEM_VSIZE     0x00100000          /* 1MB */
86 #define   DC21285_PCI_TYPE_1_CONFIG_VBASE         0xfe000000
87 #define   DC21285_PCI_TYPE_1_CONFIG_VSIZE         0x01000000          /* 16MB */
88 #define   DC21285_PCI_TYPE_0_CONFIG_VBASE         0xff000000
89 #define   DC21285_PCI_TYPE_0_CONFIG_VSIZE         0x01000000          /* 16MB */
90