1#ifndef _MAPPI3_PLD_H
2#define _MAPPI3_PLD_H
3
4/*
5 * include/asm-m32r/mappi3/mappi3_pld.h
6 *
7 * Definitions for Extended IO Logic on MAPPI3 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		(0x1c000000 /* + 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		(0x1c000000 + 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/* ICU */
53#define M32R_IRQ_PC104		(5)	/* INT4(PC/104) */
54#define M32R_IRQ_I2C		(28)	/* I2C-BUS */
55#define PLD_IRQ_CFIREQ		(6)	/* INT5 CFC Card Interrupt */
56#define PLD_IRQ_CFC_INSERT	(7)	/* INT6 CFC Card Insert & Eject */
57#define PLD_IRQ_IDEIREQ		(8)	/* INT7 IDE Interrupt */
58#define PLD_IRQ_MMCCARD		(43)	/* MMC Card Insert */
59#define PLD_IRQ_MMCIRQ		(44)	/* MMC Transfer Done */
60
61
62/* CRC */
63#define PLD_CRC7DATA		__reg16(PLD_BASE + 0x18000)
64#define PLD_CRC7INDATA		__reg16(PLD_BASE + 0x18002)
65#define PLD_CRC16DATA		__reg16(PLD_BASE + 0x18004)
66#define PLD_CRC16INDATA		__reg16(PLD_BASE + 0x18006)
67#define PLD_CRC16ADATA		__reg16(PLD_BASE + 0x18008)
68#define PLD_CRC16AINDATA	__reg16(PLD_BASE + 0x1800a)
69
70
71/* Reset Control */
72#define PLD_REBOOT		__reg16(PLD_BASE + 0x38000)
73
74#endif /* _MAPPI3_PLD.H */
75