CARL9170_CMD_REBOOT = 0x04,
CARL9170_CMD_FLUSH_CAB = 0x05,
CARL9170_CMD_READ_TSF = 0x06,
- CARL9170_CMD_USB_WD = 0x07,
/* CAM */
CARL9170_CMD_EKEY = 0x10,
CARL9170_CMD_FREQ_START = 0x23,
CARL9170_CMD_PSM = 0x24,
+ /* Asychronous command flag */
+ CARL9170_CMD_ASYNC_FLAG = 0x40,
+ CARL9170_CMD_WREG_ASYNC = (CARL9170_CMD_WREG |
+ CARL9170_CMD_ASYNC_FLAG),
+ CARL9170_CMD_REBOOT_ASYNC = (CARL9170_CMD_REBOOT |
+ CARL9170_CMD_ASYNC_FLAG),
+ CARL9170_CMD_FLUSH_CAB_ASYNC = (CARL9170_CMD_FLUSH_CAB |
+ CARL9170_CMD_ASYNC_FLAG),
+ CARL9170_CMD_PSM_ASYNC = (CARL9170_CMD_PSM |
+ CARL9170_CMD_ASYNC_FLAG),
+
/* responses and traps */
+ CARL9170_RSP_FLAG = 0xc0,
CARL9170_RSP_PRETBTT = 0xc0,
CARL9170_RSP_TXCOMP = 0xc1,
CARL9170_RSP_BEACON_CONFIG = 0xc2,
CARL9170_RSP_HEXDUMP = 0xcc,
CARL9170_RSP_RADAR = 0xcd,
CARL9170_RSP_GPIO = 0xce,
- CARL9170_RSP_USB_WD = 0xcf
+ CARL9170_RSP_BOOT = 0xcf,
};
struct carl9170_set_key_cmd {
} __packed;
#define CARL9170_RF_INIT_RESULT_SIZE 4
-#define CARL9170_USB_WATCHDOG_INACTIVE 0
-#define CARL9170_USB_WATCHDOG_ON_DUTY 1
-
-struct carl9170_watchdog_cmd {
- __le32 state;
-} __packed;
-#define CARL9170_WATCHDOG_CMD_SIZE 4
-
#define CARL9170_PSM_SLEEP 0x1000
#define CARL9170_PSM_SOFTWARE 0
#define CARL9170_PSM_WAKE 0 /* internally used. */
#define CARL9170_PSM_SIZE 4
struct carl9170_cab_flush_cmd {
- __le32 vif_id; /* currently unused */
+ __le32 vif_id;
+ __le32 mode;
} __packed;
-#define CARL9170_CAB_FLUSH_CMD_SIZE 4
+#define CARL9170_CAB_FLUSH_CMD_SIZE 8
+
+#define CARL9170_CAB_FLUSH_DRAIN 0
+#define CARL9170_CAB_FLUSH_CAB_TRIGGER 1
struct carl9170_cmd_head {
union {
struct carl9170_set_key_cmd setkey;
struct carl9170_disable_key_cmd disablekey;
struct carl9170_u32_list echo;
- struct carl9170_watchdog_cmd watchdog;
struct carl9170_reg_list rreg;
struct carl9170_write_reg wreg;
struct carl9170_rf_init rf_init;
struct carl9170_rf_init_result rf_init_res;
struct carl9170_u32_list rreg_res;
struct carl9170_u32_list echo;
- struct carl9170_watchdog_cmd watchdog;
struct carl9170_tx_status tx_status[0];
struct _carl9170_tx_status _tx_status[0];
struct carl9170_gpio gpio;