xref: /openbsd/sys/dev/pcmcia/if_maloreg.h (revision 20657f89)
1 /*	$OpenBSD: if_maloreg.h,v 1.15 2007/10/08 22:08:12 mglocker Exp $ */
2 
3 /*
4  * Copyright (c) 2007 Marcus Glocker <mglocker@openbsd.org>
5  *
6  * Permission to use, copy, modify, and distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /* registers */
20 #define MALO_REG_HOST_STATUS		0x00
21 #define MALO_REG_CARD_INTR_CAUSE	0x02
22 #define MALO_REG_HOST_INTR_MASK		0x04
23 #define MALO_REG_DATA_READ		0x10
24 #define MALO_REG_CMD_READ		0x12
25 #define MALO_REG_DATA_WRITE_LEN		0x14
26 #define MALO_REG_DATA_WRITE		0x16
27 #define MALO_REG_CMD_WRITE_LEN		0x18
28 #define MALO_REG_CMD_WRITE		0x1a
29 #define MALO_REG_CARD_STATUS		0x20
30 #define MALO_REG_HOST_INTR_CAUSE	0x22
31 #define MALO_REG_DATA_READ_LEN		0x24
32 #define MALO_REG_RBAL			0x28
33 #define MALO_REG_CMD_READ_LEN		0x30
34 #define MALO_REG_SCRATCH		0x3f
35 #define MALO_REG_CARD_INTR_MASK		0x44
36 
37 /* register values */
38 #define MALO_VAL_SCRATCH_READY		0x00
39 #define MALO_VAL_TX_DL_OVER		0x01
40 #define MALO_VAL_RX_DL_OVER		0x02
41 #define MALO_VAL_CMD_DL_OVER		0x04
42 #define MALO_VAL_SCRATCH_FW_LOADED	0x5a
43 #define MALO_VAL_HOST_INTR_MASK_ON	0x001f
44 #define MALO_VAL_CARD_STATUS_MASK	0x7f00
45 
46 /* interrupt reasons */
47 #define MALO_VAL_HOST_INTR_TX		(1 << 0)
48 #define MALO_VAL_HOST_INTR_RX		(1 << 1)
49 #define MALO_VAL_HOST_INTR_CMD		(1 << 3)
50 #define MALO_VAL_HOST_INTR_EVENT	(1 << 4)
51 
52 /* FW commands */
53 #define MALO_CMD_RESP			0x8000
54 #define MALO_CMD_HWSPEC			0x0003
55 #define MALO_CMD_RESET			0x0005
56 #define MALO_CMD_SCAN			0x0006
57 #define MALO_CMD_AUTH			0x0011
58 #define MALO_CMD_WEP			0x0013
59 #define MALO_CMD_SNMP			0x0016
60 #define MALO_CMD_RADIO			0x001c
61 #define MALO_CMD_CHANNEL		0x001d
62 #define MALO_CMD_TXPOWER		0x001e
63 #define MALO_CMD_ANTENNA		0x0020
64 #define MALO_CMD_MACCTRL		0x0028
65 #define MALO_CMD_MACADDR		0x004d
66 #define MALO_CMD_ASSOC			0x0050
67 #define MALO_CMD_80211D			0x005b
68 #define MALO_CMD_BGSCAN_CONFIG		0x006b
69 #define MALO_CMD_BGSCAN_QUERY		0x006c
70 #define MALO_CMD_RATE			0x0076
71 
72 /* FW command values */
73 #define MALO_CMD_RADIO_OFF		0x0000
74 #define MALO_CMD_RADIO_ON		0x0001
75 #define MALO_CMD_RADIO_LONG_P		0x0000
76 #define MALO_CMD_RADIO_SHORT_P		0x0002
77 #define MALO_CMD_RADIO_AUTO_P		0x0004
78 #define MALO_CMD_MACCTRL_RX_ON		0x0001
79 #define MALO_CMD_MACCTRL_TX_ON		0x0002
80 #define MALO_CMD_MACCTRL_PROMISC_ON	0x0080
81 
82 /* events */
83 #define MALO_EVENT_DEAUTH		0x0008
84 #define MALO_EVENT_DISASSOC		0x0009
85