Linux 2.6.26-rc5
[linux-2.6/openmoko-kernel/knife-kernel.git] / include / asm-arm / arch-mxc / board-mx31ads.h
blob8590127760a85df6b236763758fb2bfc8070ad69
1 /*
2 * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved.
3 */
5 /*
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
11 #ifndef __ASM_ARCH_MXC_BOARD_MX31ADS_H__
12 #define __ASM_ARCH_MXC_BOARD_MX31ADS_H__
14 /* Base address of PBC controller */
15 #define PBC_BASE_ADDRESS IO_ADDRESS(CS4_BASE_ADDR)
16 /* Offsets for the PBC Controller register */
18 /* PBC Board status register offset */
19 #define PBC_BSTAT 0x000002
21 /* PBC Board control register 1 set address */
22 #define PBC_BCTRL1_SET 0x000004
24 /* PBC Board control register 1 clear address */
25 #define PBC_BCTRL1_CLEAR 0x000006
27 /* PBC Board control register 2 set address */
28 #define PBC_BCTRL2_SET 0x000008
30 /* PBC Board control register 2 clear address */
31 #define PBC_BCTRL2_CLEAR 0x00000A
33 /* PBC Board control register 3 set address */
34 #define PBC_BCTRL3_SET 0x00000C
36 /* PBC Board control register 3 clear address */
37 #define PBC_BCTRL3_CLEAR 0x00000E
39 /* PBC Board control register 4 set address */
40 #define PBC_BCTRL4_SET 0x000010
42 /* PBC Board control register 4 clear address */
43 #define PBC_BCTRL4_CLEAR 0x000012
45 /* PBC Board status register 1 */
46 #define PBC_BSTAT1 0x000014
48 /* PBC Board interrupt status register */
49 #define PBC_INTSTATUS 0x000016
51 /* PBC Board interrupt current status register */
52 #define PBC_INTCURR_STATUS 0x000018
54 /* PBC Interrupt mask register set address */
55 #define PBC_INTMASK_SET 0x00001A
57 /* PBC Interrupt mask register clear address */
58 #define PBC_INTMASK_CLEAR 0x00001C
60 /* External UART A */
61 #define PBC_SC16C652_UARTA 0x010000
63 /* External UART B */
64 #define PBC_SC16C652_UARTB 0x010010
66 /* Ethernet Controller IO base address */
67 #define PBC_CS8900A_IOBASE 0x020000
69 /* Ethernet Controller Memory base address */
70 #define PBC_CS8900A_MEMBASE 0x021000
72 /* Ethernet Controller DMA base address */
73 #define PBC_CS8900A_DMABASE 0x022000
75 /* External chip select 0 */
76 #define PBC_XCS0 0x040000
78 /* LCD Display enable */
79 #define PBC_LCD_EN_B 0x060000
81 /* Code test debug enable */
82 #define PBC_CODE_B 0x070000
84 /* PSRAM memory select */
85 #define PBC_PSRAM_B 0x5000000
87 #define PBC_INTSTATUS_REG (PBC_INTSTATUS + PBC_BASE_ADDRESS)
88 #define PBC_INTCURR_STATUS_REG (PBC_INTCURR_STATUS + PBC_BASE_ADDRESS)
89 #define PBC_INTMASK_SET_REG (PBC_INTMASK_SET + PBC_BASE_ADDRESS)
90 #define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS)
91 #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4)
93 #define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0)
94 #define EXPIO_INT_PB_IRQ (MXC_EXP_IO_BASE + 1)
95 #define EXPIO_INT_OTG_FS_OVR (MXC_EXP_IO_BASE + 2)
96 #define EXPIO_INT_FSH_OVR (MXC_EXP_IO_BASE + 3)
97 #define EXPIO_INT_RES4 (MXC_EXP_IO_BASE + 4)
98 #define EXPIO_INT_RES5 (MXC_EXP_IO_BASE + 5)
99 #define EXPIO_INT_RES6 (MXC_EXP_IO_BASE + 6)
100 #define EXPIO_INT_RES7 (MXC_EXP_IO_BASE + 7)
101 #define EXPIO_INT_ENET_INT (MXC_EXP_IO_BASE + 8)
102 #define EXPIO_INT_OTG_FS_INT (MXC_EXP_IO_BASE + 9)
103 #define EXPIO_INT_XUART_INTA (MXC_EXP_IO_BASE + 10)
104 #define EXPIO_INT_XUART_INTB (MXC_EXP_IO_BASE + 11)
105 #define EXPIO_INT_SYNTH_IRQ (MXC_EXP_IO_BASE + 12)
106 #define EXPIO_INT_CE_INT1 (MXC_EXP_IO_BASE + 13)
107 #define EXPIO_INT_CE_INT2 (MXC_EXP_IO_BASE + 14)
108 #define EXPIO_INT_RES15 (MXC_EXP_IO_BASE + 15)
110 #define MXC_MAX_EXP_IO_LINES 16
112 #endif /* __ASM_ARCH_MXC_BOARD_MX31ADS_H__ */