kirkwoodreg.h revision 1.4 1 1.4 kiyohara /* $NetBSD: kirkwoodreg.h,v 1.4 2012/08/01 10:34:42 kiyohara Exp $ */
2 1.1 kiyohara /*
3 1.1 kiyohara * Copyright (c) 2007, 2008 KIYOHARA Takashi
4 1.1 kiyohara * All rights reserved.
5 1.1 kiyohara *
6 1.1 kiyohara * Redistribution and use in source and binary forms, with or without
7 1.1 kiyohara * modification, are permitted provided that the following conditions
8 1.1 kiyohara * are met:
9 1.1 kiyohara * 1. Redistributions of source code must retain the above copyright
10 1.1 kiyohara * notice, this list of conditions and the following disclaimer.
11 1.1 kiyohara * 2. Redistributions in binary form must reproduce the above copyright
12 1.1 kiyohara * notice, this list of conditions and the following disclaimer in the
13 1.1 kiyohara * documentation and/or other materials provided with the distribution.
14 1.1 kiyohara *
15 1.1 kiyohara * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 1.1 kiyohara * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 1.1 kiyohara * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 1.1 kiyohara * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19 1.1 kiyohara * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 1.1 kiyohara * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21 1.1 kiyohara * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 1.1 kiyohara * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23 1.1 kiyohara * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
24 1.1 kiyohara * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.1 kiyohara * POSSIBILITY OF SUCH DAMAGE.
26 1.1 kiyohara */
27 1.1 kiyohara
28 1.1 kiyohara #ifndef _KIRKWOODREG_H_
29 1.1 kiyohara #define _KIRKWOODREG_H_
30 1.1 kiyohara
31 1.1 kiyohara #include <arm/marvell/mvsocreg.h>
32 1.1 kiyohara #include <dev/marvell/mvgbereg.h>
33 1.1 kiyohara
34 1.1 kiyohara /*
35 1.3 kiyohara * MHz TCLK GbE SATA TDMI Audio MTS GPIO TSens TWSI
36 1.3 kiyohara * 6180: 600/800, 166, x1, -, -, o, -, 30, -, x1
37 1.3 kiyohara * 6190: 600, 166, *x2, x1, -, -, -, 36, -, x1
38 1.3 kiyohara * 6192: 800, 166, x2, x2, o, o, o, 36, -, x1
39 1.3 kiyohara * 6281: 1.0/1.2/1.5, 200, x2, x2, o, o, o, 50, -, x1
40 1.3 kiyohara * 6282: ?-2.0, 200, x2, x2, o, o, o, 50, o, x2
41 1.3 kiyohara *
42 1.3 kiyohara * * GbE x1 + 100BT x1
43 1.1 kiyohara */
44 1.1 kiyohara
45 1.1 kiyohara #define KIRKWOOD_UNITID_DDR MVSOC_UNITID_DDR
46 1.1 kiyohara #define KIRKWOOD_UNITID_DEVBUS MVSOC_UNITID_DEVBUS
47 1.1 kiyohara #define KIRKWOOD_UNITID_MLMB MVSOC_UNITID_MLMB
48 1.1 kiyohara #define KIRKWOOD_UNITID_CRYPT 0x3 /* Cryptographic Engine reg */
49 1.1 kiyohara #define KIRKWOOD_UNITID_SA 0x3 /* Security Accelelerator reg */
50 1.1 kiyohara #define KIRKWOOD_UNITID_PEX MVSOC_UNITID_PEX
51 1.1 kiyohara #define KIRKWOOD_UNITID_USB 0x5 /* USB registers */
52 1.1 kiyohara #define KIRKWOOD_UNITID_IDMA 0x6 /* IDMA registers */
53 1.1 kiyohara #define KIRKWOOD_UNITID_XOR 0x6 /* XOR registers */
54 1.1 kiyohara #define KIRKWOOD_UNITID_GBE 0x7 /* Gigabit Ethernet registers */
55 1.1 kiyohara #define KIRKWOOD_UNITID_SATA 0x8 /* SATA registers */
56 1.1 kiyohara #define KIRKWOOD_UNITID_SDIO 0x9 /* SDIO registers */
57 1.1 kiyohara #define KIRKWOOD_UNITID_AUDIO 0xa /* Audio registers */
58 1.1 kiyohara #define KIRKWOOD_UNITID_MTS 0xb /* MPEG Transport Stream reg */
59 1.1 kiyohara #define KIRKWOOD_UNITID_TDM 0xd /* TDM registers */
60 1.1 kiyohara
61 1.1 kiyohara #define KIRKWOOD_ATTR_NAND 0x2f
62 1.1 kiyohara #define KIRKWOOD_ATTR_SPI 0x1e
63 1.1 kiyohara #define KIRKWOOD_ATTR_BOOTROM 0x1d
64 1.1 kiyohara #define KIRKWOOD_ATTR_PEX_MEM 0xe8
65 1.1 kiyohara #define KIRKWOOD_ATTR_PEX_IO 0xe0
66 1.2 kiyohara #define KIRKWOOD_ATTR_PEX1_MEM 0xd8
67 1.2 kiyohara #define KIRKWOOD_ATTR_PEX1_IO 0xd0
68 1.1 kiyohara #define KIRKWOOD_ATTR_CRYPT 0x00
69 1.1 kiyohara
70 1.1 kiyohara #define KIRKWOOD_IRQ_HIGH 0 /* High interrupt */
71 1.1 kiyohara #define KIRKWOOD_IRQ_BRIDGE 1 /* Mbus-L to Mbus Bridge */
72 1.1 kiyohara #define KIRKWOOD_IRQ_H2CPUDB 2 /* Doorbell interrupt */
73 1.1 kiyohara #define KIRKWOOD_IRQ_CPU2HDB 3 /* Doorbell interrupt */
74 1.1 kiyohara #define KIRKWOOD_IRQ_XOR0CHAN0 5 /* Xor 0 Channel0 */
75 1.1 kiyohara #define KIRKWOOD_IRQ_XOR0CHAN1 6 /* Xor 0 Channel1 */
76 1.1 kiyohara #define KIRKWOOD_IRQ_XOR1CHAN0 7 /* Xor 1 Channel0 */
77 1.1 kiyohara #define KIRKWOOD_IRQ_XOR1CHAN1 8 /* Xor 1 Channel1 */
78 1.1 kiyohara #define KIRKWOOD_IRQ_PEX0INT 9 /* PCI Express port0 INT A-D */
79 1.2 kiyohara #define KIRKWOOD_IRQ_PEX1INT 10 /* PCI Express port1 INT A-D */
80 1.1 kiyohara #define KIRKWOOD_IRQ_GBE0SUM 11 /* GbE0 summary */
81 1.1 kiyohara #define KIRKWOOD_IRQ_GBE0RX 12 /* GbE0 receive interrupt */
82 1.1 kiyohara #define KIRKWOOD_IRQ_GBE0TX 13 /* GbE0 transmit interrupt */
83 1.1 kiyohara #define KIRKWOOD_IRQ_GBE0MISC 14 /* GbE0 miscellaneous intr */
84 1.1 kiyohara #define KIRKWOOD_IRQ_GBE1SUM 15 /* GbE1 summary */
85 1.1 kiyohara #define KIRKWOOD_IRQ_GBE1RX 16 /* GbE1 receive interrupt */
86 1.1 kiyohara #define KIRKWOOD_IRQ_GBE1TX 17 /* GbE1 transmit interrupt */
87 1.1 kiyohara #define KIRKWOOD_IRQ_GBE1MISC 18 /* GbE1 miscellaneous intr */
88 1.1 kiyohara #define KIRKWOOD_IRQ_USB0CNT 19 /* USB0 controller interrupt */
89 1.1 kiyohara #define KIRKWOOD_IRQ_SATA 21 /*Sata ports interrupt summary*/
90 1.1 kiyohara #define KIRKWOOD_IRQ_SECURITYINT 22 /* Security engine completion */
91 1.1 kiyohara #define KIRKWOOD_IRQ_SPIINT 23 /* SPI Interrupt */
92 1.1 kiyohara #define KIRKWOOD_IRQ_AUDIOINT 24 /* Audio interrupt */
93 1.1 kiyohara #define KIRKWOOD_IRQ_TS0INT 26 /* TS0 Interrupt */
94 1.1 kiyohara #define KIRKWOOD_IRQ_SDIOINT 28 /* SDIO Interrupt */
95 1.1 kiyohara #define KIRKWOOD_IRQ_TWSI 29 /* TWSI interrupt */
96 1.1 kiyohara #define KIRKWOOD_IRQ_AVBINT 30 /* AVB Interrupt */
97 1.1 kiyohara #define KIRKWOOD_IRQ_TDMINT 31 /* TDM Interrupt */
98 1.3 kiyohara #define KIRKWOOD_IRQ_TWSI1 32 /* TWSI1 interrupt */
99 1.1 kiyohara #define KIRKWOOD_IRQ_UART0INT 33 /* UART0 */
100 1.1 kiyohara #define KIRKWOOD_IRQ_UART1INT 34 /* UART1 */
101 1.1 kiyohara #define KIRKWOOD_IRQ_GPIOLO7_0 35 /* GPIO Low[7:0] */
102 1.1 kiyohara #define KIRKWOOD_IRQ_GPIOLO8_15 36 /* GPIO Low[15:8] */
103 1.1 kiyohara #define KIRKWOOD_IRQ_GPIOLO16_23 37 /* GPIO Low[23:16] */
104 1.1 kiyohara #define KIRKWOOD_IRQ_GPIOLO24_31 38 /* GPIO Low[31:24] */
105 1.1 kiyohara #define KIRKWOOD_IRQ_GPIOHI7_0 39 /* GPIO High[7:0] */
106 1.1 kiyohara #define KIRKWOOD_IRQ_GPIOHI8_15 40 /* GPIO High[15:8] */
107 1.1 kiyohara #define KIRKWOOD_IRQ_GPIOHI16_23 41 /* GPIO High[23:16] */
108 1.1 kiyohara #define KIRKWOOD_IRQ_XOR0ERR 42 /* XOR0 error */
109 1.1 kiyohara #define KIRKWOOD_IRQ_XOR1ERR 43 /* XOR1 error */
110 1.1 kiyohara #define KIRKWOOD_IRQ_PEX0ERR 44 /* PCI Express0 error */
111 1.2 kiyohara #define KIRKWOOD_IRQ_PEX1ERR 45 /* PCI Express1 error */
112 1.1 kiyohara #define KIRKWOOD_IRQ_GBE0ERR 46 /* GbE port0 error */
113 1.1 kiyohara #define KIRKWOOD_IRQ_GBE1ERR 47 /* GbE port1 error */
114 1.1 kiyohara #define KIRKWOOD_IRQ_USBERR 48 /* USB error */
115 1.1 kiyohara #define KIRKWOOD_IRQ_SECURITYERR 49 /* Cryptographic engine error */
116 1.1 kiyohara #define KIRKWOOD_IRQ_AUDIOERR 50 /* Audio error */
117 1.1 kiyohara #define KIRKWOOD_IRQ_RTCINT 53 /* Real time clock interrupt */
118 1.1 kiyohara
119 1.1 kiyohara
120 1.1 kiyohara /*
121 1.1 kiyohara * Physical address of integrated peripherals
122 1.1 kiyohara */
123 1.1 kiyohara
124 1.1 kiyohara #define KIRKWOOD_UNITID2PHYS(uid) ((KIRKWOOD_UNITID_ ## uid) << 16)
125 1.1 kiyohara
126 1.1 kiyohara /*
127 1.1 kiyohara * Pin Multiplexing Interface Registers
128 1.1 kiyohara */
129 1.1 kiyohara #define KIRKWOOD_MPP_BASE (MVSOC_DEVBUS_BASE + 0x0000)
130 1.1 kiyohara #define KIRKWOOD_MPP_SIZE 0x40 /* XXXX */
131 1.1 kiyohara #define KIRKWOOD_MPP_MPPC0R 0x00
132 1.1 kiyohara #define KIRKWOOD_MPP_MPPC1R 0x04
133 1.1 kiyohara #define KIRKWOOD_MPP_MPPC2R 0x08
134 1.1 kiyohara #define KIRKWOOD_MPP_MPPC3R 0x0c
135 1.1 kiyohara #define KIRKWOOD_MPP_MPPC4R 0x10
136 1.1 kiyohara #define KIRKWOOD_MPP_MPPC5R 0x14
137 1.1 kiyohara #define KIRKWOOD_MPP_MPPC6R 0x18
138 1.1 kiyohara #define KIRKWOOD_MPP_SAMPLE_AT_RESET 0x30
139 1.1 kiyohara
140 1.1 kiyohara /*
141 1.1 kiyohara * Real-Time Clock Unit Registers
142 1.1 kiyohara */
143 1.1 kiyohara #define KIRKWOOD_RTC_BASE (MVSOC_DEVBUS_BASE + 0x0300)
144 1.1 kiyohara
145 1.1 kiyohara /*
146 1.1 kiyohara * Serial Peripheral Interface Registers
147 1.1 kiyohara */
148 1.1 kiyohara #define KIRKWOOD_SPI_BASE (MVSOC_DEVBUS_BASE + 0x0600)
149 1.1 kiyohara
150 1.1 kiyohara /*
151 1.1 kiyohara * Mbus-L to Mbus Bridge Registers
152 1.1 kiyohara */
153 1.1 kiyohara /* CPU Address Map Registers */
154 1.1 kiyohara #define KIRKWOOD_MLMB_NWINDOW 8
155 1.1 kiyohara #define KIRKWOOD_MLMB_NREMAP 4
156 1.1 kiyohara
157 1.1 kiyohara /* Main Interrupt Controller Registers */
158 1.1 kiyohara #define KIRKWOOD_MLMB_MICLR 0x200 /*Main Interrupt Cause Low reg*/
159 1.1 kiyohara #define KIRKWOOD_MLMB_MIRQIMLR 0x204 /*Main IRQ Interrupt Low Mask*/
160 1.1 kiyohara #define KIRKWOOD_MLMB_MFIQIMLR 0x208 /*Main FIQ Interrupt Low Mask*/
161 1.1 kiyohara #define KIRKWOOD_MLMB_EIMLR 0x20c /*Endpoint Interrupt Low Mask*/
162 1.1 kiyohara #define KIRKWOOD_MLMB_MICHR 0x210 /*Main Intr Cause High reg*/
163 1.1 kiyohara #define KIRKWOOD_MLMB_MIRQIMHR 0x214 /*Main IRQ Interrupt High Mask*/
164 1.1 kiyohara #define KIRKWOOD_MLMB_MFIQIMHR 0x218 /*Main FIQ Interrupt High Mask*/
165 1.1 kiyohara #define KIRKWOOD_MLMB_EIMHR 0x21c /*Endpoint Interrupt High Mask*/
166 1.1 kiyohara
167 1.1 kiyohara
168 1.1 kiyohara /*
169 1.4 kiyohara * Kirkwood Thermal Sensor(6282 only)
170 1.4 kiyohara */
171 1.4 kiyohara #define KIRKWOOD_TS_BASE (MVSOC_DEVBUS_BASE + 0x0078) /* XXXX: ??? */
172 1.4 kiyohara
173 1.4 kiyohara /*
174 1.3 kiyohara * Two-Wire Serial Interface Registers
175 1.3 kiyohara */
176 1.3 kiyohara #define KIRKWOOD_TWSI1_BASE (MVSOC_TWSI_BASE + 0x0100)
177 1.3 kiyohara
178 1.3 kiyohara /*
179 1.2 kiyohara * PCI-Express Interface Registers
180 1.2 kiyohara */
181 1.2 kiyohara #define KIRKWOOD_PEX1_BASE (MVSOC_PEX_BASE + 0x4000)
182 1.2 kiyohara
183 1.2 kiyohara /*
184 1.1 kiyohara * Cryptographic Engine and Security Accelerator Registers
185 1.1 kiyohara */
186 1.1 kiyohara #define KIRKWOOD_CESA_BASE (KIRKWOOD_UNITID2PHYS(CRYPT)) /* 0x30000 */
187 1.1 kiyohara
188 1.1 kiyohara /*
189 1.1 kiyohara * USB 2.0 Interface Registers
190 1.1 kiyohara */
191 1.1 kiyohara #define KIRKWOOD_USB_BASE (KIRKWOOD_UNITID2PHYS(USB)) /* 0x50000 */
192 1.1 kiyohara
193 1.1 kiyohara /*
194 1.1 kiyohara * IDMA Controller and XOR Engine Registers
195 1.1 kiyohara */
196 1.1 kiyohara #define KIRKWOOD_IDMAC_BASE (KIRKWOOD_UNITID2PHYS(IDMA)) /* 0x60000 */
197 1.1 kiyohara
198 1.1 kiyohara /*
199 1.1 kiyohara * Gigabit Ethernet Registers
200 1.1 kiyohara */
201 1.1 kiyohara #define KIRKWOOD_GBE0_BASE (KIRKWOOD_UNITID2PHYS(GBE)) /* 0x70000 */
202 1.1 kiyohara #define KIRKWOOD_GBE1_BASE (KIRKWOOD_GBE0_BASE + MVGBE_SIZE)
203 1.1 kiyohara
204 1.1 kiyohara /*
205 1.1 kiyohara * Serial-ATA Host Controller (SATAHC) Registers
206 1.1 kiyohara */
207 1.1 kiyohara #define KIRKWOOD_SATAHC_BASE (KIRKWOOD_UNITID2PHYS(SATA)) /* 0x80000 */
208 1.1 kiyohara
209 1.1 kiyohara /*
210 1.1 kiyohara * Secure Digital Input/Output (SDIO) Interface Registers
211 1.1 kiyohara */
212 1.1 kiyohara #define KIRKWOOD_SDIO_BASE (KIRKWOOD_UNITID2PHYS(SDIO)) /* 0x90000 */
213 1.1 kiyohara
214 1.1 kiyohara /*
215 1.1 kiyohara * Audio (I2S/S/PDIF) Interface Registers
216 1.1 kiyohara */
217 1.1 kiyohara #define KIRKWOOD_AUDIO_BASE (KIRKWOOD_UNITID2PHYS(AUDIOSDIO))/* 0xa0000 */
218 1.1 kiyohara
219 1.1 kiyohara /*
220 1.1 kiyohara * MPEG-2 Transport Stream (TS) Interface Registers
221 1.1 kiyohara */
222 1.1 kiyohara #define KIRKWOOD_MTS_BASE (KIRKWOOD_UNITID2PHYS(MTS)) /* 0xb0000 */
223 1.1 kiyohara
224 1.1 kiyohara /*
225 1.1 kiyohara * Time Division Multiplexing (TDM) Unit Registers
226 1.1 kiyohara */
227 1.1 kiyohara #define KIRKWOOD_TDM_BASE (KIRKWOOD_UNITID2PHYS(TDM)) /* 0xd0000 */
228 1.1 kiyohara
229 1.1 kiyohara #endif /* _KIRKWOODREG_H_ */
230