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