DaVinci DM365: Adding support for SPI EEPROM
[pandora-kernel.git] / arch / mips / include / asm / mach-pb1x00 / pb1100.h
1 /*
2  * Alchemy Semi Pb1100 Referrence Board
3  *
4  * Copyright 2001, 2008 MontaVista Software Inc.
5  * Author: MontaVista Software, Inc. <source@mvista.com>
6  *
7  * ########################################################################
8  *
9  *  This program is free software; you can distribute it and/or modify it
10  *  under the terms of the GNU General Public License (Version 2) as
11  *  published by the Free Software Foundation.
12  *
13  *  This program is distributed in the hope it will be useful, but WITHOUT
14  *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16  *  for more details.
17  *
18  *  You should have received a copy of the GNU General Public License along
19  *  with this program; if not, write to the Free Software Foundation, Inc.,
20  *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
21  *
22  * ########################################################################
23  *
24  *
25  */
26 #ifndef __ASM_PB1100_H
27 #define __ASM_PB1100_H
28
29 #define PB1100_IDENT            0xAE000000
30 #define BOARD_STATUS_REG        0xAE000004
31 #  define PB1100_ROM_SEL        (1 << 15)
32 #  define PB1100_ROM_SIZ        (1 << 14)
33 #  define PB1100_SWAP_BOOT      (1 << 13)
34 #  define PB1100_FLASH_WP       (1 << 12)
35 #  define PB1100_ROM_H_STS      (1 << 11)
36 #  define PB1100_ROM_L_STS      (1 << 10)
37 #  define PB1100_FLASH_H_STS    (1 << 9)
38 #  define PB1100_FLASH_L_STS    (1 << 8)
39 #  define PB1100_SRAM_SIZ       (1 << 7)
40 #  define PB1100_TSC_BUSY       (1 << 6)
41 #  define PB1100_PCMCIA_VS_MASK (3 << 4)
42 #  define PB1100_RS232_CD       (1 << 3)
43 #  define PB1100_RS232_CTS      (1 << 2)
44 #  define PB1100_RS232_DSR      (1 << 1)
45 #  define PB1100_RS232_RI       (1 << 0)
46
47 #define PB1100_IRDA_RS232       0xAE00000C
48 #  define PB1100_IRDA_FULL      (0 << 14)       /* full power           */
49 #  define PB1100_IRDA_SHUTDOWN  (1 << 14)
50 #  define PB1100_IRDA_TT        (2 << 14)       /* 2/3 power            */
51 #  define PB1100_IRDA_OT        (3 << 14)       /* 1/3 power            */
52 #  define PB1100_IRDA_FIR       (1 << 13)
53
54 #define PCMCIA_BOARD_REG        0xAE000010
55 #  define PB1100_SD_WP1_RO      (1 << 15)       /* read only            */
56 #  define PB1100_SD_WP0_RO      (1 << 14)       /* read only            */
57 #  define PB1100_SD_PWR1        (1 << 11)       /* applies power to SD1 */
58 #  define PB1100_SD_PWR0        (1 << 10)       /* applies power to SD0 */
59 #  define PB1100_SEL_SD_CONN1   (1 << 9)
60 #  define PB1100_SEL_SD_CONN0   (1 << 8)
61 #  define PC_DEASSERT_RST       (1 << 7)
62 #  define PC_DRV_EN             (1 << 4)
63
64 #define PB1100_G_CONTROL        0xAE000014      /* graphics control     */
65
66 #define PB1100_RST_VDDI         0xAE00001C
67 #  define PB1100_SOFT_RESET     (1 << 15)       /* clear to reset the board */
68 #  define PB1100_VDDI_MASK      0x1F
69
70 #define PB1100_LEDS             0xAE000018
71
72 /*
73  * 11:8 is 4 discreet LEDs. Clearing a bit illuminates the LED.
74  * 7:0  is the LED Display's decimal points.
75  */
76 #define PB1100_HEX_LED          0xAE000018
77
78 /* PCMCIA Pb1100 specific defines */
79 #define PCMCIA_MAX_SOCK  0
80 #define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1)
81
82 /* VPP/VCC */
83 #define SET_VCC_VPP(VCC, VPP) (((VCC) << 2) | ((VPP) << 0))
84
85 #endif /* __ASM_PB1100_H */