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