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