1*d2a8a758Srkujawa /* $NetBSD: z3rambdvar.h,v 1.1 2012/11/26 22:58:24 rkujawa Exp $ */
2*d2a8a758Srkujawa
3*d2a8a758Srkujawa /*-
4*d2a8a758Srkujawa * Copyright (c) 2012 The NetBSD Foundation, Inc.
5*d2a8a758Srkujawa * All rights reserved.
6*d2a8a758Srkujawa *
7*d2a8a758Srkujawa * This code is derived from software contributed to The NetBSD Foundation
8*d2a8a758Srkujawa * by Radoslaw Kujawa.
9*d2a8a758Srkujawa *
10*d2a8a758Srkujawa * Redistribution and use in source and binary forms, with or without
11*d2a8a758Srkujawa * modification, are permitted provided that the following conditions
12*d2a8a758Srkujawa * are met:
13*d2a8a758Srkujawa * 1. Redistributions of source code must retain the above copyright
14*d2a8a758Srkujawa * notice, this list of conditions and the following disclaimer.
15*d2a8a758Srkujawa * 2. Redistributions in binary form must reproduce the above copyright
16*d2a8a758Srkujawa * notice, this list of conditions and the following disclaimer in the
17*d2a8a758Srkujawa * documentation and/or other materials provided with the distribution.
18*d2a8a758Srkujawa *
19*d2a8a758Srkujawa * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20*d2a8a758Srkujawa * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21*d2a8a758Srkujawa * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22*d2a8a758Srkujawa * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23*d2a8a758Srkujawa * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24*d2a8a758Srkujawa * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25*d2a8a758Srkujawa * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26*d2a8a758Srkujawa * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27*d2a8a758Srkujawa * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28*d2a8a758Srkujawa * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29*d2a8a758Srkujawa * POSSIBILITY OF SUCH DAMAGE.
30*d2a8a758Srkujawa */
31*d2a8a758Srkujawa #ifndef _AMIGA_Z3RAMBDVAR_H_
32*d2a8a758Srkujawa
33*d2a8a758Srkujawa #include <sys/bus.h>
34*d2a8a758Srkujawa
35*d2a8a758Srkujawa /* there are a couple of hacks that check for presence of Z3 RAM boards */
36*d2a8a758Srkujawa #define ZORRO_MANID_E3B 3643
37*d2a8a758Srkujawa #define ZORRO_PRODID_ZORRAM 32 /* BigRamPlus has the same */
38*d2a8a758Srkujawa
39*d2a8a758Srkujawa #define ZORRO_MANID_DKB 2012
40*d2a8a758Srkujawa #define ZORRO_PRODID_3128 14
41*d2a8a758Srkujawa
42*d2a8a758Srkujawa #define ZORRO_MANID_PHASE5 8512
43*d2a8a758Srkujawa #define ZORRO_PRODID_FLZ3MEM 10
44*d2a8a758Srkujawa
45*d2a8a758Srkujawa struct z3rambd_softc {
46*d2a8a758Srkujawa device_t sc_dev;
47*d2a8a758Srkujawa
48*d2a8a758Srkujawa size_t sc_size;
49*d2a8a758Srkujawa
50*d2a8a758Srkujawa struct bus_space_tag sc_bst;
51*d2a8a758Srkujawa
52*d2a8a758Srkujawa bus_space_tag_t sc_iot;
53*d2a8a758Srkujawa bus_space_handle_t sc_ioh;
54*d2a8a758Srkujawa
55*d2a8a758Srkujawa void *sc_va;
56*d2a8a758Srkujawa };
57*d2a8a758Srkujawa
58*d2a8a758Srkujawa inline int z3rambd_match_id(uint16_t, uint8_t);
59*d2a8a758Srkujawa
60*d2a8a758Srkujawa inline int
z3rambd_match_id(uint16_t manid,uint8_t prodid)61*d2a8a758Srkujawa z3rambd_match_id(uint16_t manid, uint8_t prodid)
62*d2a8a758Srkujawa {
63*d2a8a758Srkujawa if (manid == ZORRO_MANID_E3B)
64*d2a8a758Srkujawa if (prodid == ZORRO_PRODID_ZORRAM)
65*d2a8a758Srkujawa return 1;
66*d2a8a758Srkujawa
67*d2a8a758Srkujawa if (manid == ZORRO_MANID_DKB)
68*d2a8a758Srkujawa if (prodid == ZORRO_PRODID_3128)
69*d2a8a758Srkujawa return 1;
70*d2a8a758Srkujawa
71*d2a8a758Srkujawa if (manid == ZORRO_MANID_PHASE5)
72*d2a8a758Srkujawa if (prodid == ZORRO_PRODID_FLZ3MEM)
73*d2a8a758Srkujawa return 1;
74*d2a8a758Srkujawa
75*d2a8a758Srkujawa return 0;
76*d2a8a758Srkujawa }
77*d2a8a758Srkujawa
78*d2a8a758Srkujawa #endif /* _AMIGA_Z3RAMBDVAR_H_ */
79*d2a8a758Srkujawa
80