1/*	$NetBSD: vrc4172gpioreg.h,v 1.1 2000/11/11 04:42:08 sato Exp $	*/
2
3/*
4 * Copyright (c) 2000 SATO Kazumi.  All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions, and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in the
13 *    documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 */
27
28/*
29 *	Vrc4172 GPIO (General Purpose I/O) Unit Registers.
30 */
31#define VRC2_EXGPREG_MAX	0x4a
32#define VRC2_EXGP_NPORTS	24
33#define VRC2_EXGP_OFFSET	0x40
34
35#define VRC2_EXGPDATA		VRC2_EXGPDATA0
36#define VRC2_EXGPDIR		VRC2_EXGPDIR0
37#define VRC2_EXGPINTEN		VRC2_EXGPINTEN0
38#define VRC2_EXGPINTST		VRC2_EXGPINTST0
39#define VRC2_EXGPINTTYP		VRC2_EXGPINTTYP0
40
41#define VRC2_EXGPDATA0		0x00	/* I/O data (0..15) */
42#define VRC2_EXGPDIR0		0x02	/* direction (0..15) */
43#define VRC2_EXGPINTEN0		0x04	/* interrupt enable (0..15) */
44#define VRC2_EXGPINTST0		0x06	/* interrupt status (0..15) */
45#define VRC2_EXGPINTTYP0	0x08	/* interrupt type (0..15) */
46#define VRC2_EXGPINTLV0L	0x0a	/* interrupt level low (0..15) */
47#define VRC2_EXGPINTLV0H	0x0c	/* interrupt level high (0..15) */
48
49#define VRC2_EXGPDATA1		0x40	/* I/O data (16..23) */
50#define VRC2_EXGPDIR1		0x42	/* direction (16..23) */
51#define VRC2_EXGPINTEN1		0x44	/* interrupt enable (16..23) */
52#define VRC2_EXGPINTST1		0x46	/* interrupt status (16..23) */
53#define VRC2_EXGPINTTYP1	0x48	/* interrupt type (16..23) */
54#define VRC2_EXGPINTLV1L	0x4a	/* interrupt level low (16..23) */
55
56#define VRC2_EXGPINTTYP_EDGE	1
57#define VRC2_EXGPINTTYP_LEVEL	0
58#define VRC2_EXGPINTAL_HIGH	1
59#define VRC2_EXGPINTAL_LOW	0
60#define VRC2_EXGPINTHT_HOLD	1
61#define VRC2_EXGPINTHT_THROUGH	0
62
63/* end */
64