1 /* SPDX-License-Identifier: GPL-2.0
2  *
3  *  include/asm-sh/magicpanelr2.h
4  *
5  *  Copyright (C) 2007  Markus Brunner, Mark Jonas
6  *
7  *  I/O addresses and bitmasks for Magic Panel Release 2 board
8  */
9 
10 #ifndef __ASM_SH_MAGICPANELR2_H
11 #define __ASM_SH_MAGICPANELR2_H
12 
13 #include <linux/gpio.h>
14 
15 #define __IO_PREFIX mpr2
16 #include <asm/io_generic.h>
17 
18 
19 #define SETBITS_OUTB(mask, reg)   __raw_writeb(__raw_readb(reg) | mask, reg)
20 #define SETBITS_OUTW(mask, reg)   __raw_writew(__raw_readw(reg) | mask, reg)
21 #define SETBITS_OUTL(mask, reg)   __raw_writel(__raw_readl(reg) | mask, reg)
22 #define CLRBITS_OUTB(mask, reg)   __raw_writeb(__raw_readb(reg) & ~mask, reg)
23 #define CLRBITS_OUTW(mask, reg)   __raw_writew(__raw_readw(reg) & ~mask, reg)
24 #define CLRBITS_OUTL(mask, reg)   __raw_writel(__raw_readl(reg) & ~mask, reg)
25 
26 
27 #define PA_LED          PORT_PADR      /* LED */
28 
29 
30 /* BSC */
31 #define CMNCR           0xA4FD0000UL
32 #define CS0BCR          0xA4FD0004UL
33 #define CS2BCR          0xA4FD0008UL
34 #define CS3BCR          0xA4FD000CUL
35 #define CS4BCR          0xA4FD0010UL
36 #define CS5ABCR         0xA4FD0014UL
37 #define CS5BBCR         0xA4FD0018UL
38 #define CS6ABCR         0xA4FD001CUL
39 #define CS6BBCR         0xA4FD0020UL
40 #define CS0WCR          0xA4FD0024UL
41 #define CS2WCR          0xA4FD0028UL
42 #define CS3WCR          0xA4FD002CUL
43 #define CS4WCR          0xA4FD0030UL
44 #define CS5AWCR         0xA4FD0034UL
45 #define CS5BWCR         0xA4FD0038UL
46 #define CS6AWCR         0xA4FD003CUL
47 #define CS6BWCR         0xA4FD0040UL
48 
49 
50 /* usb */
51 
52 #define PORT_UTRCTL		0xA405012CUL
53 #define PORT_UCLKCR_W		0xA40A0008UL
54 
55 #define INTC_ICR0		0xA414FEE0UL
56 #define INTC_ICR1		0xA4140010UL
57 #define INTC_ICR2		0xA4140012UL
58 
59 /* MTD */
60 
61 #define MPR2_MTD_BOOTLOADER_SIZE	0x00060000UL
62 #define MPR2_MTD_KERNEL_SIZE		0x00200000UL
63 
64 #endif  /* __ASM_SH_MAGICPANELR2_H */
65