at91rm92reg.h revision 155324
1155324Simp/*-
2155324Simp * Copyright (c) 2005 Olivier Houchard.  All rights reserved.
3155324Simp *
4155324Simp * Redistribution and use in source and binary forms, with or without
5155324Simp * modification, are permitted provided that the following conditions
6155324Simp * are met:
7155324Simp * 1. Redistributions of source code must retain the above copyright
8155324Simp *    notice, this list of conditions and the following disclaimer.
9155324Simp * 2. Redistributions in binary form must reproduce the above copyright
10155324Simp *    notice, this list of conditions and the following disclaimer in the
11155324Simp *    documentation and/or other materials provided with the distribution.
12155324Simp *
13155324Simp * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14155324Simp * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15155324Simp * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16155324Simp * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17155324Simp * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18155324Simp * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19155324Simp * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20155324Simp * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21155324Simp * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22155324Simp * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23155324Simp */
24155324Simp
25155324Simp/* $FreeBSD: head/sys/arm/at91/at91rm92reg.h 155324 2006-02-04 23:32:13Z imp $ */
26155324Simp
27155324Simp#ifndef AT91RM92REG_H_
28155324Simp#define AT91RM92REG_H_
29155324Simp/*
30155324Simp * Memory map, from datasheet :
31155324Simp * 0x00000000 - 0x0ffffffff : Internal Memories
32155324Simp * 0x10000000 - 0x1ffffffff : Chip Select 0
33155324Simp * 0x20000000 - 0x2ffffffff : Chip Select 1
34155324Simp * 0x30000000 - 0x3ffffffff : Chip Select 2
35155324Simp * 0x40000000 - 0x4ffffffff : Chip Select 3
36155324Simp * 0x50000000 - 0x5ffffffff : Chip Select 4
37155324Simp * 0x60000000 - 0x6ffffffff : Chip Select 5
38155324Simp * 0x70000000 - 0x7ffffffff : Chip Select 6
39155324Simp * 0x80000000 - 0x8ffffffff : Chip Select 7
40155324Simp * 0x90000000 - 0xeffffffff : Undefined (Abort)
41155324Simp * 0xf0000000 - 0xfffffffff : Peripherals
42155324Simp */
43155324Simp
44155324Simp#define AT91RM92_BASE		0xf0000000
45155324Simp/* Usart */
46155324Simp
47155324Simp#define AT91RM92_USART0_BASE	0xffc0000
48155324Simp#define AT91RM92_USART0_PDC	0xffc0100
49155324Simp#define AT91RM92_USART1_BASE	0xffc4000
50155324Simp#define AT91RM92_USART1_PDC	0xffc4100
51155324Simp#define AT91RM92_USART2_BASE	0xffc8000
52155324Simp#define AT91RM92_USART2_PDC	0xffc8100
53155324Simp#define AT91RM92_USART3_BASE	0xffcc000
54155324Simp#define AT91RM92_USART3_PDC	0xffcc100
55155324Simp#define AT91RM92_USART_SIZE	0x4000
56155324Simp
57155324Simp/* System Registers */
58155324Simp
59155324Simp#define AT91RM92_SYS_BASE	0xffff000
60155324Simp#define AT91RM92_SYS_SIZE	0x1000
61155324Simp/* Interrupt Controller */
62155324Simp#define IC_SMR			(0) /* Source mode register */
63155324Simp#define IC_SVR			(128) /* Source vector register */
64155324Simp#define IC_IVR			(256) /* IRQ vector register */
65155324Simp#define IC_FVR			(260) /* FIQ vector register */
66155324Simp#define IC_ISR			(264) /* Interrupt status register */
67155324Simp#define IC_IPR			(268) /* Interrupt pending register */
68155324Simp#define IC_IMR			(272) /* Interrupt status register */
69155324Simp#define IC_CISR			(276) /* Core interrupt status register */
70155324Simp#define IC_IECR			(288) /* Interrupt enable command register */
71155324Simp#define IC_IDCR			(292) /* Interrupt disable command register */
72155324Simp#define IC_ICCR			(296) /* Interrupt clear command register */
73155324Simp#define IC_ISCR			(300) /* Interrupt set command register */
74155324Simp#define IC_EOICR		(304) /* End of interrupt command register */
75155324Simp#define IC_SPU			(308) /* Spurious vector register */
76155324Simp#define IC_DCR			(312) /* Debug control register */
77155324Simp#define IC_FFER			(320) /* Fast forcing enable register */
78155324Simp#define IC_FFDR			(324) /* Fast forcing disable register */
79155324Simp#define IC_FFSR			(328) /* Fast forcing status register */
80155324Simp
81155324Simp/* DBGU */
82155324Simp
83155324Simp#define DBGU			0x200
84155324Simp#define DBGU_SIZE		0x200
85155324Simp#define DBGU_C1R		(0x200 + 64) /* Chip ID1 Register */
86155324Simp#define DBGU_C2R		(0x200 + 68) /* Chip ID2 Register */
87155324Simp#define DBGU_FNTR		(0x200 + 72) /* Force NTRST Register */
88155324Simp
89155324Simp#define PIOA_PER		(0x400) /* PIO Enable Register */
90155324Simp#define PIOA_PDR		(0x400 + 4) /* PIO Disable Register */
91155324Simp#define PIOA_PSR		(0x400 + 8) /* PIO status register */
92155324Simp#define PIOA_OER		(0x400 + 16) /* Output enable register */
93155324Simp#define PIOA_ODR		(0x400 + 20) /* Output disable register */
94155324Simp#define PIOA_OSR		(0x400 + 24) /* Output status register */
95155324Simp#define PIOA_IFER		(0x400 + 32) /* Input filter enable register */
96155324Simp#define PIOA_IFDR		(0x400 + 36) /* Input filter disable register */
97155324Simp#define PIOA_IFSR		(0x400 + 40) /* Input filter status register */
98155324Simp#define PIOA_SODR		(0x400 + 48) /* Set output data register */
99155324Simp#define PIOA_CODR		(0x400 + 52) /* Clear output data register */
100155324Simp#define PIOA_ODSR		(0x400 + 56) /* Output data status register */
101155324Simp#define PIOA_PDSR		(0x400 + 60) /* Pin data status register */
102155324Simp#define PIOA_IER		(0x400 + 64) /* Interrupt enable register */
103155324Simp#define PIOA_IDR		(0x400 + 68) /* Interrupt disable register */
104155324Simp#define PIOA_IMR		(0x400 + 72) /* Interrupt mask register */
105155324Simp#define PIOA_ISR		(0x400 + 76) /* Interrupt status register */
106155324Simp#define PIOA_MDER		(0x400 + 80) /* Multi driver enable register */
107155324Simp#define PIOA_MDDR		(0x400 + 84) /* Multi driver disable register */
108155324Simp#define PIOA_MDSR		(0x400 + 88) /* Multi driver status register */
109155324Simp#define PIOA_PPUDR		(0x400 + 96) /* Pull-up disable register */
110155324Simp#define PIOA_PPUER		(0x400 + 100) /* Pull-up enable register */
111155324Simp#define PIOA_PPUSR		(0x400 + 104) /* Pad pull-up status register */
112155324Simp#define PIOA_ASR		(0x400 + 112) /* Select A register */
113155324Simp#define PIOA_BSR		(0x400 + 116) /* Select B register */
114155324Simp#define PIOA_ABSR		(0x400 + 120) /* AB Select status register */
115155324Simp#define PIOA_OWER		(0x400 + 160) /* Output Write enable register */
116155324Simp#define PIOA_OWDR		(0x400 + 164) /* Output write disable register */
117155324Simp#define PIOA_OWSR		(0x400 + 168) /* Output write status register */
118155324Simp#define PIOB_PER		(0x400) /* PIO Enable Register */
119155324Simp#define PIOB_PDR		(0x600 + 4) /* PIO Disable Register */
120155324Simp#define PIOB_PSR		(0x600 + 8) /* PIO status register */
121155324Simp#define PIOB_OER		(0x600 + 16) /* Output enable register */
122155324Simp#define PIOB_ODR		(0x600 + 20) /* Output disable register */
123155324Simp#define PIOB_OSR		(0x600 + 24) /* Output status register */
124155324Simp#define PIOB_IFER		(0x600 + 32) /* Input filter enable register */
125155324Simp#define PIOB_IFDR		(0x600 + 36) /* Input filter disable register */
126155324Simp#define PIOB_IFSR		(0x600 + 40) /* Input filter status register */
127155324Simp#define PIOB_SODR		(0x600 + 48) /* Set output data register */
128155324Simp#define PIOB_CODR		(0x600 + 52) /* Clear output data register */
129155324Simp#define PIOB_ODSR		(0x600 + 56) /* Output data status register */
130155324Simp#define PIOB_PDSR		(0x600 + 60) /* Pin data status register */
131155324Simp#define PIOB_IER		(0x600 + 64) /* Interrupt enable register */
132155324Simp#define PIOB_IDR		(0x600 + 68) /* Interrupt disable register */
133155324Simp#define PIOB_IMR		(0x600 + 72) /* Interrupt mask register */
134155324Simp#define PIOB_ISR		(0x600 + 76) /* Interrupt status register */
135155324Simp#define PIOB_MDER		(0x600 + 80) /* Multi driver enable register */
136155324Simp#define PIOB_MDDR		(0x600 + 84) /* Multi driver disable register */
137155324Simp#define PIOB_MDSR		(0x600 + 88) /* Multi driver status register */
138155324Simp#define PIOB_PPUDR		(0x600 + 96) /* Pull-up disable register */
139155324Simp#define PIOB_PPUER		(0x600 + 100) /* Pull-up enable register */
140155324Simp#define PIOB_PPUSR		(0x600 + 104) /* Pad pull-up status register */
141155324Simp#define PIOB_ASR		(0x600 + 112) /* Select A register */
142155324Simp#define PIOB_BSR		(0x600 + 116) /* Select B register */
143155324Simp#define PIOB_ABSR		(0x600 + 120) /* AB Select status register */
144155324Simp#define PIOB_OWER		(0x600 + 160) /* Output Write enable register */
145155324Simp#define PIOB_OWDR		(0x600 + 164) /* Output write disable register */
146155324Simp#define PIOB_OWSR		(0x600 + 168) /* Output write status register */
147155324Simp#define PIOC_PER		(0x800) /* PIO Enable Register */
148155324Simp#define PIOC_PDR		(0x800 + 4) /* PIO Disable Register */
149155324Simp#define PIOC_PSR		(0x800 + 8) /* PIO status register */
150155324Simp#define PIOC_OER		(0x800 + 16) /* Output enable register */
151155324Simp#define PIOC_ODR		(0x800 + 20) /* Output disable register */
152155324Simp#define PIOC_OSR		(0x800 + 24) /* Output status register */
153155324Simp#define PIOC_IFER		(0x800 + 32) /* Input filter enable register */
154155324Simp#define PIOC_IFDR		(0x800 + 36) /* Input filter disable register */
155155324Simp#define PIOC_IFSR		(0x800 + 40) /* Input filter status register */
156155324Simp#define PIOC_SODR		(0x800 + 48) /* Set output data register */
157155324Simp#define PIOC_CODR		(0x800 + 52) /* Clear output data register */
158155324Simp#define PIOC_ODSR		(0x800 + 56) /* Output data status register */
159155324Simp#define PIOC_PDSR		(0x800 + 60) /* Pin data status register */
160155324Simp#define PIOC_IER		(0x800 + 64) /* Interrupt enable register */
161155324Simp#define PIOC_IDR		(0x800 + 68) /* Interrupt disable register */
162155324Simp#define PIOC_IMR		(0x800 + 72) /* Interrupt mask register */
163155324Simp#define PIOC_ISR		(0x800 + 76) /* Interrupt status register */
164155324Simp#define PIOC_MDER		(0x800 + 80) /* Multi driver enable register */
165155324Simp#define PIOC_MDDR		(0x800 + 84) /* Multi driver disable register */
166155324Simp#define PIOC_MDSR		(0x800 + 88) /* Multi driver status register */
167155324Simp#define PIOC_PPUDR		(0x800 + 96) /* Pull-up disable register */
168155324Simp#define PIOC_PPUER		(0x800 + 100) /* Pull-up enable register */
169155324Simp#define PIOC_PPUSR		(0x800 + 104) /* Pad pull-up status register */
170155324Simp#define PIOC_ASR		(0x800 + 112) /* Select A register */
171155324Simp#define PIOC_BSR		(0x800 + 116) /* Select B register */
172155324Simp#define PIOC_ABSR		(0x800 + 120) /* AB Select status register */
173155324Simp#define PIOC_OWER		(0x800 + 160) /* Output Write enable register */
174155324Simp#define PIOC_OWDR		(0x800 + 164) /* Output write disable register */
175155324Simp#define PIOC_OWSR		(0x800 + 168) /* Output write status register */
176155324Simp#define PIOD_PER		(0xa00) /* PIO Enable Register */
177155324Simp#define PIOD_PDR		(0xa00 + 4) /* PIO Disable Register */
178155324Simp#define PIOD_PSR		(0xa00 + 8) /* PIO status register */
179155324Simp#define PIOD_OER		(0xa00 + 16) /* Output enable register */
180155324Simp#define PIOD_ODR		(0xa00 + 20) /* Output disable register */
181155324Simp#define PIOD_OSR		(0xa00 + 24) /* Output status register */
182155324Simp#define PIOD_IFER		(0xa00 + 32) /* Input filter enable register */
183155324Simp#define PIOD_IFDR		(0xa00 + 36) /* Input filter disable register */
184155324Simp#define PIOD_IFSR		(0xa00 + 40) /* Input filter status register */
185155324Simp#define PIOD_SODR		(0xa00 + 48) /* Set output data register */
186155324Simp#define PIOD_CODR		(0xa00 + 52) /* Clear output data register */
187155324Simp#define PIOD_ODSR		(0xa00 + 56) /* Output data status register */
188155324Simp#define PIOD_PDSR		(0xa00 + 60) /* Pin data status register */
189155324Simp#define PIOD_IER		(0xa00 + 64) /* Interrupt enable register */
190155324Simp#define PIOD_IDR		(0xa00 + 68) /* Interrupt disable register */
191155324Simp#define PIOD_IMR		(0xa00 + 72) /* Interrupt mask register */
192155324Simp#define PIOD_ISR		(0xa00 + 76) /* Interrupt status register */
193155324Simp#define PIOD_MDER		(0xa00 + 80) /* Multi driver enable register */
194155324Simp#define PIOD_MDDR		(0xa00 + 84) /* Multi driver disable register */
195155324Simp#define PIOD_MDSR		(0xa00 + 88) /* Multi driver status register */
196155324Simp#define PIOD_PPUDR		(0xa00 + 96) /* Pull-up disable register */
197155324Simp#define PIOD_PPUER		(0xa00 + 100) /* Pull-up enable register */
198155324Simp#define PIOD_PPUSR		(0xa00 + 104) /* Pad pull-up status register */
199155324Simp#define PIOD_ASR		(0xa00 + 112) /* Select A register */
200155324Simp#define PIOD_BSR		(0xa00 + 116) /* Select B register */
201155324Simp#define PIOD_ABSR		(0xa00 + 120) /* AB Select status register */
202155324Simp#define PIOD_OWER		(0xa00 + 160) /* Output Write enable register */
203155324Simp#define PIOD_OWDR		(0xa00 + 164) /* Output write disable register */
204155324Simp#define PIOD_OWSR		(0xa00 + 168) /* Output write status register */
205155324Simp
206155324Simp/* IRQs : */
207155324Simp/*
208155324Simp * 0: AIC
209155324Simp * 1: System peripheral (System timer, RTC, DBGU)
210155324Simp * 2: PIO Controller A
211155324Simp * 3: PIO Controller B
212155324Simp * 4: PIO Controller C
213155324Simp * 5: PIO Controller D
214155324Simp * 6: USART 0
215155324Simp * 7: USART 1
216155324Simp * 8: USART 2
217155324Simp * 9: USART 3
218155324Simp * 10: MMC Interface
219155324Simp * 11: USB device port
220155324Simp * 12: Two-wirte interface
221155324Simp * 13: SPI
222155324Simp * 14: SSC
223155324Simp * 15: SSC
224155324Simp * 16: SSC
225155324Simp * 17: Timer Counter 0
226155324Simp * 18: Timer Counter 1
227155324Simp * 19: Timer Counter 2
228155324Simp * 20: Timer Counter 3
229155324Simp * 21: Timer Counter 4
230155324Simp * 22: Timer Counter 6
231155324Simp * 23: USB Host port
232155324Simp * 24: Ethernet
233155324Simp * 25: AIC
234155324Simp * 26: AIC
235155324Simp * 27: AIC
236155324Simp * 28: AIC
237155324Simp * 29: AIC
238155324Simp * 30: AIC
239155324Simp * 31: AIC
240155324Simp */
241155324Simp
242155324Simp#define AT91RM92_IRQ_SYSTEM	1
243155324Simp#define AT91RM92_IRQ_PIOA	2
244155324Simp#define AT91RM92_IRQ_PIOB	3
245155324Simp#define AT91RM92_IRQ_PIOC	4
246155324Simp#define AT91RM92_IRQ_PIOD	5
247155324Simp#define AT91RM92_IRQ_USART0	6
248155324Simp#define AT91RM92_IRQ_USART1	7
249155324Simp#define AT91RM92_IRQ_USART2	8
250155324Simp#define AT91RM92_IRQ_USART3	9
251155324Simp#define AT91RM92_IRQ_MCI	10
252155324Simp#define AT91RM92_IRQ_UDP	11
253155324Simp#define AT91RM92_IRQ_TWI	12
254155324Simp#define AT91RM92_IRQ_SPI	13
255155324Simp#define AT91RM92_IRQ_SSC0	14
256155324Simp#define AT91RM92_IRQ_SSC1	15
257155324Simp#define AT91RM92_IRQ_SSC2	16
258155324Simp#define AT91RM92_IRQ_TC0	17
259155324Simp#define AT91RM92_IRQ_TC1	18
260155324Simp#define AT91RM92_IRQ_TC2	19
261155324Simp#define AT91RM92_IRQ_TC3	20
262155324Simp#define AT91RM92_IRQ_TC4	21
263155324Simp#define AT91RM92_IRQ_TC5	22
264155324Simp#define AT91RM92_IRQ_UHP	23
265155324Simp#define AT91RM92_IRQ_EMAC	24
266155324Simp#define AT91RM92_IRQ_AIC_BASE	25
267155324Simp
268155324Simp/* Timer */
269155324Simp
270155324Simp#define AT91RM92_ST_BASE	0xffffd00
271155324Simp#define AT91RM92_ST_SIZE	0x100
272155324Simp
273155324Simp#define AT91RM92_SPI_BASE	0xffe0000
274155324Simp#define AT91RM92_SPI_SIZE	0x4000
275155324Simp#define AT91RM92_SPI_PDC	0xffe0100
276155324Simp
277155324Simp#define AT91RM92_SSC0_BASE	0xffd0000
278155324Simp#define AT91RM92_SSC0_PDC	0xffd0100
279155324Simp
280155324Simp#define AT91RM92_SSC1_BASE	0xffd4000
281155324Simp#define AT91RM92_SSC1_PDC	0xffd4100
282155324Simp
283155324Simp#define AT91RM92_SSC2_BASE	0xffd8000
284155324Simp#define AT91RM92_SSC2_PDC	0xffd8100
285155324Simp
286155324Simp#define AT91RM92_SSC_SIZE	0x4000
287155324Simp
288155324Simp#define AT91RM92_EMAC_BASE	0xffbc000
289155324Simp#define AT91RM92_EMAC_SIZE	0x4000
290155324Simp
291155324Simp#define AT91RM92_TWI_BASE	0xffb8000
292155324Simp#define AT91RM92_TWI_SIZE	0x4000
293155324Simp
294155324Simp#define AT91RM92_MCI_BASE	0xffb4000
295155324Simp#define AT91RM92_MCI_PDC	0xffb4100
296155324Simp#define AT91RM92_MCI_SIZE	0x4000
297155324Simp
298155324Simp#define AT91RM92_UDP_BASE	0xffb0000
299155324Simp#define AT91RM92_UDP_SIZE	0x4000
300155324Simp
301155324Simp#define AT91RM92_TC0_BASE	0xffa0000
302155324Simp#define AT91RM92_TC0_SIZE	0x4000
303155324Simp#define AT91RM92_TC0C0_BASE	0xffa0000
304155324Simp#define AT91RM92_TC0C1_BASE	0xffa0040
305155324Simp#define AT91RM92_TC0C2_BASE	0xffa0080
306155324Simp
307155324Simp#define AT91RM92_TC1_BASE	0xffa4000
308155324Simp#define AT91RM92_TC1_SIZE	0x4000
309155324Simp#define AT91RM92_TC1C0_BASE	0xffa4000
310155324Simp#define AT91RM92_TC1C1_BASE	0xffa4040
311155324Simp#define AT91RM92_TC1C2_BASE	0xffa4080
312155324Simp
313155324Simp#define AT91RM92_OHCI_BASE	0x00300000
314155324Simp#define AT91RM92_OHCI_SIZE	0x00100000
315155324Simp
316155324Simp/* Pio definitions */
317155324Simp#define AT91RM92_PIO_PA0	(1 << 0)
318155324Simp#define AT91RM92_PA0_MISO	(AT91RM92_PIO_PA0) /* SPI Master In Slave */
319155324Simp#define AT91RM92_PA0_PCK3	(AT91RM92_PIO_PA0) /* PMC Programmable Clock Output 3 */
320155324Simp#define AT91RM92_PIO_PA1	(1 << 1)
321155324Simp#define AT91RM92_PA1_MOSI	(AT91RM92_PIO_PA1) /* SPI Master Out Slave */
322155324Simp#define AT91RM92_PA1_PCK0	(AT91RM92_PIO_PA1) /* PMC Programmable Clock Output 0 */
323155324Simp#define AT91RM92_PIO_PA2	(1 << 2)
324155324Simp#define AT91RM92_PA2_SPCK	(AT91RM92_PIO_PA2) /* SPI Serial Clock */
325155324Simp#define AT91RM92_PA2_IRQ4	(AT91RM92_PIO_PA2) /* AIC Interrupt Input 4 */
326155324Simp#define AT91RM92_PIO_PA3	(1 << 3)
327155324Simp#define AT91RM92_PA3_NPCS0	(AT91RM92_PIO_PA3) /* SPI Peripheral Chip Select 0 */
328155324Simp#define AT91RM92_PA3_IRQ5	(AT91RM92_PIO_PA3) /* AIC Interrupt Input 5 */
329155324Simp#define AT91RM92_PIO_PA4	(1 << 4)
330155324Simp#define AT91RM92_PA4_NPCS1	(AT91RM92_PIO_PA4) /* SPI Peripheral Chip Select 1 */
331155324Simp#define AT91RM92_PA4_PCK1	(AT91RM92_PIO_PA4) /* PMC Programmable Clock Output 1 */
332155324Simp#define AT91RM92_PIO_PA5	(1 << 5)
333155324Simp#define AT91RM92_PA5_NPCS2	(AT91RM92_PIO_PA5) /* SPI Peripheral Chip Select 2 */
334155324Simp#define AT91RM92_PA5_TXD3	(AT91RM92_PIO_PA5) /* USART 3 Transmit Data */
335155324Simp#define AT91RM92_PIO_PA6	(1 << 6)
336155324Simp#define AT91RM92_PA6_NPCS3	(AT91RM92_PIO_PA6) /* SPI Peripheral Chip Select 3 */
337155324Simp#define AT91RM92_PA6_RXD3	(AT91RM92_PIO_PA6) /* USART 3 Receive Data */
338155324Simp#define AT91RM92_PIO_PA7	(1 << 7)
339155324Simp#define AT91RM92_PA7_ETXCK_EREFC	(AT91RM92_PIO_PA7) /* Ethernet MAC Transmit Clock/Reference Clock */
340155324Simp#define AT91RM92_PA7_PCK2	(AT91RM92_PIO_PA7) /* PMC Programmable Clock 2 */
341155324Simp#define AT91RM92_PIO_PA8	(1 << 8)
342155324Simp#define AT91RM92_PA8_ETXEN	(AT91RM92_PIO_PA8) /* Ethernet MAC Transmit Enable */
343155324Simp#define AT91RM92_PA8_MCCDB	(AT91RM92_PIO_PA8) /* Multimedia Card B Command */
344155324Simp#define AT91RM92_PIO_PA9	(1 << 9)
345155324Simp#define AT91RM92_PA9_ETX0	(AT91RM92_PIO_PA9) /* Ethernet MAC Transmit Data 0 */
346155324Simp#define AT91RM92_PA9_MCDB0	(AT91RM92_PIO_PA9) /* Multimedia Card B Data 0 */
347155324Simp#define AT91RM92_PIO_PA10	(1 << 10)
348155324Simp#define AT91RM92_PA10_ETX1	(AT91RM92_PIO_PA10) /* Ethernet MAC Transmit Data 1 */
349155324Simp#define AT91RM92_PA10_MCDB1	(AT91RM92_PIO_PA10) /* Multimedia Card B Data 1 */
350155324Simp#define AT91RM92_PIO_PA11	(1 << 11)
351155324Simp#define AT91RM92_PA11_ECRS_ECRSDV	(AT91RM92_PIO_PA11) /* Ethernet MAC Carrier Sense/Carrier Sense and Data Valid */
352155324Simp#define AT91RM92_PA11_MCDB2	(AT91RM92_PIO_PA11) /* Multimedia Card B Data 2 */
353155324Simp#define AT91RM92_PIO_PA12	(1 << 12)
354155324Simp#define AT91RM92_PA12_ERX0	(AT91RM92_PIO_PA12) /* Ethernet MAC Receive Data 0 */
355155324Simp#define AT91RM92_PA12_MCDB3	(AT91RM92_PIO_PA12) /* Multimedia Card B Data 3 */
356155324Simp#define AT91RM92_PIO_PA13 	(1 << 13)
357155324Simp#define AT91RM92_PA13_ERX1	(AT91RM92_PIO_PA13) /* Ethernet MAC Receive Data 1 */
358155324Simp#define AT91RM92_PA13_TCLK0	(AT91RM92_PIO_PA13) /* Timer Counter 0 external clock input */
359155324Simp#define AT91RM92_PIO_PA14	(1 << 14)
360155324Simp#define AT91RM92_PA14_ERXER	(AT91RM92_PIO_PA14) /* Ethernet MAC Receive Error */
361155324Simp#define AT91RM92_PA14_TCLK1	(AT91RM92_PIO_PA14) /* Timer Counter 1 external clock input */
362155324Simp#define AT91RM92_PIO_PA15	(1 << 15)
363155324Simp#define AT91RM92_PA15_EMDC	(AT91RM92_PIO_PA15) /* Ethernet MAC Management Data Clock */
364155324Simp#define AT91RM92_PA15_TCLK2	(AT91RM92_PIO_PA15) /* Timer Counter 2 external clock input */
365155324Simp#define AT91RM92_PIO_PA16	(1 << 16)
366155324Simp#define AT91RM92_PA16_EMDIO	(AT91RM92_PIO_PA16) /* Ethernet MAC Management Data Input/Output */
367155324Simp#define AT91RM92_PA16_IRQ6	(AT91RM92_PIO_PA16) /* AIC Interrupt input 6 */
368155324Simp#define AT91RM92_PIO_PA17	(1 << 17)
369155324Simp#define AT91RM92_PA17_TXD0	(AT91RM92_PIO_PA17) /* USART 0 Transmit Data */
370155324Simp#define AT91RM92_PA17_TIOA0	(AT91RM92_PIO_PA17) /* Timer Counter 0 Multipurpose Timer I/O Pin A */
371155324Simp#define AT91RM92_PIO_PA18	(1 << 18)
372155324Simp#define AT91RM92_PA18_RXD0	(AT91RM92_PIO_PA18) /* USART 0 Receive Data */
373155324Simp#define AT91RM92_PA18_TIOB0	(AT91RM92_PIO_PA18) /* Timer Counter 0 Multipurpose Timer I/O Pin B */
374155324Simp#define AT91RM92_PIO_PA19	(1 << 19)
375155324Simp#define AT91RM92_PA19_SCK0	(AT91RM92_PIO_PA19) /* USART 0 Serial Clock */
376155324Simp#define AT91RM92_PA19_TIOA1	(AT91RM92_PIO_PA19) /* Timer Counter 1 Multipurpose Timer I/O Pin A */
377155324Simp#define AT91RM92_PIO_PA20	(1 << 20)
378155324Simp#define AT91RM92_PA20_CTS0	(AT91RM92_PIO_PA20) /* USART 0 Clear To Send */
379155324Simp#define AT91RM92_PA20_TIOB1	(AT91RM92_PIO_PA20) /* Timer Counter 1 Multipurpose Timer I/O Pin B */
380155324Simp#define AT91RM92_PIO_PA21	(1 << 21)
381155324Simp#define AT91RM92_PA21_RTS0	(AT91RM92_PIO_PA21) /* USART 0 Ready To Send */
382155324Simp#define AT91RM92_PA21_TIOA2	(AT91RM92_PIO_PA21) /* Timer Counter 2 Multipurpose Timer I/O Pin A */
383155324Simp#define AT91RM92_PIO_PA22	(1 << 22)
384155324Simp#define AT91RM92_PA22_RXD2	(AT91RM92_PIO_PA22) /* USART 2 Receive Data */
385155324Simp#define AT91RM92_PA22_TIOB2	(AT91RM92_PIO_PA22) /* Timer Counter 2 Multipurpose Timer I/O Pin B */
386155324Simp#define AT91RM92_PIO_PA23	(1 << 23)
387155324Simp#define AT91RM92_PA23_TXD2	(AT91RM92_PIO_PA23) /* USART 2 Transmit Data */
388155324Simp#define AT91RM92_PA23_IRQ3	(AT91RM92_PIO_PA23) /* Interrupt input 3 */
389155324Simp#define AT91RM92_PIO_PA24	(1 << 24)
390155324Simp#define AT91RM92_PA24_SCK2	(AT91RM92_PIO_PA24) /* USART 2 Serial Clock */
391155324Simp#define AT91RM92_PA24_PCK1	(AT91RM92_PIO_PA24) /* PMC Programmable Clock Output 1 */
392155324Simp#define AT91RM92_PIO_PA25	(1 << 25)
393155324Simp#define AT91RM92_PA25_TWD	(AT91RM92_PIO_PA25) /* TWI Two-wire Serial Data */
394155324Simp#define AT91RM92_PA25_IRQ2	(AT91RM92_PIO_PA25) /* Interrupt input 2 */
395155324Simp#define AT91RM92_PIO_PA26	(1 << 26)
396155324Simp#define AT91RM92_PA26_TWCK	(AT91RM92_PIO_PA26) /* TWI Two-wire Serial Clock */
397155324Simp#define AT91RM92_PA26_IRQ1	(AT91RM92_PIO_PA26) /* Interrupt input 1 */
398155324Simp#define AT91RM92_PIO_PA27	(1 << 27)
399155324Simp#define AT91RM92_PA27_MCCK	(AT91RM92_PIO_PA27) /* Multimedia Card Clock */
400155324Simp#define AT91RM92_PA27_TCLK3	(AT91RM92_PIO_PA27) /* Timer Counter 3 External Clock Input */
401155324Simp#define AT91RM92_PIO_PA28	(1 << 28)
402155324Simp#define AT91RM92_PA28_MCCDA	(AT91RM92_PIO_PA28) /* Multimedia Card A Command */
403155324Simp#define AT91RM92_PA28_TCLK4	(AT91RM92_PIO_PA28) /* Timer Counter 4 external Clock Input */
404155324Simp#define AT91RM92_PIO_PA29	(1 << 29)
405155324Simp#define AT91RM92_PA29_MCDA0	(AT91RM92_PIO_PA29) /* Multimedia Card A Data 0 */
406155324Simp#define AT91RM92_PA29_TCLK5	(AT91RM92_PIO_PA29) /* Timer Counter 5 external clock input */
407155324Simp#define AT91RM92_PIO_PA30	(1 << 30)
408155324Simp#define AT91RM92_PA30_DRXD	(AT91RM92_PIO_PA30) /* DBGU Debug Receive Data */
409155324Simp#define AT91RM92_PA30_CTS2	(AT91RM92_PIO_PA30) /* USART 2 Clear To Send */
410155324Simp#define AT91RM92_PIO_PA31	(1 << 31)
411155324Simp#define AT91RM92_PA31_DTXD	(AT91RM92_PIO_PA31) /* DBGU Debug Transmit Data */
412155324Simp#define AT91RM92_PA31_RTS2	(AT91RM92_PIO_PA31) /* USART 2 Ready To Send */
413155324Simp
414155324Simp#define AT91RM92_PIO_PB0	(1 << 0)
415155324Simp#define AT91RM92_PB0_TF0	(AT91RM92_PIO_PB0) /* SSC Transmit Frame Sync 0 */
416155324Simp#define AT91RM92_PB0_RTS3	(AT91RM92_PIO_PB0) /* USART 3 Ready To Send */
417155324Simp#define AT91RM92_PIO_PB1	(1 << 1)
418155324Simp#define AT91RM92_PB1_TK0	(AT91RM92_PIO_PB1) /* SSC Transmit Clock 0 */
419155324Simp#define AT91RM92_PB1_CTS3	(AT91RM92_PIO_PB1) /* USART 3 Clear To Send */
420155324Simp#define AT91RM92_PIO_PB2	(1 << 2)
421155324Simp#define AT91RM92_PB2_TD0	(AT91RM92_PIO_PB2) /* SSC Transmit data */
422155324Simp#define AT91RM92_PB2_SCK3	(AT91RM92_PIO_PB2) /* USART 3 Serial Clock */
423155324Simp#define AT91RM92_PIO_PB3	(1 << 3)
424155324Simp#define AT91RM92_PB3_RD0	(AT91RM92_PIO_PB3) /* SSC Receive Data */
425155324Simp#define AT91RM92_PB3_MCDA1	(AT91RM92_PIO_PB3) /* Multimedia Card A Data 1 */
426155324Simp#define AT91RM92_PIO_PB4	(1 << 4)
427155324Simp#define AT91RM92_PB4_RK0	(AT91RM92_PIO_PB4) /* SSC Receive Clock */
428155324Simp#define AT91RM92_PB4_MCDA2	(AT91RM92_PIO_PB4) /* Multimedia Card A Data 2 */
429155324Simp#define AT91RM92_PIO_PB5	(1 << 5)
430155324Simp#define AT91RM92_PB5_RF0	(AT91RM92_PIO_PB5) /* SSC Receive Frame Sync 0 */
431155324Simp#define AT91RM92_PB5_MCDA3	(AT91RM92_PIO_PB5) /* Multimedia Card A Data 3 */
432155324Simp#define AT91RM92_PIO_PB6	(1 << 6)
433155324Simp#define AT91RM92_PB6_TF1	(AT91RM92_PIO_PB6) /* SSC Transmit Frame Sync 1 */
434155324Simp#define AT91RM92_PB6_TIOA3	(AT91RM92_PIO_PB6) /* Timer Counter 4 Multipurpose Timer I/O Pin A */
435155324Simp#define AT91RM92_PIO_PB7	(1 << 7)
436155324Simp#define AT91RM92_PB7_TK1	(AT91RM92_PIO_PB7) /* SSC Transmit Clock 1 */
437155324Simp#define AT91RM92_PB7_TIOB3	(AT91RM92_PIO_PB7) /* Timer Counter 3 Multipurpose Timer I/O Pin B */
438155324Simp#define AT91RM92_PIO_PB8	(1 << 8)
439155324Simp#define AT91RM92_PB8_TD1	(AT91RM92_PIO_PB8) /* SSC Transmit Data 1 */
440155324Simp#define AT91RM92_PB8_TIOA4	(AT91RM92_PIO_PB8) /* Timer Counter 4 Multipurpose Timer I/O Pin A */
441155324Simp#define AT91RM92_PIO_PB9	(1 << 9)
442155324Simp#define AT91RM92_PB9_RD1	(AT91RM92_PIO_PB9) /* SSC Receive Data 1 */
443155324Simp#define AT91RM92_PB9_TIOB4	(AT91RM92_PIO_PB9) /* Timer Counter 4 Multipurpose Timer I/O Pin B */
444155324Simp#define AT91RM92_PIO_PB10	(1 << 10)
445155324Simp#define AT91RM92_PB10_RK1	(AT91RM92_PIO_PB10) /* SSC Receive Clock 1 */
446155324Simp#define AT91RM92_PB10_TIOA5	(AT91RM92_PIO_PB10) /* Timer Counter 5 Multipurpose Timer I/O Pin A */
447155324Simp#define AT91RM92_PIO_PB11	(1 << 11)
448155324Simp#define AT91RM92_PB11_RF1	(AT91RM92_PIO_PB11) /* SSC Receive Frame Sync 1 */
449155324Simp#define AT91RM92_PB11_TIOB5	(AT91RM92_PIO_PB11) /* Timer Counter 5 Multipurpose Timer I/O Pin B */
450155324Simp#define AT91RM92_PIO_PB12	(1 << 12)
451155324Simp#define AT91RM92_PB12_TF2	(AT91RM92_PIO_PB12) /* SSC Transmit Frame Sync 2 */
452155324Simp#define AT91RM92_PB12_ETX2	(AT91RM92_PIO_PB12) /* Ethernet MAC Transmit Data 2 */
453155324Simp#define AT91RM92_PIO_PB13	(1 << 13)
454155324Simp#define AT91RM92_PB13_TK2	(AT91RM92_PIO_PB13) /* SSC Transmit Clock 2 */
455155324Simp#define AT91RM92_PB13_ETX3	(AT91RM92_PIO_PB13) /* Ethernet MAC Transmit Data 3 */
456155324Simp#define AT91RM92_PIO_PB14	(1 << 14)
457155324Simp#define AT91RM92_PB14_TD2	(AT91RM92_PIO_PB14) /* SSC Transmit Data 2 */
458155324Simp#define AT91RM92_PB14_ETXER	(AT91RM92_PIO_PB14) /* Ethernet MAC Transmikt Coding Error */
459155324Simp#define AT91RM92_PIO_PB15	(1 << 15)
460155324Simp#define AT91RM92_PB15_RD2	(AT91RM92_PIO_PB15) /* SSC Receive Data 2 */
461155324Simp#define AT91RM92_PB15_ERX2	(AT91RM92_PIO_PB15) /* Ethernet MAC Receive Data 2 */
462155324Simp#define AT91RM92_PIO_PB16	(1 << 16)
463155324Simp#define AT91RM92_PB16_RK2	(AT91RM92_PIO_PB16) /* SSC Receive Clock 2 */
464155324Simp#define AT91RM92_PB16_ERX3	(AT91RM92_PIO_PB16) /* Ethernet MAC Receive Data 3 */
465155324Simp#define AT91RM92_PIO_PB17	(1 << 17)
466155324Simp#define AT91RM92_PB17_RF2	(AT91RM92_PIO_PB17) /* SSC Receive Frame Sync 2 */
467155324Simp#define AT91RM92_PB17_ERXDV	(AT91RM92_PIO_PB17) /* Ethernet MAC Receive Data Valid */
468155324Simp#define AT91RM92_PIO_PB18	(1 << 18)
469155324Simp#define AT91RM92_PB18_RI1	(AT91RM92_PIO_PB18) /* USART 1 Ring Indicator */
470155324Simp#define AT91RM92_PB18_ECOL	(AT91RM92_PIO_PB18) /* Ethernet MAC Collision Detected */
471155324Simp#define AT91RM92_PIO_PB19	(1 << 19)
472155324Simp#define AT91RM92_PB19_DTR1	(AT91RM92_PIO_PB19) /* USART 1 Data Terminal ready */
473155324Simp#define AT91RM92_PB19_ERXCK	(AT91RM92_PIO_PB19) /* Ethernet MAC Receive Clock */
474155324Simp#define AT91RM92_PIO_PB20	(1 << 20)
475155324Simp#define AT91RM92_PB20_TXD1	(AT91RM92_PIO_PB20) /* USART 1 Transmit Data */
476155324Simp#define AT91RM92_PIO_PB21	(1 << 21)
477155324Simp#define AT91RM92_PB21_RXD1	(AT91RM92_PIO_PB21) /* USART 1 Receive Data */
478155324Simp#define AT91RM92_PIO_PB22	(1 << 22)
479155324Simp#define AT91RM92_PB22_SCK1	(AT91RM92_PIO_PB22) /* USART 1 Serial Clock */
480155324Simp#define AT91RM92_PIO_PB23	(1 << 23)
481155324Simp#define AT91RM92_PB23_DCD1	(AT91RM92_PIO_PB23) /* USART 1 Data Carrier Detect */
482155324Simp#define AT91RM92_PIO_PB24	(1 << 24)
483155324Simp#define AT91RM92_PB24_CTS1	(AT91RM92_PIO_PB24) /* USART 1 Clear To Send */
484155324Simp#define AT91RM92_PIO_PB25	(1 << 25)
485155324Simp#define AT91RM92_PB25_DSR1	(AT91RM92_PIO_PB25) /* USART 1 Data Set ready */
486155324Simp#define AT91RM92_PB25_EF100	(AT91RM92_PIO_PB25) /* Ethernet MAC Force 100 Mbits/sec */
487155324Simp#define AT91RM92_PIO_PB26	(1 << 26)
488155324Simp#define AT91RM92_PB26_RTS1	(AT91RM92_PIO_PB26) /* USART 1 Ready To Send */
489155324Simp#define AT91RM92_PIO_PB27	(1 << 27)
490155324Simp#define AT91RM92_PB27_PCK0	(AT91RM92_PIO_PB27) /* PMC Programmable Clock Output 0 */
491155324Simp#define AT91RM92_PIO_PB28	(1 << 28)
492155324Simp#define AT91RM92_PB28_FIQ	(AT91RM92_PIO_PB28) /* AIC Fast Interrupt Input */
493155324Simp#define AT91RM92_PIO_PB29	(1 << 29)
494155324Simp#define AT91RM92_PB29_IRQ0	(AT91RM92_PIO_PB29) /* Interrupt input 0 */
495155324Simp
496155324Simp#define AT91RM92_PIO_PC0	(1 << 0)
497155324Simp#define AT91RM92_PC0_BFCK	(AT91RM92_PIO_PC0) /* Burst Flash Clock */
498155324Simp#define AT91RM92_PIO_PC1	(1 << 1)
499155324Simp#define AT91RM92_PC1_BFRDY_SMOE	(AT91RM92_PIO_PC1) /* Burst Flash Ready */
500155324Simp#define AT91RM92_PIO_PC2	(1 << 2)
501155324Simp#define AT91RM92_PC2_BFAVD	(AT91RM92_PIO_PC2) /* Burst Flash Address Valid */
502155324Simp#define AT91RM92_PIO_PC3	(1 << 3)
503155324Simp#define AT91RM92_PC3_BFBAA_SMWE	(AT91RM92_PIO_PC3) /* Burst Flash Address Advance / SmartMedia Write Enable */
504155324Simp#define AT91RM92_PIO_PC4	(1 << 4)
505155324Simp#define AT91RM92_PC4_BFOE	(AT91RM92_PIO_PC4) /* Burst Flash Output Enable */
506155324Simp#define AT91RM92_PIO_PC5	(1 << 5)
507155324Simp#define AT91RM92_PC5_BFWE	(AT91RM92_PIO_PC5) /* Burst Flash Write Enable */
508155324Simp#define AT91RM92_PIO_PC6	(1 << 6)
509155324Simp#define AT91RM92_PC6_NWAIT	(AT91RM92_PIO_PC6) /* NWAIT */
510155324Simp#define AT91RM92_PIO_PC7	(1 << 7)
511155324Simp#define AT91RM92_PC7_A23	(AT91RM92_PIO_PC7) /* Address Bus[23] */
512155324Simp#define AT91RM92_PIO_PC8	(1 << 8)
513155324Simp#define AT91RM92_PC8_A24	(AT91RM92_PIO_PC8) /* Address Bus[24] */
514155324Simp#define AT91RM92_PIO_PC9	(1 << 9)
515155324Simp#define AT91RM92_PC9_A25_CFRNW	(AT91RM92_PIO_PC9) /* Address Bus[25] /  Compact Flash Read Not Write */
516155324Simp#define AT91RM92_PIO_PC10	(1 << 10)
517155324Simp#define AT91RM92_PC10_NCS4_CFCS	(AT91RM92_PIO_PC10) /* Compact Flash Chip Select */
518155324Simp#define AT91RM92_PIO_PC11	(1 << 11)
519155324Simp#define AT91RM92_PC11_NCS5_CFCE1	(AT91RM92_PIO_PC11) /* Chip Select 5 / Compact Flash Chip Enable 1 */
520155324Simp#define AT91RM92_PIO_PC12	(1 << 12)
521155324Simp#define AT91RM92_PC12_NCS6_CFCE2(AT91RM92_PIO_PC12) /* Chip Select 6 / Compact Flash Chip Enable 2 */
522155324Simp#define AT91RM92_PIO_PC13	(1 << 13)
523155324Simp#define AT91RM92_PC13_NCS7	(AT91RM92_PIO_PC13) /* Chip Select 7 */
524155324Simp#define AT91RM92_PIO_PC14	(1 << 14)
525155324Simp#define AT91RM92_PIO_PC15	(1 << 15)
526155324Simp#define AT91RM92_PIO_PC16	(1 << 16)
527155324Simp#define AT91RM92_PC16_D16	(AT91RM92_PIO_PC16) /* Data Bus [16] */
528155324Simp#define AT91RM92_PIO_PC17	(1 << 17)
529155324Simp#define AT91RM92_PC17_D17	(AT91RM92_PIO_PC17) /* Data Bus [17] */
530155324Simp#define AT91RM92_PIO_PC18	(1 << 18)
531155324Simp#define AT91RM92_PC18_D18	(AT91RM92_PIO_PC18) /* Data Bus [18] */
532155324Simp#define AT91RM92_PIO_PC19	(1 << 19)
533155324Simp#define AT91RM92_PC19_D19	(AT91RM92_PIO_PC19) /* Data Bus [19] */
534155324Simp#define AT91RM92_PIO_PC20	(1 << 20)
535155324Simp#define AT91RM92_PC20_D20	(AT91RM92_PIO_PC20) /* Data Bus [20] */
536155324Simp#define AT91RM92_PIO_PC21	(1 << 21)
537155324Simp#define AT91RM92_PC21_D21	(AT91RM92_PIO_PC21) /* Data Bus [21] */
538155324Simp#define AT91RM92_PIO_PC22	(1 << 22)
539155324Simp#define AT91RM92_PC22_D22	(AT91RM92_PIO_PC22) /* Data Bus [22] */
540155324Simp#define AT91RM92_PIO_PC23	(1 << 23)
541155324Simp#define AT91RM92_PC23_D23	(AT91RM92_PIO_PC23) /* Data Bus [23] */
542155324Simp#define AT91RM92_PIO_PC24	(1 << 24)
543155324Simp#define AT91RM92_PC24_D24	(AT91RM92_PIO_PC24) /* Data Bus [24] */
544155324Simp#define AT91RM92_PIO_PC25	(1 << 25)
545155324Simp#define AT91RM92_PC25_D25	(AT91RM92_PIO_PC25) /* Data Bus [25] */
546155324Simp#define AT91RM92_PIO_PC26	(1 << 26)
547155324Simp#define AT91RM92_PC26_D26	(AT91RM92_PIO_PC26) /* Data Bus [26] */
548155324Simp#define AT91RM92_PIO_PC27	(1 << 27)
549155324Simp#define AT91RM92_PC27_D27	(AT91RM92_PIO_PC27) /* Data Bus [27] */
550155324Simp#define AT91RM92_PIO_PC28	(1 << 28)
551155324Simp#define AT91RM92_PC28_D28	(AT91RM92_PIO_PC28) /* Data Bus [28] */
552155324Simp#define AT91RM92_PIO_PC29	(1 << 29)
553155324Simp#define AT91RM92_PC29_D29	(AT91RM92_PIO_PC29) /* Data Bus [29] */
554155324Simp#define AT91RM92_PIO_PC30	(1 << 30)
555155324Simp#define AT91RM92_PC30_D30	(AT91RM92_PIO_PC30) /* Data Bus [30] */
556155324Simp#define AT91RM92_PIO_PC31	(1 << 31)
557155324Simp#define AT91RM92_PC31_D31	(AT91RM92_PIO_PC31) /* Data Bus [31] */
558155324Simp
559155324Simp#define AT91RM92_PIO_PD0	(1 << 0)
560155324Simp#define AT91RM92_PD0_ETX0	(AT91RM92_PIO_PD0) /* Ethernet MAC Transmit Data 0 */
561155324Simp#define AT91RM92_PIO_PD1	(1 << 1)
562155324Simp#define AT91RM92_PD1_ETX1	(AT91RM92_PIO_PD1) /* Ethernet MAC Transmit Data 1 */
563155324Simp#define AT91RM92_PIO_PD2	(1 << 2)
564155324Simp#define AT91RM92_PD2_ETX2	(AT91RM92_PIO_PD2) /* Ethernet MAC Transmit Data 2 */
565155324Simp#define AT91RM92_PIO_PD3	(1 << 3)
566155324Simp#define AT91RM92_PD3_ETX3	(AT91RM92_PIO_PD3) /* Ethernet MAC Transmit Data 3 */
567155324Simp#define AT91RM92_PIO_PD4	(1 << 4)
568155324Simp#define AT91RM92_PD4_ETXEN	(AT91RM92_PIO_PD4) /* Ethernet MAC Transmit Enable */
569155324Simp#define AT91RM92_PIO_PD5	(1 << 5)
570155324Simp#define AT91RM92_PD5_ETXER	(AT91RM92_PIO_PD5) /* Ethernet MAC Transmit Coding Error */
571155324Simp#define AT91RM92_PIO_PD6	(1 << 6)
572155324Simp#define AT91RM92_PD6_DTXD	(AT91RM92_PIO_PD6) /* DBGU Debug Transmit Data */
573155324Simp#define AT91RM92_PIO_PD7	(1 << 7)
574155324Simp#define AT91RM92_PD7_PCK0	(AT91RM92_PIO_PD7) /* PMC Programmable Clock Output 0 */
575155324Simp#define AT91RM92_PD7_TSYNC	(AT91RM92_PIO_PD7) /* ETM Synchronization signal */
576155324Simp#define AT91RM92_PIO_PD8	(1 << 8)
577155324Simp#define AT91RM92_PD8_PCK1	(AT91RM92_PIO_PD8) /* PMC Programmable Clock Output 1 */
578155324Simp#define AT91RM92_PD8_TCLK	(AT91RM92_PIO_PD8) /* ETM Trace Clock signal */
579155324Simp#define AT91RM92_PIO_PD9	(1 << 9)
580155324Simp#define AT91RM92_PD9_PCK2	(AT91RM92_PIO_PD9) /* PMC Programmable Clock 2 */
581155324Simp#define AT91RM92_PD9_TPS0	(AT91RM92_PIO_PD9) /* ETM ARM9 pipeline status 0 */
582155324Simp#define AT91RM92_PIO_PD10	(1 << 10)
583155324Simp#define AT91RM92_PD10_PCK3	(AT91RM92_PIO_PD10) /* PMC Programmable Clock Output 3 */
584155324Simp#define AT91RM92_PD10_TPS1	(AT91RM92_PIO_PD10) /* ETM ARM9 pipeline status 1 */
585155324Simp#define AT91RM92_PIO_PD11	(1 << 11)
586155324Simp#define AT91RM92_PD11_TPS2	(AT91RM92_PIO_PD11) /* ETM ARM9 pipeline status 2 */
587155324Simp#define AT91RM92_PIO_PD12	(1 << 12)
588155324Simp#define AT91RM92_PD12_TPK0	(AT91RM92_PIO_PD12) /* ETM Trace Packet 0 */
589155324Simp#define AT91RM92_PIO_PD13	(1 << 13)
590155324Simp#define AT91RM92_PD13_TPK1	(AT91RM92_PIO_PD13) /* ETM Trace Packet 1 */
591155324Simp#define AT91RM92_PIO_PD14	(1 << 14)
592155324Simp#define AT91RM92_PD14_TPK2	(AT91RM92_PIO_PD14) /* ETM Trace Packet 2 */
593155324Simp#define AT91RM92_PIO_PD15	(1 << 15)
594155324Simp#define AT91RM92_PD15_TD0	(AT91RM92_PIO_PD15) /* SSC Transmit data */
595155324Simp#define AT91RM92_PD15_TPK3	(AT91RM92_PIO_PD15) /* ETM Trace Packet 3 */
596155324Simp#define AT91RM92_PIO_PD16	(1 << 16)
597155324Simp#define AT91RM92_PD16_TD1	(AT91RM92_PIO_PD16) /* SSC Transmit Data 1 */
598155324Simp#define AT91RM92_PD16_TPK4	(AT91RM92_PIO_PD16) /* ETM Trace Packet 4 */
599155324Simp#define AT91RM92_PIO_PD17	(1 << 17)
600155324Simp#define AT91RM92_PD17_TD2	(AT91RM92_PIO_PD17) /* SSC Transmit Data 2 */
601155324Simp#define AT91RM92_PD17_TPK5	(AT91RM92_PIO_PD17) /* ETM Trace Packet 5 */
602155324Simp#define AT91RM92_PIO_PD18	(1 << 18)
603155324Simp#define AT91RM92_PD18_NPCS1	(AT91RM92_PIO_PD18) /* SPI Peripheral Chip Select 1 */
604155324Simp#define AT91RM92_PD18_TPK6	(AT91RM92_PIO_PD18) /* ETM Trace Packet 6 */
605155324Simp#define AT91RM92_PIO_PD19	(1 << 19)
606155324Simp#define AT91RM92_PD19_NPCS2	(AT91RM92_PIO_PD19) /* SPI Peripheral Chip Select 2 */
607155324Simp#define AT91RM92_PD19_TPK7	(AT91RM92_PIO_PD19) /* ETM Trace Packet 7 */
608155324Simp#define AT91RM92_PIO_PD20	(1 << 20)
609155324Simp#define AT91RM92_PD20_NPCS3	(AT91RM92_PIO_PD20) /* SPI Peripheral Chip Select 3 */
610155324Simp#define AT91RM92_PD20_TPK8	(AT91RM92_PIO_PD20) /* ETM Trace Packet 8 */
611155324Simp#define AT91RM92_PIO_PD21	(1 << 21)
612155324Simp#define AT91RM92_PD21_RTS0	(AT91RM92_PIO_PD21) /* Usart 0 Ready To Send */
613155324Simp#define AT91RM92_PD21_TPK9	(AT91RM92_PIO_PD21) /* ETM Trace Packet 9 */
614155324Simp#define AT91RM92_PIO_PD22	(1 << 22)
615155324Simp#define AT91RM92_PD22_RTS1	(AT91RM92_PIO_PD22) /* Usart 0 Ready To Send */
616155324Simp#define AT91RM92_PD22_TPK10	(AT91RM92_PIO_PD22) /* ETM Trace Packet 10 */
617155324Simp#define AT91RM92_PIO_PD23	(1 << 23)
618155324Simp#define AT91RM92_PD23_RTS2	(AT91RM92_PIO_PD23) /* USART 2 Ready To Send */
619155324Simp#define AT91RM92_PD23_TPK11	(AT91RM92_PIO_PD23) /* ETM Trace Packet 11 */
620155324Simp#define AT91RM92_PIO_PD24	(1 << 24)
621155324Simp#define AT91RM92_PD24_RTS3	(AT91RM92_PIO_PD24) /* USART 3 Ready To Send */
622155324Simp#define AT91RM92_PD24_TPK12	(AT91RM92_PIO_PD24) /* ETM Trace Packet 12 */
623155324Simp#define AT91RM92_PIO_PD25	(1 << 25)
624155324Simp#define AT91RM92_PD25_DTR1	(AT91RM92_PIO_PD25) /* USART 1 Data Terminal ready */
625155324Simp#define AT91RM92_PD25_TPK13	(AT91RM92_PIO_PD25) /* ETM Trace Packet 13 */
626155324Simp#define AT91RM92_PIO_PD26	(1 << 26)
627155324Simp#define AT91RM92_PD26_TPK14	(AT91RM92_PIO_PD26) /* ETM Trace Packet 14 */
628155324Simp#define AT91RM92_PIO_PD27	(1 << 27)
629155324Simp#define AT91RM92_PD27_TPK15	(AT91RM92_PIO_PD27) /* ETM Trace Packet 15 */
630155324Simp
631155324Simp#define AT91C_MASTER_CLOCK	60000000
632155324Simp
633155324Simp#endif /* AT91RM92REG_H_ */
634