carl9170: rename radar pattern generator into pattern generator
[carl9170fw.git] / carlfw / src / fw.c
index 94c52d1207979ee2b2c83a34781d82b7e0e8af3e..a98b735086bfaeeab18e8b43f48e19992098dda1 100644 (file)
@@ -21,6 +21,7 @@
  */
 #include "carl9170.h"
 #include "fwdsc.h"
+#include "pattern_generator.h"
 
 #define FILL(small, big, more...)                                      \
        .small = {                                                      \
                more                                                    \
        }
 
-const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
+const struct carl9170_firmware_descriptor __section(fwdsc) __visible carl9170fw_desc = {
        FILL(otus, OTUS,
             .feature_set = cpu_to_le32(BIT(CARL9170FW_DUMMY_FEATURE) |
                                        BIT(CARL9170FW_USB_RESP_EP2) |
                                        BIT(CARL9170FW_HANDLE_BACK_REQ) |
                                        BIT(CARL9170FW_RX_FILTER) |
-#ifdef CONFIG_CARL9170FW_USB_INIT_FIRMWARE
+                                       BIT(CARL9170FW_HW_COUNTERS) |
+                                       BIT(CARL9170FW_RX_BA_FILTER) |
                                        BIT(CARL9170FW_USB_INIT_FIRMWARE) |
-# ifdef CONFIG_CARL9170FW_USB_UP_STREAM
+#ifdef CONFIG_CARL9170FW_USB_UP_STREAM
                                        BIT(CARL9170FW_USB_UP_STREAM) |
-# endif /* CONFIG_CARL9170FW_USB_UP_STREAM */
-# ifdef CONFIG_CARL9170FW_USB_DOWN_STREAM
+#endif /* CONFIG_CARL9170FW_USB_UP_STREAM */
+#ifdef CONFIG_CARL9170FW_USB_DOWN_STREAM
                                        BIT(CARL9170FW_USB_DOWN_STREAM) |
-# endif /* CONFIG_CARL9170FW_USB_DOWN_STREAM */
-#endif /* CONFIG_CARL9170FW_USB_INIT_FIRMWARE */
+#endif /* CONFIG_CARL9170FW_USB_DOWN_STREAM */
 #ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS
                                        BIT(CARL9170FW_COMMAND_PHY) |
                                        BIT(CARL9170FW_PSM) |
+                                       BIT(CARL9170FW_FIXED_5GHZ_PSM) |
 #endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */
 #ifdef CONFIG_CARL9170FW_SECURITY_ENGINE
                                        BIT(CARL9170FW_COMMAND_CAM) |
 #endif /* CONFIG_CARL9170FW_SECURITY_ENGINE */
-#ifdef CONFIG_CARL9170FW_CAB_QUEUE
                                        BIT(CARL9170FW_WLANTX_CAB) |
-#endif /* CONFIG_CARL9170FW_CAB_QUEUE */
 #ifdef CONFIG_CARL9170FW_UNUSABLE
                                        BIT(CARL9170FW_UNUSABLE) |
 #endif /* CONFIG_CARL9170FW_UNUSABLE */
@@ -65,6 +65,9 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
 #ifdef CONFIG_CARL9170FW_WOL
                                        BIT(CARL9170FW_WOL) |
 #endif /* CONFIG_CARL9170FW_WOL */
+#if defined(CONFIG_CARL9170FW_PATTERN_GENERATOR)
+                                       BIT(CARL9170FW_PATTERN_GENERATOR) |
+#endif /* CONFIG_CARL9170FW_PATTERN_GENERATOR */
                                        (0)),
 
             .miniboot_size = cpu_to_le16(0),
@@ -83,6 +86,13 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
             .seq_table_addr = cpu_to_le32(&fw.wlan.sequence),
        ),
 
+#ifdef CONFIG_CARL9170FW_WOL
+       FILL(wol, WOL,
+            .supported_triggers = BIT(CARL9170_WOL_DISCONNECT) |
+                                  BIT(CARL9170_WOL_MAGIC_PKT),
+       ),
+#endif /* CONFIG_CARL9170FW_WOL */
+
        FILL(motd, MOTD,
             .fw_year_month_day = cpu_to_le32(
                        CARL9170FW_SET_DAY(CARL9170FW_VERSION_DAY) +
@@ -91,11 +101,19 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
             .desc = "Community AR9170 Linux",
             .release = CARL9170FW_VERSION_GIT),
 
+#if defined(CONFIG_CARL9170FW_PATTERN_GENERATOR)
+       FILL(pattern, PATTERN,
+            .soft_pattern = cpu_to_le32(&fw.wlan.soft_pattern),
+            .num_patterns = __CARL9170FW_NUM_PATTERNS,
+            .patterns = { /* filled by the fwprepare tool */ },
+       ),
+#endif /* CONFIG_CARL9170FW_RADAR */
+
        FILL(dbg, DBG,
             .bogoclock_addr = cpu_to_le32(0),
             .counter_addr = cpu_to_le32(&fw.counter),
-            .rx_total_addr = cpu_to_le32(&fw.wlan.rx_total),
-            .rx_overrun_addr = cpu_to_le32(&fw.wlan.rx_overruns),
+            .rx_total_addr = cpu_to_le32(0),
+            .rx_overrun_addr = cpu_to_le32(0),
             .rx_filter = cpu_to_le32(&fw.wlan.rx_filter),
        ),