1 /* $OpenBSD: pcicreg.h,v 1.1.1.1 2006/10/06 21:02:55 miod Exp $ */ 2 /* $NetBSD: pcicreg.h,v 1.2 2005/12/11 12:18:58 christos Exp $ */ 3 4 /*- 5 * Copyright (c) 2005 NONAKA Kimihiro 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 * 17 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30 #include <sh/devreg.h> 31 32 /* 33 * PCI Controller 34 */ 35 36 #define SH4_PCIC 0xfe200000 37 38 #define SH4_PCIC_IO 0xfe240000 39 #define SH4_PCIC_IO_SIZE 0x00040000 40 #define SH4_PCIC_IO_MASK (SH4_PCIC_IO_SIZE-1) 41 #define SH4_PCIC_MEM 0xfd000000 42 #define SH4_PCIC_MEM_SIZE 0x01000000 43 #define SH4_PCIC_MEM_MASK (SH4_PCIC_MEM_SIZE-1) 44 45 #define SH4_PCICONF (SH4_PCIC+0x000) /* 32bit */ 46 #define SH4_PCICONF0 (SH4_PCICONF+0x00) /* 32bit */ 47 #define SH4_PCICONF1 (SH4_PCICONF+0x04) /* 32bit */ 48 #define SH4_PCICONF2 (SH4_PCICONF+0x08) /* 32bit */ 49 #define SH4_PCICONF3 (SH4_PCICONF+0x0c) /* 32bit */ 50 #define SH4_PCICONF4 (SH4_PCICONF+0x10) /* 32bit */ 51 #define SH4_PCICONF5 (SH4_PCICONF+0x14) /* 32bit */ 52 #define SH4_PCICONF6 (SH4_PCICONF+0x18) /* 32bit */ 53 #define SH4_PCICONF7 (SH4_PCICONF+0x1c) /* 32bit */ 54 #define SH4_PCICONF8 (SH4_PCICONF+0x20) /* 32bit */ 55 #define SH4_PCICONF9 (SH4_PCICONF+0x24) /* 32bit */ 56 #define SH4_PCICONF10 (SH4_PCICONF+0x28) /* 32bit */ 57 #define SH4_PCICONF11 (SH4_PCICONF+0x2c) /* 32bit */ 58 #define SH4_PCICONF12 (SH4_PCICONF+0x30) /* 32bit */ 59 #define SH4_PCICONF13 (SH4_PCICONF+0x34) /* 32bit */ 60 #define SH4_PCICONF14 (SH4_PCICONF+0x38) /* 32bit */ 61 #define SH4_PCICONF15 (SH4_PCICONF+0x3c) /* 32bit */ 62 #define SH4_PCICONF16 (SH4_PCICONF+0x40) /* 32bit */ 63 #define SH4_PCICONF17 (SH4_PCICONF+0x44) /* 32bit */ 64 #define SH4_PCICR (SH4_PCIC+0x100) /* 32bit */ 65 #define SH4_PCILSR0 (SH4_PCIC+0x104) /* 32bit */ 66 #define SH4_PCILSR1 (SH4_PCIC+0x108) /* 32bit */ 67 #define SH4_PCILAR0 (SH4_PCIC+0x10c) /* 32bit */ 68 #define SH4_PCILAR1 (SH4_PCIC+0x110) /* 32bit */ 69 #define SH4_PCIINT (SH4_PCIC+0x114) /* 32bit */ 70 #define SH4_PCIINTM (SH4_PCIC+0x118) /* 32bit */ 71 #define SH4_PCIALR (SH4_PCIC+0x11c) /* 32bit */ 72 #define SH4_PCICLR (SH4_PCIC+0x120) /* 32bit */ 73 #define SH4_PCIAINT (SH4_PCIC+0x130) /* 32bit */ 74 #define SH4_PCIAINTM (SH4_PCIC+0x134) /* 32bit */ 75 #define SH4_PCIDMABT (SH4_PCIC+0x140) /* 32bit */ 76 #define SH4_PCIDPA0 (SH4_PCIC+0x180) /* 32bit */ 77 #define SH4_PCIDLA0 (SH4_PCIC+0x184) /* 32bit */ 78 #define SH4_PCIDTC0 (SH4_PCIC+0x188) /* 32bit */ 79 #define SH4_PCIDCR0 (SH4_PCIC+0x18c) /* 32bit */ 80 #define SH4_PCIDPA1 (SH4_PCIC+0x190) /* 32bit */ 81 #define SH4_PCIDLA1 (SH4_PCIC+0x194) /* 32bit */ 82 #define SH4_PCIDTC1 (SH4_PCIC+0x198) /* 32bit */ 83 #define SH4_PCIDCR1 (SH4_PCIC+0x19c) /* 32bit */ 84 #define SH4_PCIDPA2 (SH4_PCIC+0x1a0) /* 32bit */ 85 #define SH4_PCIDLA2 (SH4_PCIC+0x1a4) /* 32bit */ 86 #define SH4_PCIDTC2 (SH4_PCIC+0x1a8) /* 32bit */ 87 #define SH4_PCIDCR2 (SH4_PCIC+0x1ac) /* 32bit */ 88 #define SH4_PCIDPA3 (SH4_PCIC+0x1b0) /* 32bit */ 89 #define SH4_PCIDLA3 (SH4_PCIC+0x1b4) /* 32bit */ 90 #define SH4_PCIDTC3 (SH4_PCIC+0x1b8) /* 32bit */ 91 #define SH4_PCIDCR3 (SH4_PCIC+0x1bc) /* 32bit */ 92 #define SH4_PCIPAR (SH4_PCIC+0x1c0) /* 32bit */ 93 #define SH4_PCIMBR (SH4_PCIC+0x1c4) /* 32bit */ 94 #define SH4_PCIIOBR (SH4_PCIC+0x1c8) /* 32bit */ 95 #define SH4_PCIPINT (SH4_PCIC+0x1cc) /* 32bit */ 96 #define SH4_PCIPINTM (SH4_PCIC+0x1d0) /* 32bit */ 97 #define SH4_PCICLKR (SH4_PCIC+0x1d4) /* 32bit */ 98 #define SH4_PCIBCR1 (SH4_PCIC+0x1e0) /* 32bit */ 99 #define SH4_PCIBCR2 (SH4_PCIC+0x1e4) /* 32bit */ 100 #define SH4_PCIWCR1 (SH4_PCIC+0x1e8) /* 32bit */ 101 #define SH4_PCIWCR2 (SH4_PCIC+0x1ec) /* 32bit */ 102 #define SH4_PCIWCR3 (SH4_PCIC+0x1f0) /* 32bit */ 103 #define SH4_PCIMCR (SH4_PCIC+0x1f4) /* 32bit */ 104 #define SH4_PCIBCR3 (SH4_PCIC+0x1f8) /* 32bit: SH7751R */ 105 #define SH4_PCIPCTR (SH4_PCIC+0x200) /* 32bit */ 106 #define SH4_PCIPDTR (SH4_PCIC+0x204) /* 32bit */ 107 #define SH4_PCIPDR (SH4_PCIC+0x220) /* 32bit */ 108 109 #define PCICR_BASE 0xa5000000 110 #define PCICR_TRDSGL 0x00000200 111 #define PCICR_BYTESWAP 0x00000100 112 #define PCICR_PCIPUP 0x00000080 113 #define PCICR_BMABT 0x00000040 114 #define PCICR_MD10 0x00000020 115 #define PCICR_MD9 0x00000010 116 #define PCICR_SERR 0x00000008 117 #define PCICR_INTA 0x00000004 118 #define PCICR_RSTCTL 0x00000002 119 #define PCICR_CFINIT 0x00000001 120 121 #define PCIINT_M_LOCKON 0x00008000 122 #define PCIINT_T_TGT_ABORT 0x00004000 123 #define PCIINT_TGT_RETRY 0x00000200 124 #define PCIINT_MST_DIS 0x00000100 125 #define PCIINT_ADRPERR 0x00000080 126 #define PCIINT_SERR_DET 0x00000040 127 #define PCIINT_T_DPERR_WT 0x00000020 128 #define PCIINT_T_PERR_DET 0x00000010 129 #define PCIINT_M_TGT_ABORT 0x00000008 130 #define PCIINT_M_MST_ABORT 0x00000004 131 #define PCIINT_M_DPERR_WT 0x00000002 132 #define PCIINT_M_DPERR_RD 0x00000001 133 #define PCIINT_ALL 0x0000c3ff 134 #define PCIINT_CLEAR_ALL PCIINT_ALL 135 136 #define PCIINTM_MASK_ALL 0x00000000 137 #define PCIINTM_UNMASK_ALL PCIINT_ALL 138 139 #define PCIMBR_MASK 0xff000000 140 141 #define PCIIOBR_MASK 0xffc00000 142