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#include <mach/irqs.h>
14
15#define LUBBOCK_ETH_PHYS	PXA_CS3_PHYS
16
17#define LUBBOCK_FPGA_PHYS	PXA_CS2_PHYS
18#define LUBBOCK_FPGA_VIRT	(0xf0000000)
19#define LUB_P2V(x)		((x) - LUBBOCK_FPGA_PHYS + LUBBOCK_FPGA_VIRT)
20#define LUB_V2P(x)		((x) - LUBBOCK_FPGA_VIRT + LUBBOCK_FPGA_PHYS)
21
22#ifndef __ASSEMBLY__
23#  define __LUB_REG(x)		(*((volatile unsigned long *)LUB_P2V(x)))
24#else
25#  define __LUB_REG(x)		LUB_P2V(x)
26#endif
27
28/* FPGA register virtual addresses */
29#define LUB_WHOAMI		__LUB_REG(LUBBOCK_FPGA_PHYS + 0x000)
30#define LUB_DISC_BLNK_LED	__LUB_REG(LUBBOCK_FPGA_PHYS + 0x040)
31#define LUB_CONF_SWITCHES	__LUB_REG(LUBBOCK_FPGA_PHYS + 0x050)
32#define LUB_USER_SWITCHES	__LUB_REG(LUBBOCK_FPGA_PHYS + 0x060)
33#define LUB_MISC_WR		__LUB_REG(LUBBOCK_FPGA_PHYS + 0x080)
34#define LUB_MISC_RD		__LUB_REG(LUBBOCK_FPGA_PHYS + 0x090)
35#define LUB_IRQ_MASK_EN		__LUB_REG(LUBBOCK_FPGA_PHYS + 0x0c0)
36#define LUB_IRQ_SET_CLR		__LUB_REG(LUBBOCK_FPGA_PHYS + 0x0d0)
37#define LUB_GP			__LUB_REG(LUBBOCK_FPGA_PHYS + 0x100)
38
39/* Board specific IRQs */
40#define LUBBOCK_NR_IRQS		IRQ_BOARD_START
41
42#define LUBBOCK_IRQ(x)		(LUBBOCK_NR_IRQS + (x))
43#define LUBBOCK_SD_IRQ		LUBBOCK_IRQ(0)
44#define LUBBOCK_SA1111_IRQ	LUBBOCK_IRQ(1)
45#define LUBBOCK_USB_IRQ		LUBBOCK_IRQ(2)  /* usb connect */
46#define LUBBOCK_ETH_IRQ		LUBBOCK_IRQ(3)
47#define LUBBOCK_UCB1400_IRQ	LUBBOCK_IRQ(4)
48#define LUBBOCK_BB_IRQ		LUBBOCK_IRQ(5)
49#define LUBBOCK_USB_DISC_IRQ	LUBBOCK_IRQ(6)  /* usb disconnect */
50#define LUBBOCK_LAST_IRQ	LUBBOCK_IRQ(6)
51
52#define LUBBOCK_SA1111_IRQ_BASE	(LUBBOCK_NR_IRQS + 32)
53
54#ifndef __ASSEMBLY__
55extern void lubbock_set_misc_wr(unsigned int mask, unsigned int set);
56#endif
57