carl9170 firmware: reorganize pattern generator
[carl9170fw.git] / carlfw / src / fw.c
index 5bde67505e2b0250003382d24dfb2a8afdc2179b..a999e2d4a059eede39e7f59f71b10ce85619d7ff 100644 (file)
@@ -21,6 +21,7 @@
  */
 #include "carl9170.h"
 #include "fwdsc.h"
+#include "pattern_generator.h"
 
 #define FILL(small, big, more...)                                      \
        .small = {                                                      \
@@ -31,7 +32,7 @@
                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) |
@@ -54,9 +55,7 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
 #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 */
@@ -66,6 +65,9 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
 #ifdef CONFIG_CARL9170FW_WOL
                                        BIT(CARL9170FW_WOL) |
 #endif /* CONFIG_CARL9170FW_WOL */
+#ifdef CONFIG_CARL9170FW_RADAR
+                                       BIT(CARL9170FW_RADAR_PATTERN_GENERATOR) |
+#endif /* CONFIG_CARL9170FW_RADAR */
                                        (0)),
 
             .miniboot_size = cpu_to_le16(0),
@@ -91,7 +93,6 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
        ),
 #endif /* CONFIG_CARL9170FW_WOL */
 
-
        FILL(motd, MOTD,
             .fw_year_month_day = cpu_to_le32(
                        CARL9170FW_SET_DAY(CARL9170FW_VERSION_DAY) +
@@ -100,6 +101,15 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
             .desc = "Community AR9170 Linux",
             .release = CARL9170FW_VERSION_GIT),
 
+
+#if defined(CARL9170FW_PATTERN_GENERATOR)
+       FILL(radar, RADAR,
+            .soft_radar = cpu_to_le32(&fw.wlan.soft_radar),
+            .num_radars = __CARL9170FW_NUM_RADARS,
+            .radars = { /* 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),