X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=include%2Fshared%2Ffwdesc.h;h=2bd4320845301117f50dfed19f48e8f31de460e5;hp=c079b3371e13c7759d315530826fdb9ff5408b89;hb=e564cc9baf478b5a44ff730f7583e61fbe3a3f3a;hpb=e72388a0aa23da8bc8e24a0cbe9d523c5a9ce294 diff --git a/include/shared/fwdesc.h b/include/shared/fwdesc.h index c079b33..2bd4320 100644 --- a/include/shared/fwdesc.h +++ b/include/shared/fwdesc.h @@ -25,6 +25,24 @@ enum carl9170fw_feature_list { /* Always set */ CARL9170FW_DUMMY_FEATURE, + /* + * Indicates that this image has special boot block which prevents + * legacy drivers to drive the firmware. + */ + CARL9170FW_MINIBOOT, + + /* usb registers are initialized by the firmware */ + CARL9170FW_USB_INIT_FIRMWARE, + + /* command traps & notifications are send through EP2 */ + CARL9170FW_USB_RESP_EP2, + + /* usb download (app -> fw) stream */ + CARL9170FW_USB_DOWN_STREAM, + + /* usb upload (fw -> app) stream */ + CARL9170FW_USB_UP_STREAM, + /* unusable - reserved to flag non-functional debug firmwares */ CARL9170FW_UNUSABLE, @@ -50,37 +68,7 @@ enum carl9170fw_feature_list { __CARL9170FW_FEATURE_NUM }; -enum carl9170fw_usb_feature_list { - /* Always set */ - CARL9170FW_USB_DUMMY_FEATURE, - - /* - * Indicates that this image has special boot block which prevents - * legacy drivers to drive the firmware. - */ - CARL9170FW_USB_MINIBOOT, - - /* usb registers are initialized by the firmware */ - CARL9170FW_USB_INIT_FIRMWARE, - - /* command traps & notifications are send through EP2 */ - CARL9170FW_USB_RESP_EP2, - - /* usb download (app -> fw) stream */ - CARL9170FW_USB_DOWN_STREAM, - - /* usb upload (fw -> app) stream */ - CARL9170FW_USB_UP_STREAM, - - /* USB Watchdog */ - CARL9170FW_USB_WATCHDOG, - - /* KEEP LAST */ - __CARL9170FW_USB_FEATURE_NUM -}; - #define OTUS_MAGIC "OTAR" -#define USB_MAGIC "USB\0" #define MOTD_MAGIC "MOTD" #define FIX_MAGIC "FIX\0" #define DBG_MAGIC "DBG\0" @@ -104,34 +92,25 @@ struct carl9170fw_desc_head { #define CARL9170FW_DESC_HEAD_SIZE \ (sizeof(struct carl9170fw_desc_head)) -#define CARL9170FW_OTUS_DESC_MIN_VER 2 -#define CARL9170FW_OTUS_DESC_CUR_VER 2 +#define CARL9170FW_OTUS_DESC_MIN_VER 5 +#define CARL9170FW_OTUS_DESC_CUR_VER 5 struct carl9170fw_otus_desc { struct carl9170fw_desc_head head; - __le32 fw_feature_set; + __le32 feature_set; + __le32 fw_address; __le32 bcn_addr; __le16 bcn_len; + __le16 miniboot_size; + __le16 tx_frag_len; + __le16 rx_max_frame_len; + u8 tx_descs; + u8 cmd_bufs; u8 api_ver; u8 vif_num; } __packed; #define CARL9170FW_OTUS_DESC_SIZE \ (sizeof(struct carl9170fw_otus_desc)) -#define CARL9170FW_USB_DESC_MIN_VER 2 -#define CARL9170FW_USB_DESC_CUR_VER 2 -struct carl9170fw_usb_desc { - struct carl9170fw_desc_head head; - __le32 usb_feature_set; - __le32 fw_address; - __le16 tx_frag_len; - __le16 rx_max_frame_len; - __le16 miniboot_size; - u8 tx_descs; - u8 free; -} __packed; -#define CARL9170FW_USB_DESC_SIZE \ - (sizeof(struct carl9170fw_usb_desc)) - #define CARL9170FW_MOTD_STRING_LEN 24 #define CARL9170FW_MOTD_RELEASE_LEN 20 #define CARL9170FW_MOTD_DESC_MIN_VER 1