X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Fsrc%2Ffw.c;h=a04e9639df8fc426821ccebecdbdc7ce5aaf2c7a;hb=dc6f07cd80678ff56077ce7d9b2d1bbded6caa2b;hp=fe59db56c6a148c701ee842164560f63b62e1c22;hpb=728210b58b90a703f7f00fc21f8abaef610208a7;p=carl9170fw.git diff --git a/carlfw/src/fw.c b/carlfw/src/fw.c index fe59db5..a04e963 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 @@ -31,44 +31,40 @@ 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 +#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 */ -#ifdef CONFIG_CARL9170FW_USB_WATCHDOG - BIT(CARL9170FW_USB_WATCHDOG) | -#endif /* CONFIG_CARL9170FW_USB_WATCHDOG */ +#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 - (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, @@ -82,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) + @@ -91,10 +99,11 @@ 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), ), FILL(last, LAST),