*
* Firmware descriptor
*
- * Copyright 2009, 2010 Christian Lamparter <chunkeey@googlemail.com>
+ * Copyright 2009-2011 Christian Lamparter <chunkeey@googlemail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
more \
}
-const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
+const struct carl9170_firmware_descriptor __section(fwdsc) __visible carl9170fw_desc = {
FILL(otus, OTUS,
- .fw_feature_set = cpu_to_le32(BIT(CARL9170FW_DUMMY_FEATURE) |
+ .feature_set = cpu_to_le32(BIT(CARL9170FW_DUMMY_FEATURE) |
+ BIT(CARL9170FW_USB_RESP_EP2) |
+ BIT(CARL9170FW_HANDLE_BACK_REQ) |
+ BIT(CARL9170FW_RX_FILTER) |
+ BIT(CARL9170FW_HW_COUNTERS) |
+ BIT(CARL9170FW_RX_BA_FILTER) |
+ BIT(CARL9170FW_USB_INIT_FIRMWARE) |
+#ifdef CONFIG_CARL9170FW_USB_UP_STREAM
+ BIT(CARL9170FW_USB_UP_STREAM) |
+#endif /* CONFIG_CARL9170FW_USB_UP_STREAM */
+#ifdef CONFIG_CARL9170FW_USB_DOWN_STREAM
+ BIT(CARL9170FW_USB_DOWN_STREAM) |
+#endif /* CONFIG_CARL9170FW_USB_DOWN_STREAM */
#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS
- BIT(CARL9170FW_COMMAND_PHY) |
+ 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) |
+ BIT(CARL9170FW_COMMAND_CAM) |
#endif /* CONFIG_CARL9170FW_SECURITY_ENGINE */
#ifdef CONFIG_CARL9170FW_CAB_QUEUE
- BIT(CARL9170FW_WLANTX_CAB) |
+ BIT(CARL9170FW_WLANTX_CAB) |
#endif /* CONFIG_CARL9170FW_CAB_QUEUE */
-#ifdef CONFIG_CARL9170FW_HANDLE_BACK_REQ
- BIT(CARL9170FW_HANDLE_BACK_REQ) |
-#endif /* CONFIG_CARL9170FW_HANDLE_BACK_REQ */
#ifdef CONFIG_CARL9170FW_UNUSABLE
- BIT(CARL9170FW_UNUSABLE) |
+ BIT(CARL9170FW_UNUSABLE) |
#endif /* CONFIG_CARL9170FW_UNUSABLE */
#ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT
- BIT(CARL9170FW_GPIO_INTERRUPT) |
+ BIT(CARL9170FW_GPIO_INTERRUPT) |
#endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */
-#ifdef CONFIG_CARL9170FW_PSM
- BIT(CARL9170FW_PSM) |
-#endif
- (0)),
+#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),
+ .tx_descs = AR9170_TX_BLOCK_NUMBER,
+ .cmd_bufs = CARL9170_INT_RQ_CACHES,
+ .rx_max_frame_len = cpu_to_le16(CONFIG_CARL9170FW_RX_FRAME_LEN),
+ .tx_frag_len = cpu_to_le16(AR9170_BLOCK_SIZE),
+ .fw_address = cpu_to_le32(AR9170_PRAM_OFFSET),
.bcn_addr = (__le32) cpu_to_le32(&dma_mem.reserved.bcn),
.bcn_len = (__le16) cpu_to_le16(sizeof(dma_mem.reserved.bcn)),
.vif_num = CARL9170_INTF_NUM,
.api_ver = CONFIG_CARL9170FW_RELEASE_VERSION,
),
- FILL(usb, USB,
- .usb_feature_set = cpu_to_le32(BIT(CARL9170FW_USB_DUMMY_FEATURE) |
- BIT(CARL9170FW_USB_RESP_EP2) |
-#ifdef CONFIG_CARL9170FW_USB_INIT_FIRMWARE
- BIT(CARL9170FW_USB_INIT_FIRMWARE) |
-# ifdef CONFIG_CARL9170FW_USB_UP_STREAM
- BIT(CARL9170FW_USB_UP_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 */
-#ifdef CONFIG_CARL9170FW_USB_WATCHDOG
- BIT(CARL9170FW_USB_WATCHDOG) |
-#endif /* CONFIG_CARL9170FW_USB_WATCHDOG */
- (0)),
+ FILL(txsq, TXSQ,
+ .seq_table_addr = cpu_to_le32(&fw.wlan.sequence),
+ ),
- .miniboot_size = cpu_to_le16(0),
- .tx_descs = AR9170_TX_BLOCK_NUMBER,
- .rx_max_frame_len = cpu_to_le16(CONFIG_CARL9170FW_RX_FRAME_LEN),
- .tx_frag_len = cpu_to_le16(AR9170_BLOCK_SIZE),
- .fw_address = cpu_to_le32(AR9170_PRAM_OFFSET),
+#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(
.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 */ },
+ ),
+#endif /* CONFIG_CARL9170FW_RADAR */
+
FILL(dbg, DBG,
- .bogoclock_addr = cpu_to_le32(&fw.bogoclock),
+ .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),
),
FILL(last, LAST),