carl9170 toolchain: update to gcc 6.2.0 and binutils 2.27
[carl9170fw.git] / carlfw / src / fw.c
index bebb39e73d84e3bf6f1d4b2f560eda6f3eb8de30..85a03fed99234b4275e7c661fc14148c97c80829 100644 (file)
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 #include "carl9170.h"
 #include "fwdsc.h"
+#include "pattern_generator.h"
 
 #define FILL(small, big, more...)                                      \
        .small = {                                                      \
@@ -31,7 +31,7 @@
                more                                                    \
        }
 
-const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
+const struct carl9170_firmware_descriptor __in_section(fwdsc) __visible carl9170fw_desc = {
        FILL(otus, OTUS,
             .feature_set = cpu_to_le32(BIT(CARL9170FW_DUMMY_FEATURE) |
                                        BIT(CARL9170FW_USB_RESP_EP2) |
@@ -40,6 +40,7 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
                                        BIT(CARL9170FW_HW_COUNTERS) |
                                        BIT(CARL9170FW_RX_BA_FILTER) |
                                        BIT(CARL9170FW_USB_INIT_FIRMWARE) |
+                                       BIT(CARL9170FW_HAS_WREGB_CMD) |
 #ifdef CONFIG_CARL9170FW_USB_UP_STREAM
                                        BIT(CARL9170FW_USB_UP_STREAM) |
 #endif /* CONFIG_CARL9170FW_USB_UP_STREAM */
@@ -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,9 +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 */
+#if defined(CONFIG_CARL9170FW_PATTERN_GENERATOR)
+                                       BIT(CARL9170FW_PATTERN_GENERATOR) |
+#endif /* CONFIG_CARL9170FW_PATTERN_GENERATOR */
                                        (0)),
 
             .miniboot_size = cpu_to_le16(0),
@@ -102,12 +101,11 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
             .desc = "Community AR9170 Linux",
             .release = CARL9170FW_VERSION_GIT),
 
-
-#ifdef CONFIG_CARL9170FW_RADAR
-       FILL(radar, RADAR,
-            .soft_radar = cpu_to_le32(&fw.wlan.soft_radar),
-            .num_radars = __CARL9170FW_NUM_RADARS,
-            .radars = { /* filled by the fwprepare tool */ },
+#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 */