carl9170 firmware: add radar pattern generator
[carl9170fw.git] / include / shared / fwdesc.h
index 66848d47c88e993c2c04d328699e94249c5bad61..d542b01eb0409d8677c212e2f13838c9394ab4c9 100644 (file)
@@ -81,6 +81,12 @@ enum carl9170fw_feature_list {
        /* Firmware will pass BA when BARs are queued */
        CARL9170FW_RX_BA_FILTER,
 
+       /* Firmware has support to write a byte at a time  */
+       CARL9170FW_HAS_WREGB_CMD,
+
+       /* Pattern generator */
+       CARL9170FW_PATTERN_GENERATOR,
+
        /* KEEP LAST */
        __CARL9170FW_FEATURE_NUM
 };
@@ -92,6 +98,7 @@ enum carl9170fw_feature_list {
 #define CHK_MAGIC      "CHK\0"
 #define TXSQ_MAGIC     "TXSQ"
 #define WOL_MAGIC      "WOL\0"
+#define PATTERN_MAGIC  "RDR\0"
 #define LAST_MAGIC     "LAST"
 
 #define CARL9170FW_SET_DAY(d) (((d) - 1) % 31)
@@ -176,6 +183,24 @@ struct carl9170fw_dbg_desc {
 #define CARL9170FW_DBG_DESC_SIZE                       \
        (sizeof(struct carl9170fw_dbg_desc))
 
+#define CARL9170FW_PATTERN_MAP_NAME_LEN                        15
+struct carl9170fw_pattern_map_entry {
+       u8 index;
+       char name[CARL9170FW_PATTERN_MAP_NAME_LEN];
+} __packed;
+
+#define CARL9170FW_PATTERN_DESC_MIN_VER                        1
+#define CARL9170FW_PATTERN_DESC_CUR_VER                        1
+struct carl9170fw_pattern_desc {
+       struct carl9170fw_desc_head head;
+
+       __le32 soft_pattern;
+       __le32 num_patterns;
+       struct carl9170fw_pattern_map_entry patterns[0];
+} __packed;
+#define CARL9170FW_PATTERN_DESC_SIZE                   \
+       (sizeof(struct carl9170fw_pattern_desc))
+
 #define CARL9170FW_CHK_DESC_MIN_VER                    1
 #define CARL9170FW_CHK_DESC_CUR_VER                    2
 struct carl9170fw_chk_desc {