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