carl9170 firmware: initial WoWLAN support
[carl9170fw.git] / include / shared / fwcmd.h
index 0e665198752fb5c63f93789072f438e9343df747..8fea62901b2bcfae0405dbfe9739c503ed4af522 100644 (file)
@@ -54,6 +54,7 @@ enum carl9170_cmd_oids {
        CARL9170_CMD_BCN_CTRL           = 0x05,
        CARL9170_CMD_READ_TSF           = 0x06,
        CARL9170_CMD_RX_FILTER          = 0x07,
+       CARL9170_CMD_WOL                = 0x08,
 
        /* CAM */
        CARL9170_CMD_EKEY               = 0x10,
@@ -180,6 +181,21 @@ struct carl9170_bcn_ctrl_cmd {
 #define CARL9170_BCN_CTRL_DRAIN        0
 #define CARL9170_BCN_CTRL_CAB_TRIGGER  1
 
+struct carl9170_wol_cmd {
+       __le32          flags;
+       u8              mac[6];
+       u8              bssid[6];
+       __le32          null_interval;
+       __le32          free_for_use2;
+       __le32          mask;
+       u8              pattern[32];
+} __packed;
+
+#define CARL9170_WOL_CMD_SIZE          60
+
+#define CARL9170_WOL_DISCONNECT                1
+#define CARL9170_WOL_MAGIC_PKT         2
+
 struct carl9170_cmd_head {
        union {
                struct {
@@ -203,6 +219,7 @@ struct carl9170_cmd {
                struct carl9170_write_reg       wreg;
                struct carl9170_rf_init         rf_init;
                struct carl9170_psm             psm;
+               struct carl9170_wol_cmd         wol;
                struct carl9170_bcn_ctrl_cmd    bcn_ctrl;
                struct carl9170_rx_filter_cmd   rx_filter;
                u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];