xref: /netbsd-src/sys/arch/vax/uba/qv_ic.h (revision e95f8d8cf975675441f977ca7fe533331e2b7c91)
1*e95f8d8cSmatt /*      $NetBSD: qv_ic.h,v 1.1 2015/07/05 03:07:21 matt Exp $ */
2*e95f8d8cSmatt 
3*e95f8d8cSmatt /*-
4*e95f8d8cSmatt  * Copyright (c) 2015 The NetBSD Foundation, Inc.
5*e95f8d8cSmatt  * All rights reserved.
6*e95f8d8cSmatt  *
7*e95f8d8cSmatt  * This code is derived from software contributed to The NetBSD Foundation
8*e95f8d8cSmatt  * by Charles H. Dickman
9*e95f8d8cSmatt  *
10*e95f8d8cSmatt  * Redistribution and use in source and binary forms, with or without
11*e95f8d8cSmatt  * modification, are permitted provided that the following conditions
12*e95f8d8cSmatt  * are met:
13*e95f8d8cSmatt  * 1. Redistributions of source code must retain the above copyright
14*e95f8d8cSmatt  *    notice, this list of conditions and the following disclaimer.
15*e95f8d8cSmatt  * 2. Redistributions in binary form must reproduce the above copyright
16*e95f8d8cSmatt  *    notice, this list of conditions and the following disclaimer in the
17*e95f8d8cSmatt  *    documentation and/or other materials provided with the distribution.
18*e95f8d8cSmatt  *
19*e95f8d8cSmatt  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20*e95f8d8cSmatt  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21*e95f8d8cSmatt  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22*e95f8d8cSmatt  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23*e95f8d8cSmatt  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24*e95f8d8cSmatt  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25*e95f8d8cSmatt  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26*e95f8d8cSmatt  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27*e95f8d8cSmatt  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28*e95f8d8cSmatt  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29*e95f8d8cSmatt  * POSSIBILITY OF SUCH DAMAGE.
30*e95f8d8cSmatt  */
31*e95f8d8cSmatt 
32*e95f8d8cSmatt /* registers */
33*e95f8d8cSmatt #define QV_IC_DR        0            /* data register */
34*e95f8d8cSmatt #define QV_IC_SR        2            /* status register */
35*e95f8d8cSmatt 
36*e95f8d8cSmatt /* commands */
37*e95f8d8cSmatt #define QV_IC_RESET     0x00
38*e95f8d8cSmatt #define QV_IC_CIMR      0x28
39*e95f8d8cSmatt #define QV_IC_SIMR      0x38
40*e95f8d8cSmatt #define QV_IC_CLRIRR    0x40
41*e95f8d8cSmatt #define QV_IC_SIRR      0x58
42*e95f8d8cSmatt #define QV_IC_MODE      0x80
43*e95f8d8cSmatt #define QV_IC_ARM       0xa1
44*e95f8d8cSmatt #define QV_IC_DISARM    0xa2
45*e95f8d8cSmatt #define QV_IC_ACREG     0xc0
46*e95f8d8cSmatt #define QV_IC_RMEM      0xe0
47*e95f8d8cSmatt #define   RMEM_BC_1     0x00
48*e95f8d8cSmatt #define   RMEM_BC_2     0x08
49*e95f8d8cSmatt #define   RMEM_BC_3     0x10
50*e95f8d8cSmatt #define   RMEM_BC_4     0x18
51*e95f8d8cSmatt 
52*e95f8d8cSmatt 
53*e95f8d8cSmatt /* vectors */
54*e95f8d8cSmatt #define QV_DUART_VEC    0
55*e95f8d8cSmatt #define QV_SYNC_VEC     1
56*e95f8d8cSmatt #define QV_MOUSE_VEC    2
57*e95f8d8cSmatt #define QV_CURS_VEC     3
58*e95f8d8cSmatt #define QV_MBA_VEC      4
59*e95f8d8cSmatt #define QV_MBB_VEC      5
60*e95f8d8cSmatt #define QV_MBC_VEC      6
61*e95f8d8cSmatt 
62*e95f8d8cSmatt #define QV_IC_ENA       1
63*e95f8d8cSmatt #define QV_IC_DIS       0
64*e95f8d8cSmatt 
65*e95f8d8cSmatt void    qv_ic_init(struct uba_attach_args *, bus_size_t);
66*e95f8d8cSmatt void    qv_ic_setvec(struct uba_attach_args *, bus_size_t, int, int);
67*e95f8d8cSmatt void    qv_ic_enable(struct uba_attach_args *, bus_size_t, int, int);
68*e95f8d8cSmatt void    qv_ic_arm(struct uba_attach_args *, bus_size_t, int);
69*e95f8d8cSmatt void    qv_ic_force(struct uba_attach_args *, bus_size_t, int);
70*e95f8d8cSmatt 
71