blob: 2cbfa35e82ff628a27e785774633901ec3306f2c [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
Mark Brown4d5f9cd2009-01-15 16:14:28 +000014#include <mach/hardware.h>
15
Robert Schwebelf304fc42008-03-28 10:59:08 +010016/* Base address of PBC controller */
Quinn Jensen52c543f2007-07-09 22:06:53 +010017#define PBC_BASE_ADDRESS IO_ADDRESS(CS4_BASE_ADDR)
18/* Offsets for the PBC Controller register */
Robert Schwebelf304fc42008-03-28 10:59:08 +010019
20/* PBC Board status register offset */
Quinn Jensen52c543f2007-07-09 22:06:53 +010021#define PBC_BSTAT 0x000002
Robert Schwebelf304fc42008-03-28 10:59:08 +010022
23/* PBC Board control register 1 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010024#define PBC_BCTRL1_SET 0x000004
Robert Schwebelf304fc42008-03-28 10:59:08 +010025
26/* PBC Board control register 1 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010027#define PBC_BCTRL1_CLEAR 0x000006
Robert Schwebelf304fc42008-03-28 10:59:08 +010028
29/* PBC Board control register 2 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010030#define PBC_BCTRL2_SET 0x000008
Robert Schwebelf304fc42008-03-28 10:59:08 +010031
32/* PBC Board control register 2 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010033#define PBC_BCTRL2_CLEAR 0x00000A
Robert Schwebelf304fc42008-03-28 10:59:08 +010034
35/* PBC Board control register 3 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010036#define PBC_BCTRL3_SET 0x00000C
Robert Schwebelf304fc42008-03-28 10:59:08 +010037
38/* PBC Board control register 3 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010039#define PBC_BCTRL3_CLEAR 0x00000E
Robert Schwebelf304fc42008-03-28 10:59:08 +010040
41/* PBC Board control register 4 set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010042#define PBC_BCTRL4_SET 0x000010
Robert Schwebelf304fc42008-03-28 10:59:08 +010043
44/* PBC Board control register 4 clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010045#define PBC_BCTRL4_CLEAR 0x000012
Robert Schwebelf304fc42008-03-28 10:59:08 +010046
47/* PBC Board status register 1 */
Quinn Jensen52c543f2007-07-09 22:06:53 +010048#define PBC_BSTAT1 0x000014
Robert Schwebelf304fc42008-03-28 10:59:08 +010049
50/* PBC Board interrupt status register */
Quinn Jensen52c543f2007-07-09 22:06:53 +010051#define PBC_INTSTATUS 0x000016
Robert Schwebelf304fc42008-03-28 10:59:08 +010052
53/* PBC Board interrupt current status register */
Quinn Jensen52c543f2007-07-09 22:06:53 +010054#define PBC_INTCURR_STATUS 0x000018
Robert Schwebelf304fc42008-03-28 10:59:08 +010055
56/* PBC Interrupt mask register set address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010057#define PBC_INTMASK_SET 0x00001A
Robert Schwebelf304fc42008-03-28 10:59:08 +010058
59/* PBC Interrupt mask register clear address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010060#define PBC_INTMASK_CLEAR 0x00001C
61
Robert Schwebelf304fc42008-03-28 10:59:08 +010062/* External UART A */
Quinn Jensen52c543f2007-07-09 22:06:53 +010063#define PBC_SC16C652_UARTA 0x010000
Robert Schwebelf304fc42008-03-28 10:59:08 +010064
65/* External UART B */
Quinn Jensen52c543f2007-07-09 22:06:53 +010066#define PBC_SC16C652_UARTB 0x010010
Robert Schwebelf304fc42008-03-28 10:59:08 +010067
68/* Ethernet Controller IO base address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010069#define PBC_CS8900A_IOBASE 0x020000
Robert Schwebelf304fc42008-03-28 10:59:08 +010070
71/* Ethernet Controller Memory base address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010072#define PBC_CS8900A_MEMBASE 0x021000
Robert Schwebelf304fc42008-03-28 10:59:08 +010073
74/* Ethernet Controller DMA base address */
Quinn Jensen52c543f2007-07-09 22:06:53 +010075#define PBC_CS8900A_DMABASE 0x022000
Robert Schwebelf304fc42008-03-28 10:59:08 +010076
77/* External chip select 0 */
Quinn Jensen52c543f2007-07-09 22:06:53 +010078#define PBC_XCS0 0x040000
Robert Schwebelf304fc42008-03-28 10:59:08 +010079
80/* LCD Display enable */
Quinn Jensen52c543f2007-07-09 22:06:53 +010081#define PBC_LCD_EN_B 0x060000
Robert Schwebelf304fc42008-03-28 10:59:08 +010082
83/* Code test debug enable */
Quinn Jensen52c543f2007-07-09 22:06:53 +010084#define PBC_CODE_B 0x070000
Robert Schwebelf304fc42008-03-28 10:59:08 +010085
86/* PSRAM memory select */
Quinn Jensen52c543f2007-07-09 22:06:53 +010087#define PBC_PSRAM_B 0x5000000
88
89#define PBC_INTSTATUS_REG (PBC_INTSTATUS + PBC_BASE_ADDRESS)
90#define PBC_INTCURR_STATUS_REG (PBC_INTCURR_STATUS + PBC_BASE_ADDRESS)
91#define PBC_INTMASK_SET_REG (PBC_INTMASK_SET + PBC_BASE_ADDRESS)
92#define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS)
93#define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4)
94
Sascha Hauer9d631b82008-12-18 11:08:55 +010095#define MXC_EXP_IO_BASE (MXC_BOARD_IRQ_START)
Gilles Chanteperdrixd7568f72008-09-09 10:19:42 +020096#define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE)
97
Quinn Jensen52c543f2007-07-09 22:06:53 +010098#define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0)
99#define EXPIO_INT_PB_IRQ (MXC_EXP_IO_BASE + 1)
100#define EXPIO_INT_OTG_FS_OVR (MXC_EXP_IO_BASE + 2)
101#define EXPIO_INT_FSH_OVR (MXC_EXP_IO_BASE + 3)
102#define EXPIO_INT_RES4 (MXC_EXP_IO_BASE + 4)
103#define EXPIO_INT_RES5 (MXC_EXP_IO_BASE + 5)
104#define EXPIO_INT_RES6 (MXC_EXP_IO_BASE + 6)
105#define EXPIO_INT_RES7 (MXC_EXP_IO_BASE + 7)
106#define EXPIO_INT_ENET_INT (MXC_EXP_IO_BASE + 8)
107#define EXPIO_INT_OTG_FS_INT (MXC_EXP_IO_BASE + 9)
108#define EXPIO_INT_XUART_INTA (MXC_EXP_IO_BASE + 10)
109#define EXPIO_INT_XUART_INTB (MXC_EXP_IO_BASE + 11)
110#define EXPIO_INT_SYNTH_IRQ (MXC_EXP_IO_BASE + 12)
111#define EXPIO_INT_CE_INT1 (MXC_EXP_IO_BASE + 13)
112#define EXPIO_INT_CE_INT2 (MXC_EXP_IO_BASE + 14)
113#define EXPIO_INT_RES15 (MXC_EXP_IO_BASE + 15)
114
115#define MXC_MAX_EXP_IO_LINES 16
116
Robert Schwebelf304fc42008-03-28 10:59:08 +0100117#endif /* __ASM_ARCH_MXC_BOARD_MX31ADS_H__ */