blob: 1bc6fb0f9a8380d18e55535eab5c669ef6dddc2d [file] [log] [blame]
Quinn Jensen52c543f2007-07-09 22:06:53 +01001/*
2 * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved.
3 */
4
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 */
10
11#ifndef __ASM_ARCH_MXC_BOARD_MX31ADS_H__
12#define __ASM_ARCH_MXC_BOARD_MX31ADS_H__
13
Robert Schwebelf304fc42008-03-28 10:59:08 +010014/* Base address of PBC controller */
Quinn Jensen52c543f2007-07-09 22:06:53 +010015#define PBC_BASE_ADDRESS IO_ADDRESS(CS4_BASE_ADDR)
16/* Offsets for the PBC Controller register */
Robert Schwebelf304fc42008-03-28 10:59:08 +010017
18/* PBC Board status register offset */
Quinn Jensen52c543f2007-07-09 22:06:53 +010019#define PBC_BSTAT 0x000002
Robert Schwebelf304fc42008-03-28 10:59:08 +010020
21/* PBC Board control register 1 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010022#define PBC_BCTRL1_SET 0x000004
Robert Schwebelf304fc42008-03-28 10:59:08 +010023
24/* PBC Board control register 1 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010025#define PBC_BCTRL1_CLEAR 0x000006
Robert Schwebelf304fc42008-03-28 10:59:08 +010026
27/* PBC Board control register 2 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010028#define PBC_BCTRL2_SET 0x000008
Robert Schwebelf304fc42008-03-28 10:59:08 +010029
30/* PBC Board control register 2 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010031#define PBC_BCTRL2_CLEAR 0x00000A
Robert Schwebelf304fc42008-03-28 10:59:08 +010032
33/* PBC Board control register 3 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010034#define PBC_BCTRL3_SET 0x00000C
Robert Schwebelf304fc42008-03-28 10:59:08 +010035
36/* PBC Board control register 3 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010037#define PBC_BCTRL3_CLEAR 0x00000E
Robert Schwebelf304fc42008-03-28 10:59:08 +010038
39/* PBC Board control register 4 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010040#define PBC_BCTRL4_SET 0x000010
Robert Schwebelf304fc42008-03-28 10:59:08 +010041
42/* PBC Board control register 4 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010043#define PBC_BCTRL4_CLEAR 0x000012
Robert Schwebelf304fc42008-03-28 10:59:08 +010044
45/* PBC Board status register 1 */
Quinn Jensen52c543f2007-07-09 22:06:53 +010046#define PBC_BSTAT1 0x000014
Robert Schwebelf304fc42008-03-28 10:59:08 +010047
48/* PBC Board interrupt status register */
Quinn Jensen52c543f2007-07-09 22:06:53 +010049#define PBC_INTSTATUS 0x000016
Robert Schwebelf304fc42008-03-28 10:59:08 +010050
51/* PBC Board interrupt current status register */
Quinn Jensen52c543f2007-07-09 22:06:53 +010052#define PBC_INTCURR_STATUS 0x000018
Robert Schwebelf304fc42008-03-28 10:59:08 +010053
54/* PBC Interrupt mask register set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010055#define PBC_INTMASK_SET 0x00001A
Robert Schwebelf304fc42008-03-28 10:59:08 +010056
57/* PBC Interrupt mask register clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010058#define PBC_INTMASK_CLEAR 0x00001C
59
Robert Schwebelf304fc42008-03-28 10:59:08 +010060/* External UART A */
Quinn Jensen52c543f2007-07-09 22:06:53 +010061#define PBC_SC16C652_UARTA 0x010000
Robert Schwebelf304fc42008-03-28 10:59:08 +010062
63/* External UART B */
Quinn Jensen52c543f2007-07-09 22:06:53 +010064#define PBC_SC16C652_UARTB 0x010010
Robert Schwebelf304fc42008-03-28 10:59:08 +010065
66/* Ethernet Controller IO base address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010067#define PBC_CS8900A_IOBASE 0x020000
Robert Schwebelf304fc42008-03-28 10:59:08 +010068
69/* Ethernet Controller Memory base address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010070#define PBC_CS8900A_MEMBASE 0x021000
Robert Schwebelf304fc42008-03-28 10:59:08 +010071
72/* Ethernet Controller DMA base address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010073#define PBC_CS8900A_DMABASE 0x022000
Robert Schwebelf304fc42008-03-28 10:59:08 +010074
75/* External chip select 0 */
Quinn Jensen52c543f2007-07-09 22:06:53 +010076#define PBC_XCS0 0x040000
Robert Schwebelf304fc42008-03-28 10:59:08 +010077
78/* LCD Display enable */
Quinn Jensen52c543f2007-07-09 22:06:53 +010079#define PBC_LCD_EN_B 0x060000
Robert Schwebelf304fc42008-03-28 10:59:08 +010080
81/* Code test debug enable */
Quinn Jensen52c543f2007-07-09 22:06:53 +010082#define PBC_CODE_B 0x070000
Robert Schwebelf304fc42008-03-28 10:59:08 +010083
84/* PSRAM memory select */
Quinn Jensen52c543f2007-07-09 22:06:53 +010085#define PBC_PSRAM_B 0x5000000
86
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)
92
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)
109
110#define MXC_MAX_EXP_IO_LINES 16
111
Sascha Hauer4bc25652008-07-05 10:02:51 +0200112/* mandatory for CONFIG_LL_DEBUG */
113
114#define MXC_LL_UART_PADDR UART1_BASE_ADDR
115#define MXC_LL_UART_VADDR AIPS1_IO_ADDRESS(UART1_BASE_ADDR)
116
Robert Schwebelf304fc42008-03-28 10:59:08 +0100117#endif /* __ASM_ARCH_MXC_BOARD_MX31ADS_H__ */