| 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 | |