Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lubbock.h
Go to the documentation of this file.
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 /* Board specific IRQs */
38 #define LUBBOCK_IRQ(x) (IRQ_BOARD_START + (x))
39 #define LUBBOCK_SD_IRQ LUBBOCK_IRQ(0)
40 #define LUBBOCK_SA1111_IRQ LUBBOCK_IRQ(1)
41 #define LUBBOCK_USB_IRQ LUBBOCK_IRQ(2) /* usb connect */
42 #define LUBBOCK_ETH_IRQ LUBBOCK_IRQ(3)
43 #define LUBBOCK_UCB1400_IRQ LUBBOCK_IRQ(4)
44 #define LUBBOCK_BB_IRQ LUBBOCK_IRQ(5)
45 #define LUBBOCK_USB_DISC_IRQ LUBBOCK_IRQ(6) /* usb disconnect */
46 #define LUBBOCK_LAST_IRQ LUBBOCK_IRQ(6)
47 
48 #define LUBBOCK_SA1111_IRQ_BASE (IRQ_BOARD_START + 16)
49 #define LUBBOCK_NR_IRQS (IRQ_BOARD_START + 16 + 55)
50 
51 #ifndef __ASSEMBLY__
52 extern void lubbock_set_misc_wr(unsigned int mask, unsigned int set);
53 #endif