1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * arch/arm/mach-pxa/include/mach/lubbock.h 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Author: Nicolas Pitre 6*4882a593Smuzhiyun * Created: Jun 15, 2001 7*4882a593Smuzhiyun * Copyright: MontaVista Software Inc. 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #include <mach/irqs.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define LUBBOCK_ETH_PHYS PXA_CS3_PHYS 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #define LUBBOCK_FPGA_PHYS PXA_CS2_PHYS 15*4882a593Smuzhiyun #define LUBBOCK_FPGA_VIRT (0xf0000000) 16*4882a593Smuzhiyun #define LUB_P2V(x) ((x) - LUBBOCK_FPGA_PHYS + LUBBOCK_FPGA_VIRT) 17*4882a593Smuzhiyun #define LUB_V2P(x) ((x) - LUBBOCK_FPGA_VIRT + LUBBOCK_FPGA_PHYS) 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 20*4882a593Smuzhiyun # define __LUB_REG(x) (*((volatile unsigned long *)LUB_P2V(x))) 21*4882a593Smuzhiyun #else 22*4882a593Smuzhiyun # define __LUB_REG(x) LUB_P2V(x) 23*4882a593Smuzhiyun #endif 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun /* FPGA register virtual addresses */ 26*4882a593Smuzhiyun #define LUB_WHOAMI __LUB_REG(LUBBOCK_FPGA_PHYS + 0x000) 27*4882a593Smuzhiyun #define LUB_DISC_BLNK_LED __LUB_REG(LUBBOCK_FPGA_PHYS + 0x040) 28*4882a593Smuzhiyun #define LUB_CONF_SWITCHES __LUB_REG(LUBBOCK_FPGA_PHYS + 0x050) 29*4882a593Smuzhiyun #define LUB_USER_SWITCHES __LUB_REG(LUBBOCK_FPGA_PHYS + 0x060) 30*4882a593Smuzhiyun #define LUB_MISC_WR __LUB_REG(LUBBOCK_FPGA_PHYS + 0x080) 31*4882a593Smuzhiyun #define LUB_MISC_RD __LUB_REG(LUBBOCK_FPGA_PHYS + 0x090) 32*4882a593Smuzhiyun #define LUB_IRQ_MASK_EN __LUB_REG(LUBBOCK_FPGA_PHYS + 0x0c0) 33*4882a593Smuzhiyun #define LUB_IRQ_SET_CLR __LUB_REG(LUBBOCK_FPGA_PHYS + 0x0d0) 34*4882a593Smuzhiyun #define LUB_GP __LUB_REG(LUBBOCK_FPGA_PHYS + 0x100) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun /* Board specific IRQs */ 37*4882a593Smuzhiyun #define LUBBOCK_NR_IRQS IRQ_BOARD_START 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #define LUBBOCK_IRQ(x) (LUBBOCK_NR_IRQS + (x)) 40*4882a593Smuzhiyun #define LUBBOCK_SD_IRQ LUBBOCK_IRQ(0) 41*4882a593Smuzhiyun #define LUBBOCK_SA1111_IRQ LUBBOCK_IRQ(1) 42*4882a593Smuzhiyun #define LUBBOCK_USB_IRQ LUBBOCK_IRQ(2) /* usb connect */ 43*4882a593Smuzhiyun #define LUBBOCK_ETH_IRQ LUBBOCK_IRQ(3) 44*4882a593Smuzhiyun #define LUBBOCK_UCB1400_IRQ LUBBOCK_IRQ(4) 45*4882a593Smuzhiyun #define LUBBOCK_BB_IRQ LUBBOCK_IRQ(5) 46*4882a593Smuzhiyun #define LUBBOCK_USB_DISC_IRQ LUBBOCK_IRQ(6) /* usb disconnect */ 47*4882a593Smuzhiyun #define LUBBOCK_LAST_IRQ LUBBOCK_IRQ(6) 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun #define LUBBOCK_SA1111_IRQ_BASE (LUBBOCK_NR_IRQS + 32) 50