ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-arm / arch-omap / board-perseus2.h
1 /*
2  *  linux/include/asm-arm/arch-omap/board-perseus2.h
3  *
4  *  Copyright 2003 by Texas Instruments Incorporated
5  *    OMAP730 / P2-sample additions
6  *    Author: Jean Pihet
7  *
8  * Copyright (C) 2001 RidgeRun, Inc. (http://www.ridgerun.com)
9  * Author: RidgeRun, Inc.
10  *
11  * This program is free software; you can redistribute it and/or modify it
12  * under the terms of the GNU General Public License as published by the
13  * Free Software Foundation; either version 2 of the License, or (at your
14  * option) any later version.
15  *
16  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
17  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
19  * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
22  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
23  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  *
27  * You should have received a copy of the GNU General Public License along
28  * with this program; if not, write to the Free Software Foundation, Inc.,
29  * 675 Mass Ave, Cambridge, MA 02139, USA.
30  */
31 #ifndef __ASM_ARCH_OMAP_P2SAMPLE_H
32 #define __ASM_ARCH_OMAP_P2SAMPLE_H
33
34 #if defined(CONFIG_ARCH_OMAP730) && defined (CONFIG_MACH_OMAP_PERSEUS2)
35
36 /*
37  * NOTE:  ALL DEFINITIONS IN THIS FILE NEED TO BE PREFIXED BY IDENTIFIER
38  *        P2SAMPLE_ since they are specific to the EVM and not the chip.
39  */
40
41 /* ---------------------------------------------------------------------------
42  *  OMAP730 Debug Board FPGA
43  * ---------------------------------------------------------------------------
44  */
45
46 /* maps in the FPGA registers and the ETHR registers */
47 #define OMAP730_FPGA_BASE               0xE8000000      /* VA */
48 #define OMAP730_FPGA_SIZE               SZ_4K           /* SIZE */
49 #define OMAP730_FPGA_START              0x04000000      /* PA */
50
51 #define OMAP730_FPGA_ETHR_START         OMAP730_FPGA_START
52 #define OMAP730_FPGA_ETHR_BASE          OMAP730_FPGA_BASE
53 #define OMAP730_FPGA_FPGA_REV           (OMAP730_FPGA_BASE + 0x10)      /* FPGA Revision */
54 #define OMAP730_FPGA_BOARD_REV          (OMAP730_FPGA_BASE + 0x12)      /* Board Revision */
55 #define OMAP730_FPGA_GPIO               (OMAP730_FPGA_BASE + 0x14)      /* GPIO outputs */
56 #define OMAP730_FPGA_LEDS               (OMAP730_FPGA_BASE + 0x16)      /* LEDs outputs */
57 #define OMAP730_FPGA_MISC_INPUTS        (OMAP730_FPGA_BASE + 0x18)      /* Misc inputs */
58 #define OMAP730_FPGA_LAN_STATUS         (OMAP730_FPGA_BASE + 0x1A)      /* LAN Status line */
59 #define OMAP730_FPGA_LAN_RESET          (OMAP730_FPGA_BASE + 0x1C)      /* LAN Reset line */
60
61 // LEDs definition on debug board (16 LEDs)
62 #define OMAP730_FPGA_LED_CLAIMRELEASE   (1 << 15)
63 #define OMAP730_FPGA_LED_STARTSTOP      (1 << 14)
64 #define OMAP730_FPGA_LED_HALTED         (1 << 13)
65 #define OMAP730_FPGA_LED_IDLE           (1 << 12)
66 #define OMAP730_FPGA_LED_TIMER          (1 << 11)
67 // cpu0 load-meter LEDs
68 #define OMAP730_FPGA_LOAD_METER         (1 << 0)        // A bit of fun on our board ...
69 #define OMAP730_FPGA_LOAD_METER_SIZE    11
70 #define OMAP730_FPGA_LOAD_METER_MASK    ((1 << OMAP730_FPGA_LOAD_METER_SIZE) - 1)
71
72 #ifndef OMAP_SDRAM_DEVICE
73 #define OMAP_SDRAM_DEVICE               D256M_1X16_4B
74 #endif
75
76 /*
77  * These definitions define an area of FLASH set aside
78  * for the use of MTD/JFFS2. This is the area of flash
79  * that a JFFS2 filesystem will reside which is mounted
80  * at boot with the "root=/dev/mtdblock/0 rw"
81  * command line option.
82  */
83
84 /* Intel flash_0, partitioned as expected by rrload */
85 #define OMAP_FLASH_0_BASE       0xD8000000      /* VA */
86 #define OMAP_FLASH_0_START      0x00000000      /* PA */
87 #define OMAP_FLASH_0_SIZE       SZ_32M
88
89 /* The Ethernet Controller IRQ is cascaded to MPU_EXT_nIRQ througb the FPGA */
90 #define INT_ETHER               INT_730_MPU_EXT_NIRQ
91
92 #define MAXIRQNUM               IH_BOARD_BASE
93 #define MAXFIQNUM               MAXIRQNUM
94 #define MAXSWINUM               MAXIRQNUM
95
96 #define NR_IRQS                 (MAXIRQNUM + 1)
97
98 #ifndef __ASSEMBLY__
99 void fpga_write(unsigned char val, int reg);
100 unsigned char fpga_read(int reg);
101 #endif
102
103 #else
104 #error "Only OMAP730 Perseus2 supported!"
105 #endif
106
107 #endif