* Patch by Denis Peter, 8 Dec 2003
[oweals/u-boot.git] / board / mpl / pati / plx9056.h
1 /*\r
2  * (C) Copyright 2003\r
3  * Denis Peter, d.peter@mpl.ch\r
4  * See file CREDITS for list of people who contributed to this\r
5  * project.\r
6  *\r
7  * This program is free software; you can redistribute it and/or\r
8  * modify it under the terms of the GNU General Public License as\r
9  * published by the Free Software Foundation; either version 2 of\r
10  * the License, or (at your option) any later version.\r
11  *\r
12  * This program is distributed in the hope that it will be useful,\r
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15  * GNU General Public License for more details.\r
16  *\r
17  * You should have received a copy of the GNU General Public License\r
18  * along with this program; if not, write to the Free Software\r
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,\r
20  * MA 02111-1307 USA\r
21  */\r
22 /* PLX9096 register definitions\r
23 */\r
24 #ifndef __PLX9056_H_\r
25 #define __PLX9056_H_    1\r
26 \r
27 #include <pci.h>\r
28 \r
29 #ifdef PLX9056_LOC\r
30 #define LOCAL_OFFSET                                    0x080\r
31 /* PCI Config regs */\r
32 #else\r
33 #define LOCAL_OFFSET                                    0x000\r
34 #endif\r
35 \r
36 #define PCI9056_VENDOR_ID            PCI_VENDOR_ID\r
37 //#define PCI9656_DEVICE_ID            PCI_DEVICE_ID\r
38 #define PCI9056_COMMAND              PCI_COMMAND\r
39 //#define PCI9656_STATUS               PCI_STATUS\r
40 #define PCI9056_REVISION             PCI_REVISION_ID\r
41 \r
42 #define PCI9056_CACHE_SIZE           PCI_CACHE_LINE_SIZE\r
43 #define PCI9056_RTR_BASE             PCI_BASE_ADDRESS_0\r
44 #define PCI9056_RTR_IO_BASE          PCI_BASE_ADDRESS_1\r
45 #define PCI9056_LOCAL_BASE0          PCI_BASE_ADDRESS_2\r
46 #define PCI9056_LOCAL_BASE1          PCI_BASE_ADDRESS_3\r
47 #define PCI9056_UNUSED_BASE1         PCI_BASE_ADDRESS_4\r
48 #define PCI9056_UNUSED_BASE2         PCI_BASE_ADDRESS_5\r
49 #define PCI9056_CIS_PTR              PCI_CARDBUS_CIS\r
50 #define PCI9056_SUB_ID               PCI_SUBSYSTEM_VENDOR_ID\r
51 #define PCI9056_EXP_ROM_BASE         PCI_ROM_ADDRESS\r
52 #define PCI9056_CAP_PTR              PCI_CAPABILITY_LIST\r
53 #define PCI9056_INT_LINE             PCI_INTERRUPT_LINE\r
54 \r
55 #if defined(PLX9056_LOC)\r
56     #define PCI9056_PM_CAP_ID            0x180\r
57     #define PCI9056_PM_CSR               0x184\r
58     #define PCI9056_HS_CAP_ID            0x188\r
59     #define PCI9056_VPD_CAP_ID           0x18C\r
60     #define PCI9056_VPD_DATA             0x190\r
61 #endif\r
62 \r
63 \r
64 \r
65 #define PCI_DEVICE_ID_PLX9056           0x9056\r
66 \r
67 /* Local Configuration Registers Accessible via the PCI Base address + Variable */\r
68 #define PCI9056_SPACE0_RANGE         (0x000 + LOCAL_OFFSET)\r
69 #define PCI9056_SPACE0_REMAP         (0x004 + LOCAL_OFFSET)\r
70 #define PCI9056_LOCAL_DMA_ARBIT      (0x008 + LOCAL_OFFSET)\r
71 #define PCI9056_ENDIAN_DESC          (0x00c + LOCAL_OFFSET)\r
72 #define PCI9056_EXP_ROM_RANGE        (0x010 + LOCAL_OFFSET)\r
73 #define PCI9056_EXP_ROM_REMAP        (0x014 + LOCAL_OFFSET)\r
74 #define PCI9056_SPACE0_ROM_DESC      (0x018 + LOCAL_OFFSET)\r
75 #define PCI9056_DM_RANGE             (0x01c + LOCAL_OFFSET)\r
76 #define PCI9056_DM_MEM_BASE          (0x020 + LOCAL_OFFSET)\r
77 #define PCI9056_DM_IO_BASE           (0x024 + LOCAL_OFFSET)\r
78 #define PCI9056_DM_PCI_MEM_REMAP     (0x028 + LOCAL_OFFSET)\r
79 #define PCI9056_DM_PCI_IO_CONFIG     (0x02c + LOCAL_OFFSET)\r
80 #define PCI9056_SPACE1_RANGE         (0x0f0 + LOCAL_OFFSET)\r
81 #define PCI9056_SPACE1_REMAP         (0x0f4 + LOCAL_OFFSET)\r
82 #define PCI9056_SPACE1_DESC          (0x0f8 + LOCAL_OFFSET)\r
83 #define PCI9056_DM_DAC               (0x0fc + LOCAL_OFFSET)\r
84 \r
85 #ifdef PLX9056_LOC\r
86 #define PCI9056_ARBITER_CTRL         0x1A0\r
87 #define PCI9056_ABORT_ADDRESS        0x1A4\r
88 #endif\r
89 \r
90 /* Runtime registers  PCI Address + LOCAL_OFFSET */\r
91 #ifdef PLX9056_LOC\r
92 #define PCI9056_MAILBOX0                                0x0C0\r
93 #define PCI9056_MAILBOX1                                0x0C4\r
94 #else\r
95 #define PCI9056_MAILBOX0                                0x078\r
96 #define PCI9056_MAILBOX1                                0x07c\r
97 #endif\r
98 \r
99 #define PCI9056_MAILBOX2                                (0x048 + LOCAL_OFFSET)\r
100 #define PCI9056_MAILBOX3                                (0x04c + LOCAL_OFFSET)\r
101 #define PCI9056_MAILBOX4                                (0x050 + LOCAL_OFFSET)\r
102 #define PCI9056_MAILBOX5                                (0x054 + LOCAL_OFFSET)\r
103 #define PCI9056_MAILBOX6                                (0x058 + LOCAL_OFFSET)\r
104 #define PCI9056_MAILBOX7                                (0x05c + LOCAL_OFFSET)\r
105 #define PCI9056_PCI_TO_LOC_DBELL                (0x060 + LOCAL_OFFSET)\r
106 #define PCI9056_LOC_TO_PCI_DBELL                (0x064 + LOCAL_OFFSET)\r
107 #define PCI9056_INT_CTRL_STAT                   (0x068 + LOCAL_OFFSET)\r
108 #define PCI9056_EEPROM_CTRL_STAT                (0x06c + LOCAL_OFFSET)\r
109 #define PCI9056_PERM_VENDOR_ID          (0x070 + LOCAL_OFFSET)\r
110 #define PCI9056_REVISION_ID                     (0x074 + LOCAL_OFFSET)\r
111 \r
112 \r
113 #endif /* #ifndef __PLX9056_H_ */\r
114 \r