X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Fsrc%2Ffw.c;h=7ba152e7bea8004b911bf704c17d5c274da0d576;hb=f99b6fd51bf8429eaad357ac9c7149a92f719628;hp=9ec963b508727f05ae484e9800fc75a589b34a6a;hpb=c48e2d095d50c9aea409c3171ed1f183fe906ea6;p=carl9170fw.git diff --git a/carlfw/src/fw.c b/carlfw/src/fw.c index 9ec963b..7ba152e 100644 --- a/carlfw/src/fw.c +++ b/carlfw/src/fw.c @@ -3,7 +3,7 @@ * * Firmware descriptor * - * Copyright 2009, 2010 Christian Lamparter + * Copyright 2009-2011 Christian Lamparter * * 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 @@ -16,8 +16,7 @@ * 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 . */ #include "carl9170.h" #include "fwdsc.h" @@ -31,42 +30,41 @@ 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) | -#ifdef CONFIG_CARL9170FW_USB_INIT_FIRMWARE + 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_HAS_WREGB_CMD) | +#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_HANDLE_BACK_REQ - BIT(CARL9170FW_HANDLE_BACK_REQ) | -#endif /* CONFIG_CARL9170FW_HANDLE_BACK_REQ */ #ifdef CONFIG_CARL9170FW_UNUSABLE BIT(CARL9170FW_UNUSABLE) | #endif /* CONFIG_CARL9170FW_UNUSABLE */ #ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT BIT(CARL9170FW_GPIO_INTERRUPT) | #endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */ -#ifdef CONFIG_CARL9170FW_PSM - BIT(CARL9170FW_PSM) | -#endif /* CONFIG_CARL9170FW_PSM */ - BIT(CARL9170FW_RX_FILTER) | - (0)), +#ifdef CONFIG_CARL9170FW_WOL + BIT(CARL9170FW_WOL) | +#endif /* CONFIG_CARL9170FW_WOL */ + (0)), .miniboot_size = cpu_to_le16(0), .tx_descs = AR9170_TX_BLOCK_NUMBER, @@ -80,6 +78,18 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = { .api_ver = CONFIG_CARL9170FW_RELEASE_VERSION, ), + FILL(txsq, TXSQ, + .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) + @@ -89,10 +99,10 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = { .release = CARL9170FW_VERSION_GIT), 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), ),