Merge branch 'linus' into locking-for-linus
[linux-2.6] / arch / arm / mach-pxa / include / mach / lubbock.h
1 /*
2  *  arch/arm/mach-pxa/include/mach/lubbock.h
3  *
4  *  Author:     Nicolas Pitre
5  *  Created:    Jun 15, 2001
6  *  Copyright:  MontaVista Software Inc.
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12
13 #define LUBBOCK_ETH_PHYS        PXA_CS3_PHYS
14
15 #define LUBBOCK_FPGA_PHYS       PXA_CS2_PHYS
16 #define LUBBOCK_FPGA_VIRT       (0xf0000000)
17 #define LUB_P2V(x)              ((x) - LUBBOCK_FPGA_PHYS + LUBBOCK_FPGA_VIRT)
18 #define LUB_V2P(x)              ((x) - LUBBOCK_FPGA_VIRT + LUBBOCK_FPGA_PHYS)
19
20 #ifndef __ASSEMBLY__
21 #  define __LUB_REG(x)          (*((volatile unsigned long *)LUB_P2V(x)))
22 #else
23 #  define __LUB_REG(x)          LUB_P2V(x)
24 #endif
25
26 /* FPGA register virtual addresses */
27 #define LUB_WHOAMI              __LUB_REG(LUBBOCK_FPGA_PHYS + 0x000)
28 #define LUB_DISC_BLNK_LED       __LUB_REG(LUBBOCK_FPGA_PHYS + 0x040)
29 #define LUB_CONF_SWITCHES       __LUB_REG(LUBBOCK_FPGA_PHYS + 0x050)
30 #define LUB_USER_SWITCHES       __LUB_REG(LUBBOCK_FPGA_PHYS + 0x060)
31 #define LUB_MISC_WR             __LUB_REG(LUBBOCK_FPGA_PHYS + 0x080)
32 #define LUB_MISC_RD             __LUB_REG(LUBBOCK_FPGA_PHYS + 0x090)
33 #define LUB_IRQ_MASK_EN         __LUB_REG(LUBBOCK_FPGA_PHYS + 0x0c0)
34 #define LUB_IRQ_SET_CLR         __LUB_REG(LUBBOCK_FPGA_PHYS + 0x0d0)
35 #define LUB_GP                  __LUB_REG(LUBBOCK_FPGA_PHYS + 0x100)
36
37 #ifndef __ASSEMBLY__
38 extern void lubbock_set_misc_wr(unsigned int mask, unsigned int set);
39 #endif