1#ifndef _MAPPI2_PLD_H
2#define _MAPPI2_PLD_H
3
4/*
5 * include/asm-m32r/mappi2/mappi2_pld.h
6 *
7 * Definitions for Extended IO Logic on MAPPI2 board.
8 *  based on m32700ut_pld.h
9 *
10 * This file is subject to the terms and conditions of the GNU General
11 * Public License.  See the file "COPYING" in the main directory of
12 * this archive for more details.
13 */
14
15#ifndef __ASSEMBLY__
16#define PLD_BASE		(0x10c00000 /* + NONCACHE_OFFSET */)
17#define __reg8			(volatile unsigned char *)
18#define __reg16			(volatile unsigned short *)
19#define __reg32			(volatile unsigned int *)
20#else
21#define PLD_BASE		(0x10c00000 + NONCACHE_OFFSET)
22#define __reg8
23#define __reg16
24#define __reg32
25#endif /* __ASSEMBLY__ */
26
27/* CFC */
28#define	PLD_CFRSTCR		__reg16(PLD_BASE + 0x0000)
29#define PLD_CFSTS		__reg16(PLD_BASE + 0x0002)
30#define PLD_CFIMASK		__reg16(PLD_BASE + 0x0004)
31#define PLD_CFBUFCR		__reg16(PLD_BASE + 0x0006)
32#define PLD_CFCR0		__reg16(PLD_BASE + 0x000a)
33#define PLD_CFCR1		__reg16(PLD_BASE + 0x000c)
34
35/* MMC */
36#define PLD_MMCCR		__reg16(PLD_BASE + 0x4000)
37#define PLD_MMCMOD		__reg16(PLD_BASE + 0x4002)
38#define PLD_MMCSTS		__reg16(PLD_BASE + 0x4006)
39#define PLD_MMCBAUR		__reg16(PLD_BASE + 0x400a)
40#define PLD_MMCCMDBCUT		__reg16(PLD_BASE + 0x400c)
41#define PLD_MMCCDTBCUT		__reg16(PLD_BASE + 0x400e)
42#define PLD_MMCDET		__reg16(PLD_BASE + 0x4010)
43#define PLD_MMCWP		__reg16(PLD_BASE + 0x4012)
44#define PLD_MMCWDATA		__reg16(PLD_BASE + 0x5000)
45#define PLD_MMCRDATA		__reg16(PLD_BASE + 0x6000)
46#define PLD_MMCCMDDATA		__reg16(PLD_BASE + 0x7000)
47#define PLD_MMCRSPDATA		__reg16(PLD_BASE + 0x7006)
48
49/* Power Control of MMC and CF */
50#define PLD_CPCR		__reg16(PLD_BASE + 0x14000)
51
52
53/*==== ICU ====*/
54#define  M32R_IRQ_PC104        (5)   /* INT4(PC/104) */
55#define  M32R_IRQ_I2C          (28)  /* I2C-BUS     */
56#define  PLD_IRQ_CFIREQ       (40)  /* CFC Card Interrupt */
57#define  PLD_IRQ_CFC_INSERT   (41)  /* CFC Card Insert */
58#define  PLD_IRQ_CFC_EJECT    (42)  /* CFC Card Eject */
59#define  PLD_IRQ_MMCCARD      (43)  /* MMC Card Insert */
60#define  PLD_IRQ_MMCIRQ       (44)  /* MMC Transfer Done */
61
62
63
64/* CRC */
65#define PLD_CRC7DATA		__reg16(PLD_BASE + 0x18000)
66#define PLD_CRC7INDATA		__reg16(PLD_BASE + 0x18002)
67#define PLD_CRC16DATA		__reg16(PLD_BASE + 0x18004)
68#define PLD_CRC16INDATA		__reg16(PLD_BASE + 0x18006)
69#define PLD_CRC16ADATA		__reg16(PLD_BASE + 0x18008)
70#define PLD_CRC16AINDATA	__reg16(PLD_BASE + 0x1800a)
71
72
73
74#endif /* _MAPPI2_PLD.H */
75