canbusvars.h revision 110329
1/*-
2 * Copyright (c) 2000 KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>
3 * Copyright (c) 2000 Takanori Watanabe <takawata@jp.FreeBSD.org>
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 *
25 * $FreeBSD: head/sys/pc98/pc98/canbusvars.h 110329 2003-02-04 15:50:33Z takawata $
26 */
27
28#ifndef _PC98_PC98_CANBUSVARS_H_
29#define _PC98_PC98_CANBUSVARS_H_
30
31
32/* CanBe I/O register */
33#define CANBE_IOPORT_INDEX 0xf4a
34#define CANBE_IOPORT_DATA 0xf4b
35
36/*
37 * following registor purpose for spending -- unknown.
38 */
39#define CANBE_IOPORT1 0x0c24
40#define CANBE_IOPORT2 0x0c2b
41#define CANBE_IOPORT3 0x0c2d
42
43
44/* CanBe register number */
45#define CANBE_SOUND_INTR_ADDR	0x01
46#define CANBE_RC_RESET		0x03
47#define CANBE_MUTE_CTRL		0x04
48#define CANBE_RC_DATA_STATUS	0x10
49#define CANBE_RC_RECV_CODE	0x11
50#define CANBE_POWER_CTRL	0x13
51#define CANBE_RC_USED_INTR	0x14
52
53
54/* CanBe sound interrupt address value */
55#define CANBE_SOUND_INTR_VAL0	0x00
56#define CANBE_SOUND_INTR_VAL1	0x02
57#define CANBE_SOUND_INTR_VAL2	0x03
58#define CANBE_SOUND_INTR_VAL3	0x08
59
60/* CanBe remote controler reset */
61#define CANBE_MIKE_THRUE	0x04
62#define CANBE_CTRLR_RESET	0x01
63
64/* CanBe mute control */
65#define CANBE_MUTE		0x01
66
67/* CanBe remote controler data status */
68#define CANBE_RC_BUSY		0x02
69#define CANBE_RC_STATUS		0x01
70
71/* CanBe remote controler receive code */
72#define CANBE_RC_DATA_CHUP	0x00
73#define CANBE_RC_DATA_CHDOWN	0x01
74#define CANBE_RC_DATA_VOLUP	0x02
75#define CANBE_RC_DATA_VOLDOWN	0x03
76#define CANBE_RC_DATA_EJECT	0x04
77#define CANBE_RC_DATA_PLAY	0x05
78#define CANBE_RC_DATA_MUTE	0x09
79#define CANBE_RC_DATA_VIDEO	0x0a
80#define CANBE_RC_DATA_NEXT	0x0c
81#define CANBE_RC_DATA_PREVIOUS	0x0d
82#define CANBE_RC_DATA_M_S	0x1d
83#define CANBE_RC_DATA_UP	0x40
84#define CANBE_RC_DATA_DOWN	0x41
85#define CANBE_RC_DATA_LEFT	0x42
86#define CANBE_RC_DATA_RIGHT	0x43
87#define CANBE_RC_DATA_SIZE	0x4d
88#define CANBE_RC_DATA_ESC	0x4e
89#define CANBE_RC_DATA_CR	0x4f
90#define CANBE_RC_DATA_TV	0x53
91#define CANBE_RC_DATA_FREEZE	0x5d
92#define CANBE_RC_DATA_CAPTURE	0x5e
93
94/* CanBe power off data */
95#define CANBE_POWEROFF_DATA {		\
96	0x80, 0x06, 0x00, 0x00,		\
97	0x80, 0x07, 0x00, 0x01,		\
98	0x80, 0x01, 0x00, 0x00		\
99}
100
101/* CanBe remote controler used intr */
102#define CANBE_RC_INTR		0x04
103#define CANBE_RC_INTR_INT41	0x03 /* irq 10 */
104#define CANBE_RC_INTR_INT1	0x02 /* irq  5 */
105#define CANBE_RC_INTR_INT2	0x01 /* irq  6 */
106#define CANBE_RC_INTR_INT0	0x00 /* irq  3 */
107
108#endif	/* _PC98_PC98_CANBUSVARS_H_ */
109