From 0da3933a3524afd77694c1663836f37b9b5a6fcd Mon Sep 17 00:00:00 2001 From: Steven Stallion Date: Wed, 17 Jun 2020 15:27:09 -0500 Subject: [PATCH 1/6] Track Report ID presence in report descriptors --- Class/HID/usbh_hid.h | 1 + Class/HID/usbh_hidparser.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Class/HID/usbh_hid.h b/Class/HID/usbh_hid.h index 0a61d12..23ac0d4 100644 --- a/Class/HID/usbh_hid.h +++ b/Class/HID/usbh_hid.h @@ -522,6 +522,7 @@ typedef struct usbh_hid_dev { CPU_INT08U NbrAppColl; /* Nbr of app coll in main item. */ USBH_HID_APP_COLL AppColl[USBH_HID_CFG_MAX_NBR_APP_COLL];/* App coll in main item. */ CPU_INT08U NbrReportID; /* Tot nbr of report ID. */ + CPU_BOOLEAN IsReportID_Present; /* Indicate if report ID tag is present. */ /* Report ID of all colls. */ USBH_HID_REPORT_ID ReportID[USBH_HID_CFG_MAX_NBR_REPORT_ID]; diff --git a/Class/HID/usbh_hidparser.c b/Class/HID/usbh_hidparser.c index b0b48ec..cabc1a6 100644 --- a/Class/HID/usbh_hidparser.c +++ b/Class/HID/usbh_hidparser.c @@ -1038,6 +1038,9 @@ static USBH_ERR USBH_HID_AddReport (USBH_HID_DEV *p_hid_dev, /* ----------------- INITIALIZE REPORT ---------------- */ USBH_HID_InitReport(p_parser, p_report_new); + if (p_report_new->ReportID != 0u) { + p_hid_dev->IsReportID_Present = DEF_TRUE; + } /* ------------------ VALIDATE REPORT ----------------- */ err = USBH_HID_ValidateReport(p_report_new); From 7f3556c84e085a423f2172cdbf4ef65dfbf43530 Mon Sep 17 00:00:00 2001 From: Sharbel Bousemaan <11131070+forg0ne@users.noreply.github.com> Date: Wed, 1 Jul 2020 20:17:36 -0400 Subject: [PATCH 2/6] Added APACHE-2.0 License Text. --- LICENSE | 202 ++++++++++++++++++++++++++++++++++++++++++ license.txt => NOTICE | 13 ++- 2 files changed, 208 insertions(+), 7 deletions(-) create mode 100644 LICENSE rename license.txt => NOTICE (95%) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/license.txt b/NOTICE similarity index 95% rename from license.txt rename to NOTICE index 4242d40..e8cacd2 100644 --- a/license.txt +++ b/NOTICE @@ -1,5 +1,5 @@ ATTENTION ALL USERS OF THIS REPOSITORY: - + The original work found in this repository is provided by Silicon Labs under the Apache License, Version 2.0. @@ -8,7 +8,7 @@ modifications are clearly identified as being licensed under: (1) the Apache License, Version 2.0 or a compatible open source license; or (2) under a proprietary license with a copy of such license deposited. - + All posted derivative works must clearly identify which license choice has been elected. @@ -17,13 +17,12 @@ the Apache License, Version 2.0. SILICON LABS MAKES NO WARRANTY WITH RESPECT TO ALL POSTED THIRD PARTY CONTENT AND DISCLAIMS ALL OTHER WARRANTIES OR LIABILITIES, INCLUDING ALL WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OWNERSHIP, +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OWNERSHIP, NON-INFRINGEMENT, AND NON-MISAPPROPRIATION. - + In the event a derivative work is desired to be submitted to Silicon Labs as a -“Contribution” under the Apache License, Version 2.0, a “Contributor” must give +“Contribution” under the Apache License, Version 2.0, a “Contributor” must give written email notice to micrium@weston-embedded.com. Unless an email response in -the affirmative to accept the derivative work as a “Contribution”, such email +the affirmative to accept the derivative work as a “Contribution”, such email submission should be considered to have not been incorporated into the original work. - From fe043516d3a787b86ee1f4f7ebaf32f48a822fc9 Mon Sep 17 00:00:00 2001 From: Steven Stallion Date: Wed, 16 Sep 2020 13:53:34 -0500 Subject: [PATCH 3/6] Fix race condition in USBH_HC_Stop --- Source/usbh_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/usbh_core.c b/Source/usbh_core.c index e71e5dc..41e1a34 100644 --- a/Source/usbh_core.c +++ b/Source/usbh_core.c @@ -747,8 +747,8 @@ USBH_ERR USBH_HC_Stop (CPU_INT08U hc_nbr) p_hc = &USBH_Host.HC_Tbl[hc_nbr]; p_rh_dev = p_hc->HC_Drv.RH_DevPtr; - USBH_DevDisconn(p_rh_dev); /* Disconn RH dev. */ USBH_HCD_Stop(p_hc, &err); + USBH_DevDisconn(p_rh_dev); /* Disconn RH dev. */ return (err); } From 21f4b0482903a0a8b6dcecbdc92c0b3433e2efbd Mon Sep 17 00:00:00 2001 From: Janos Magasrevy <75690572+wes-jmagasrevy@users.noreply.github.com> Date: Tue, 11 May 2021 22:43:06 -0400 Subject: [PATCH 4/6] Improved SPLIT Periodic Endpoints --- HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c | 243 +++++++++++++++++++++------ HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h | 3 + 2 files changed, 190 insertions(+), 56 deletions(-) diff --git a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c index d5ee21c..2bbbb67 100644 --- a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c +++ b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c @@ -26,8 +26,11 @@ * Note(s) : (1) With an appropriate BSP, this host driver will support the OTG_FS host module on the * STMicroelectronics STM32F7xx MCUs, this applies to the following: * -* STM32F74xxx series. -* STM32F75xxx series. +* STM32F20xx series. +* STM32F21xx series. +* STM32F4xxx series. +* STM32F74xx series. +* STM32F75xx series. * * (2) Driver DOES NOT support Isochronous Endpoints. ********************************************************************************************************* @@ -433,17 +436,21 @@ typedef struct usbh_dwcotghs_reg { ********************************************************************************************************* */ -typedef struct usbh_dwcotghs_ch_info { - CPU_INT16U EP_Addr; /* Device addr | EP DIR | EP NBR. */ - CPU_INT08U EP_TxErrCnt; +typedef struct usbh_dwcotghs_ch_info USBH_DWCOTGHS_CH_INFO; + +struct usbh_dwcotghs_ch_info { + CPU_INT16U EP_Addr; /* Device addr | EP DIR | EP NBR. */ + CPU_INT08U EP_TxErrCnt; /* To ensure the URB EP xfer size is not corrupted ... */ - CPU_INT32U AppBufLen; /* ... for multi-transaction transfer */ - USBH_URB *URB_Ptr; - CPU_BOOLEAN DoSplit; /* Configure EP split transactions */ - CPU_INT32U NextXferLen; - USBH_HTMR Tmr; - CPU_INT32U CSPLITCnt; -} USBH_DWCOTGHS_CH_INFO; + CPU_INT32U AppBufLen; /* ... for multi-transaction transfer */ + USBH_URB *URB_Ptr; + CPU_BOOLEAN DoSplit; /* Configure EP split transactions */ + CPU_INT32U NextXferLen; + USBH_HTMR Tmr; + CPU_INT32U CSPLITCnt; /* Used for keeping track of when CSPLIT will be sent */ + CPU_INT32U SSPLITCnt; /* Used for keeping track of when SSPLIT has been sent */ + USBH_DWCOTGHS_CH_INFO *NextPtr; /* Used for Periodic EP linked list to service CSPLITs */ +}; typedef struct usbh_drv_data { @@ -454,8 +461,8 @@ typedef struct usbh_drv_data { CPU_INT16U RH_PortStat; /* Root Hub Port status. */ CPU_INT16U RH_PortChng; /* Root Hub Port status change. */ CPU_INT32U SavedGINTMSK; /* Saved masked/unmasked int state in case of... */ - CPU_INT32U CSPLITChBmp; - CPU_INT32U SOFCtr; /* Start of frame counter. */ + CPU_INT32U CSPLITChBmp; /* Used for CSPLITs of bulk/setup EP that need handling */ + CPU_INT32U SOFCtr; /* Start of frame counter. */ MEM_POOL DrvMemPool; /* Pool for mem mgmt to keep alignment at the drv level.*/ } USBH_DRV_DATA; @@ -466,9 +473,12 @@ typedef struct usbh_drv_data { ********************************************************************************************************* */ -static volatile USBH_HQUEUE DWCOTGHS_URB_Proc_Q; -static USBH_URB DWCOTGHS_Q_UrbEp[DWCOTGHS_URB_PROC_Q_MAX]; -static CPU_STK DWCOTGHS_URB_ProcTaskStk[DWCOTGHS_URB_PROC_TASK_STK_SIZE]; +static volatile USBH_HQUEUE DWCOTGHS_URB_Proc_Q; +static USBH_URB DWCOTGHS_Q_UrbEp[DWCOTGHS_URB_PROC_Q_MAX]; +static CPU_STK DWCOTGHS_URB_ProcTaskStk[DWCOTGHS_URB_PROC_TASK_STK_SIZE]; + +static volatile USBH_DWCOTGHS_CH_INFO *PER_CSplit_HeadPtr; +static volatile USBH_DWCOTGHS_CH_INFO *PER_CSplit_TailPtr; /* @@ -613,6 +623,7 @@ static void DWCOTGHS_ChXferStart (USBH_DWCOTGHS_REG *p_reg, USBH_ERR *p_err); static void DWCOTGHS_ChEnable (USBH_DWCOTGHS_HOST_CH_REG *p_ch_reg, + USBH_DWCOTGHS_CH_INFO *p_ch_info, USBH_URB *p_urb); static CPU_INT08U DWCOTGHS_GetChNbr (USBH_DRV_DATA *p_drv_data, @@ -727,6 +738,10 @@ static void USBH_DWCOTGHS_HCD_Init (USBH_HC_DRV *p_hc_drv, *p_err = USBH_ERR_ALLOC; return; } + /* Initialize Link list for Periodic CSPLIT endpoints */ + PER_CSplit_HeadPtr = (USBH_DWCOTGHS_CH_INFO *)0; + PER_CSplit_TailPtr = (USBH_DWCOTGHS_CH_INFO *)0; + /* Create Mem pool area to be used for DMA alignment */ Mem_PoolCreate(&p_drv_data->DrvMemPool, DEF_NULL, @@ -949,6 +964,7 @@ static void USBH_DWCOTGHS_HCD_StartHandler (USBH_HC_DRV *p_hc_drv, p_drv_data->ChInfoTbl[i].EP_Addr = DWCOTGHS_DFLT_EP_ADDR; p_drv_data->ChInfoTbl[i].DoSplit = DEF_NO; p_drv_data->ChInfoTbl[i].CSPLITCnt = 0u; + p_drv_data->ChInfoTbl[i].SSPLITCnt = 0u; } /* --------------- ENABLE VBUS DRIVING ---------------- */ @@ -1274,6 +1290,7 @@ static void USBH_DWCOTGHS_HCD_EP_Close (USBH_HC_DRV *p_hc_drv, p_drv_data->ChInfoTbl[ch_nbr].DoSplit = DEF_NO; p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = 0u; + p_drv_data->ChInfoTbl[ch_nbr].SSPLITCnt = 0u; p_drv_data->ChInfoTbl[ch_nbr].EP_Addr = DWCOTGHS_DFLT_EP_ADDR; DEF_BIT_CLR(p_drv_data->ChUsed, DEF_BIT(ch_nbr)); } @@ -1613,6 +1630,7 @@ static void USBH_DWCOTGHS_HCD_URB_Complete (USBH_HC_DRV *p_hc_drv, p_drv_data->ChInfoTbl[ch_nbr].DoSplit = DEF_NO; p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = 0u; + p_drv_data->ChInfoTbl[ch_nbr].SSPLITCnt = 0u; p_drv_data->ChInfoTbl[ch_nbr].EP_Addr = DWCOTGHS_DFLT_EP_ADDR; DEF_BIT_CLR(p_drv_data->ChUsed, DEF_BIT(ch_nbr)); } @@ -2223,13 +2241,15 @@ static CPU_BOOLEAN USBH_DWCOTGHS_HCD_RHSC_IntDis (USBH_HC_DRV *p_hc_drv) static void DWCOTGHS_ISR_Handler (void *p_drv) { - USBH_DWCOTGHS_REG *p_reg; - USBH_DRV_DATA *p_drv_data; - USBH_HC_DRV *p_hc_drv; - CPU_INT16U ch_nbr; - CPU_INT32U ch_int; - CPU_INT32U gintsts_reg; - CPU_INT32U reg_val; + USBH_DWCOTGHS_REG *p_reg; + USBH_DRV_DATA *p_drv_data; + USBH_HC_DRV *p_hc_drv; + CPU_INT16U ch_nbr; + CPU_INT32U ch_int; + CPU_INT32U gintsts_reg; + CPU_INT32U reg_val; + USBH_DWCOTGHS_CH_INFO *p_ch_info; + CPU_SR_ALLOC(); p_hc_drv = (USBH_HC_DRV *)p_drv; @@ -2242,8 +2262,38 @@ static void DWCOTGHS_ISR_Handler (void *p_drv) /* ------------------ START OF FRAME ------------------ */ if (DEF_BIT_IS_SET(gintsts_reg, DWCOTGHS_GINTx_SOF) == DEF_YES) { p_reg->GINTSTS = DWCOTGHS_GINTx_SOF; /* Acknowledge interrupt by a write clear. */ + + /* ----------- INTERRUPT IN CSPLIT HANDLING ----------- */ + while (PER_CSplit_HeadPtr != (USBH_DWCOTGHS_CH_INFO *)0) { /* Check if the Linked list is not empty */ + p_ch_info = (USBH_DWCOTGHS_CH_INFO *)PER_CSplit_HeadPtr; + ch_nbr = DWCOTGHS_GetChNbr(p_drv_data, p_ch_info->URB_Ptr->EP_Ptr); + + if (p_ch_info->CSPLITCnt > 0) { /* Check if current channel needs to send its CSPLIT */ + DEF_BIT_SET(p_reg->HCH[ch_nbr].HCSPLTx, DWCOTGHS_HCSPLTx_COMPLSPLT); + p_ch_info->CSPLITCnt = 0u; + + CPU_CRITICAL_ENTER(); + if (PER_CSplit_HeadPtr == PER_CSplit_TailPtr) { /* Update linked list if there is only 1 entry */ + PER_CSplit_HeadPtr = (USBH_DWCOTGHS_CH_INFO *)0; + PER_CSplit_TailPtr = (USBH_DWCOTGHS_CH_INFO *)0; + + } else { /* Update head pointer to next entry on the linked list */ + PER_CSplit_HeadPtr = PER_CSplit_HeadPtr->NextPtr; + } + CPU_CRITICAL_EXIT(); + + p_reg->HCH[ch_nbr].HCINTx = 0x000007FFu; /* Clear old interrupt conditions for this host channel */ + p_reg->HCH[ch_nbr].HCTSIZx &= ~DWCOTGHS_HCTSIZx_DOPING; /* Bit must be clear to continue NAKs */ + p_reg->HCH[ch_nbr].HCCHARx |= DWCOTGHS_HCCHARx_ODDFRM; /* CSPLIT will be sent during ODDFRAME */ + DWCOTGHS_CH_EN(reg_val, p_reg->HCH[ch_nbr]); + + } else { + break; + } + } + - if (p_drv_data->CSPLITChBmp != DEF_BIT_NONE) { + if (p_drv_data->CSPLITChBmp != DEF_BIT_NONE) { /* ----------- BULK/CONTROL CSPLIT HANDLING ----------- */ ch_int = p_drv_data->CSPLITChBmp; /* Read Complete Split Channel Bitmap */ while (ch_int != DEF_BIT_NONE) { @@ -2260,11 +2310,11 @@ static void DWCOTGHS_ISR_Handler (void *p_drv) } } - p_drv_data->SOFCtr++; - if (p_drv_data->CSPLITChBmp == DEF_BIT_NONE) { + if (p_drv_data->SOFCtr == 0xFFFFFFFF) { p_drv_data->SOFCtr = 0u; - DEF_BIT_CLR(p_reg->GINTMSK, DWCOTGHS_GINTx_SOF); } + + p_drv_data->SOFCtr++; } if (DEF_BIT_IS_SET(gintsts_reg, DWCOTGHS_GINTx_DISCINT) == DEF_YES) { @@ -2514,7 +2564,16 @@ static void DWCOTGHS_ISR_HostChOUT (USBH_DWCOTGHS_REG *p_reg, } } - } else { + } else if (hcint_reg & DWCOTGHS_HCINTx_ACK) { + if (p_ch_info->DoSplit == DEF_YES) { + p_ch_info->EP_TxErrCnt = 0; + DWCOTGHS_ChSplitHandler(p_reg, + p_drv_data, + ch_nbr, + ep_type); + } + + } else if (p_reg->HCH[ch_nbr].HCINTx & DWCOTGHS_HCINTx_NYET) { if (p_ch_info->DoSplit == DEF_YES) { p_ch_info->EP_TxErrCnt = 0; DWCOTGHS_ChSplitHandler(p_reg, @@ -2550,6 +2609,7 @@ static void DWCOTGHS_ISR_HostChOUT (USBH_DWCOTGHS_REG *p_reg, p_reg->HCH[ch_nbr].HCCHARx |= DWCOTGHS_HCCHARx_CHDIS; p_reg->HCH[ch_nbr].HCCHARx |= DWCOTGHS_HCCHARx_CHENA; + p_urb->Err = USBH_ERR_NONE; USBH_URB_Done(p_urb); /* Notify the Core layer about the URB completion */ } else if (hcint_reg & DWCOTGHS_HCINTx_NAK) { @@ -2570,7 +2630,7 @@ static void DWCOTGHS_ISR_HostChOUT (USBH_DWCOTGHS_REG *p_reg, } else if (p_ch_info->DoSplit == DEF_YES) { /* Save next EP DATA PID value */ p_urb->EP_Ptr->DataPID = DWCOTGHS_GET_DPID(p_reg->HCH[ch_nbr].HCTSIZx); - DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], p_urb); + DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], p_ch_info, p_urb); } } } @@ -2642,7 +2702,16 @@ static void DWCOTGHS_ISR_HostChIN (USBH_DWCOTGHS_REG *p_reg, } } - } else { + } else if (hcint_reg & DWCOTGHS_HCINTx_ACK) { + if (p_ch_info->DoSplit == DEF_YES) { + p_ch_info->EP_TxErrCnt = 0; + DWCOTGHS_ChSplitHandler(p_reg, + p_drv_data, + ch_nbr, + ep_type); + } + + } else if (p_reg->HCH[ch_nbr].HCINTx & DWCOTGHS_HCINTx_NYET) { if (p_ch_info->DoSplit == DEF_YES) { p_ch_info->EP_TxErrCnt = 0; DWCOTGHS_ChSplitHandler(p_reg, @@ -2678,6 +2747,7 @@ static void DWCOTGHS_ISR_HostChIN (USBH_DWCOTGHS_REG *p_reg, p_reg->HCH[ch_nbr].HCCHARx |= DWCOTGHS_HCCHARx_CHDIS; p_reg->HCH[ch_nbr].HCCHARx |= DWCOTGHS_HCCHARx_CHENA; + p_urb->Err = USBH_ERR_NONE; USBH_URB_Done(p_urb); /* Notify the Core layer about the URB completion */ } else if (hcint_reg & DWCOTGHS_HCINTx_FRMOR) { @@ -2708,7 +2778,7 @@ static void DWCOTGHS_ISR_HostChIN (USBH_DWCOTGHS_REG *p_reg, } else if (p_ch_info->DoSplit == DEF_YES) { /* Save next EP DATA PID value */ p_urb->EP_Ptr->DataPID = DWCOTGHS_GET_DPID(p_reg->HCH[ch_nbr].HCTSIZx); - DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], p_urb); + DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], p_ch_info, p_urb); } } } @@ -2739,45 +2809,66 @@ static void DWCOTGHS_ChSplitHandler (USBH_DWCOTGHS_REG *p_reg, CPU_INT08U ch_nbr, CPU_INT08U ep_type) { - CPU_INT32U reg_val; + USBH_DWCOTGHS_CH_INFO *temp_tail; CPU_SR_ALLOC(); if (p_reg->HCH[ch_nbr].HCINTx & DWCOTGHS_HCINTx_NYET) { p_reg->HCH[ch_nbr].HCINTx = DWCOTGHS_HCINTx_NYET; - if (ep_type == USBH_EP_TYPE_INTR) { /* Resend Start SPLIT packet immediately */ - DEF_BIT_CLR(p_reg->HCH[ch_nbr].HCSPLTx, DWCOTGHS_HCSPLTx_COMPLSPLT); - DEF_BIT_CLR(p_drv_data->CSPLITChBmp, DEF_BIT(ch_nbr)); - DWCOTGHS_CH_EN(reg_val, p_reg->HCH[ch_nbr]); + if (ep_type == USBH_EP_TYPE_INTR) { + /* Save next EP DATA PID value */ + p_drv_data->ChInfoTbl[ch_nbr].URB_Ptr->EP_Ptr->DataPID = DWCOTGHS_GET_DPID(p_reg->HCH[ch_nbr].HCTSIZx); + p_drv_data->ChInfoTbl[ch_nbr].URB_Ptr->Err = USBH_OS_MsgQueuePut( DWCOTGHS_URB_Proc_Q, + (void *)p_drv_data->ChInfoTbl[ch_nbr].URB_Ptr); + if (p_drv_data->ChInfoTbl[ch_nbr].URB_Ptr->Err != USBH_ERR_NONE) { + USBH_URB_Done(p_drv_data->ChInfoTbl[ch_nbr].URB_Ptr); /* Notify the Core layer about the URB completion */ + + } else { + p_drv_data->ChInfoTbl[ch_nbr].URB_Ptr->Err = USBH_ERR_EP_NACK; + } } else { /* Resend Complete SPLIT packet for bulk/control EP. */ CPU_CRITICAL_ENTER(); - if (p_drv_data->CSPLITChBmp == 0u) { - DEF_BIT_SET(p_reg->GINTMSK, DWCOTGHS_GINTx_SOF); - } DEF_BIT_SET(p_drv_data->CSPLITChBmp, DEF_BIT(ch_nbr)); - p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = p_drv_data->SOFCtr + 1u; + p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = p_drv_data->SOFCtr + 0u; CPU_CRITICAL_EXIT(); } } else if ((p_reg->HCH[ch_nbr].HCINTx & DWCOTGHS_HCINTx_ACK ) && (DEF_BIT_IS_CLR(p_reg->HCH[ch_nbr].HCSPLTx, DWCOTGHS_HCSPLTx_COMPLSPLT))) { - p_reg->HCH[ch_nbr].HCINTx = DWCOTGHS_HCINTx_ACK; + p_reg->HCH[ch_nbr].HCINTMSKx &= ~DWCOTGHS_HCINTx_ACK; /* Disable ACK interrupt */ + p_reg->HCH[ch_nbr].HCINTx = DWCOTGHS_HCINTx_ACK; /* Clear ACK interrupt */ CPU_CRITICAL_ENTER(); /* Send Complete SPLIT if Start SPLIT was successful */ - if (p_drv_data->CSPLITChBmp == 0u) { - DEF_BIT_SET(p_reg->GINTMSK, DWCOTGHS_GINTx_SOF); - if (ep_type == USBH_EP_TYPE_INTR) { - p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = p_drv_data->SOFCtr + 1u; + + if (ep_type == USBH_EP_TYPE_INTR) { + + if (p_drv_data->SOFCtr > p_drv_data->ChInfoTbl[ch_nbr].SSPLITCnt) { + p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = p_drv_data->SOFCtr + 0u; } else { - p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = p_drv_data->SOFCtr + 5u; + p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = p_drv_data->ChInfoTbl[ch_nbr].SSPLITCnt + 0u; } } else { - p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt += p_drv_data->SOFCtr; + + if (PER_CSplit_HeadPtr != (USBH_DWCOTGHS_CH_INFO *)0) { /* Check if Intr. IN CSPLIT linked list is empty */ + temp_tail = (USBH_DWCOTGHS_CH_INFO *)PER_CSplit_TailPtr; + + if (temp_tail->CSPLITCnt == 0u){ /* Sched. BULK/CTRL CSPLIT after last linked list entry */ + p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = temp_tail->SSPLITCnt + 4; + + } else { + p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = temp_tail->CSPLITCnt + 2; + } + + } else { + p_drv_data->ChInfoTbl[ch_nbr].CSPLITCnt = p_drv_data->SOFCtr + 1u; + } + + DEF_BIT_SET(p_drv_data->CSPLITChBmp, DEF_BIT(ch_nbr)); } - DEF_BIT_SET(p_drv_data->CSPLITChBmp, DEF_BIT(ch_nbr)); + CPU_CRITICAL_EXIT(); } } @@ -2920,6 +3011,7 @@ static void DWCOTGHS_ChXferStart (USBH_DWCOTGHS_REG *p_reg, CPU_INT16U nbr_pkts; CPU_INT16U max_pkt_size; CPU_INT08U is_oddframe; + CPU_INT08U ep_type; CPU_BOOLEAN zlp_flag = DEF_NO; @@ -2927,6 +3019,7 @@ static void DWCOTGHS_ChXferStart (USBH_DWCOTGHS_REG *p_reg, max_pkt_size = USBH_EP_MaxPktSizeGet(p_urb->EP_Ptr); nbr_pkts = 1u; /* used for zero length packet. */ p_ch_info->NextXferLen = p_urb->UserBufLen - p_urb->XferLen; + ep_type = USBH_EP_TypeGet(p_urb->EP_Ptr); *p_err = USBH_ERR_NONE; if (p_urb->UserBufLen == 0) { @@ -2973,7 +3066,18 @@ static void DWCOTGHS_ChXferStart (USBH_DWCOTGHS_REG *p_reg, DEF_BIT_SET(p_reg->HCH[ch_nbr].HCINTMSKx, DWCOTGHS_HCINTx_CHH); p_reg->HCH[ch_nbr].HCDMAx = (CPU_INT32U)p_urb->DMA_BufPtr; - DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], p_urb); + if (ep_type == USBH_EP_TYPE_INTR) { + *p_err = USBH_OS_TmrStart(p_drv_data->ChInfoTbl[ch_nbr].Tmr); + if (*p_err != USBH_ERR_NONE) { + return; + } + } else { + if (p_ch_info->DoSplit == DEF_YES) { + DEF_BIT_SET(p_reg->GINTMSK, DWCOTGHS_GINTx_SOF); + } + + DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], p_ch_info, p_urb); + } } @@ -2983,9 +3087,11 @@ static void DWCOTGHS_ChXferStart (USBH_DWCOTGHS_REG *p_reg, * * Description : Function will clear specific bits before enabling the host channel to start transfer. * -* Argument(s) : p_ch_reg Pointer to DWC OTG HS channel registers structure. +* Argument(s) : p_ch_reg Pointer to DWC OTG HS channel registers structure. * -* p_urb Pointer to URB structure. +* p_ch_info Pointer to host driver channel information data structure. +* +* p_urb Pointer to URB structure. * * Return(s) : None. * @@ -2994,6 +3100,7 @@ static void DWCOTGHS_ChXferStart (USBH_DWCOTGHS_REG *p_reg, */ static void DWCOTGHS_ChEnable (USBH_DWCOTGHS_HOST_CH_REG *p_ch_reg, + USBH_DWCOTGHS_CH_INFO *p_ch_info, USBH_URB *p_urb) { CPU_INT32U reg_val; @@ -3002,6 +3109,10 @@ static void DWCOTGHS_ChEnable (USBH_DWCOTGHS_HOST_CH_REG *p_ch_reg, p_ch_reg->HCINTx = 0x000007FFu; /* Clear old interrupt conditions for this host channel */ p_ch_reg->HCSPLTx &= ~DWCOTGHS_HCSPLTx_COMPLSPLT; /* Bit is only use for split transactions. */ p_ch_reg->HCTSIZx &= ~DWCOTGHS_HCTSIZx_DOPING; /* Bit must be clear to continue NAKs */ + + if (p_ch_info->DoSplit == DEF_YES) { + p_ch_reg->HCINTMSKx |= DWCOTGHS_HCINTx_ACK; /* Enable ACK interrupt */ + } if (p_urb->Token != USBH_TOKEN_IN) { p_ch_reg->HCDMAx = (CPU_INT32U)p_urb->DMA_BufPtr; /* Rewind buffer. */ @@ -3171,7 +3282,8 @@ static void DWCOTGHS_URB_ProcTask (void *p_arg) p_urb->XferLen += (p_drv_data->ChInfoTbl[ch_nbr].NextXferLen - xfer_len); } } - + CPU_CRITICAL_EXIT(); + if (p_urb->Err == USBH_ERR_NONE) { DWCOTGHS_ChXferStart( p_reg, &p_drv_data->ChInfoTbl[ch_nbr], @@ -3179,7 +3291,6 @@ static void DWCOTGHS_URB_ProcTask (void *p_arg) ch_nbr, &p_err); } - CPU_CRITICAL_EXIT(); } } } @@ -3209,6 +3320,7 @@ static void DWCOTGHS_TmrCallback (void *p_tmr, USBH_DRV_DATA *p_drv_data; USBH_DWCOTGHS_REG *p_reg; CPU_INT08U ch_nbr; + CPU_SR_ALLOC(); p_urb = (USBH_URB *)p_arg; @@ -3218,6 +3330,25 @@ static void DWCOTGHS_TmrCallback (void *p_tmr, ch_nbr = DWCOTGHS_GetChNbr(p_drv_data, p_urb->EP_Ptr); if (ch_nbr != DWCOTGHS_INVALID_CH) { /* See Note 1 */ - DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], p_urb); - } + if (p_drv_data->ChInfoTbl[ch_nbr].DoSplit == DEF_YES) { + + p_drv_data->ChInfoTbl[ch_nbr].NextPtr = (USBH_DWCOTGHS_CH_INFO *)0u; + p_drv_data->ChInfoTbl[ch_nbr].SSPLITCnt = p_drv_data->SOFCtr; + + CPU_CRITICAL_ENTER(); + if (PER_CSplit_HeadPtr == (USBH_DWCOTGHS_CH_INFO *)0) { /* Check if linked list is empty */ + PER_CSplit_HeadPtr = &p_drv_data->ChInfoTbl[ch_nbr]; + PER_CSplit_TailPtr = &p_drv_data->ChInfoTbl[ch_nbr]; + + } else { /* Add entry at the end of the linked list */ + PER_CSplit_TailPtr->NextPtr = &p_drv_data->ChInfoTbl[ch_nbr]; + PER_CSplit_TailPtr = &p_drv_data->ChInfoTbl[ch_nbr]; + } + CPU_CRITICAL_EXIT(); + + p_reg->HCH[ch_nbr].HCCHARx |= DWCOTGHS_HCCHARx_ODDFRM; /* Send SSPLIT during and ODDFRAME */ + } + + DWCOTGHS_ChEnable(&p_reg->HCH[ch_nbr], &p_drv_data->ChInfoTbl[ch_nbr], p_urb); + } } diff --git a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h index 245e462..01b0575 100644 --- a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h +++ b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h @@ -75,6 +75,9 @@ * * (2) The following MCUs are supported by USBH_STM32FX_OTG_HS_HCD_DrvAPI: * +* STMicroelectronics STM32F20xx series. +* STMicroelectronics STM32F21xx series. +* STMicroelectronics STM32F4xxx series. * STMicroelectronics STM32F74xx series. * STMicroelectronics STM32F75xx series. * From caee95f40a196ff85d731974c4fce4fb04fbdc14 Mon Sep 17 00:00:00 2001 From: Janos Magasrevy <75690572+wes-jmagasrevy@users.noreply.github.com> Date: Tue, 11 May 2021 22:45:12 -0400 Subject: [PATCH 5/6] USBH_HID_DevLock(): removed early release of mutex --- Class/HID/usbh_hid.c | 1 - 1 file changed, 1 deletion(-) diff --git a/Class/HID/usbh_hid.c b/Class/HID/usbh_hid.c index 0e1a876..9fb5e1a 100644 --- a/Class/HID/usbh_hid.c +++ b/Class/HID/usbh_hid.c @@ -1514,7 +1514,6 @@ static USBH_ERR USBH_HID_DevLock (USBH_HID_DEV *p_hid_dev) (void)USBH_OS_MutexUnlock(p_hid_dev->HMutex); return (USBH_ERR_DEV_NOT_READY); } - (void)USBH_OS_MutexUnlock(p_hid_dev->HMutex); return (USBH_ERR_NONE); } From 224c5489eab49f48fa6948c236564ee30ec09a9d Mon Sep 17 00:00:00 2001 From: Janos Magasrevy <75690572+wes-jmagasrevy@users.noreply.github.com> Date: Thu, 20 May 2021 18:18:19 -0400 Subject: [PATCH 6/6] Updated version and Copyright year. Incremented USBH_VERSION constant. Updated Readme. --- App/CDC/app_usbh_cdc_acm.c | 2 +- App/CDC/app_usbh_cdc_acm.h | 2 +- App/FTDI/app_usbh_ftdi.c | 2 +- App/FTDI/app_usbh_ftdi.h | 2 +- App/HID/app_usbh_hid.c | 2 +- App/HID/app_usbh_hid.h | 2 +- App/HID/app_usbh_keyboard.c | 2 +- App/HID/app_usbh_keyboard.h | 2 +- App/HID/app_usbh_mouse.c | 2 +- App/HID/app_usbh_mouse.h | 2 +- App/MSC/uC-FS-V4/app_usbh_msc.c | 2 +- App/MSC/uC-FS-V4/app_usbh_msc.h | 2 +- App/Test/app_usbh_msc_stress.c | 2 +- App/Test/app_usbh_msc_stress.h | 2 +- App/app_usbh.c | 2 +- App/app_usbh.h | 2 +- Cfg/Template/usbh_cfg.h | 4 +- Cfg/Template/usbh_hc_cfg.c | 4 +- Cfg/Template/usbh_hc_cfg.h | 4 +- Class/CDC/ACM/usbh_acm.c | 4 +- Class/CDC/ACM/usbh_acm.h | 4 +- Class/CDC/usbh_cdc.c | 4 +- Class/CDC/usbh_cdc.h | 4 +- Class/FTDI/usbh_ftdi.c | 4 +- Class/FTDI/usbh_ftdi.h | 4 +- Class/HID/usbh_hid.c | 4 +- Class/HID/usbh_hid.h | 4 +- Class/HID/usbh_hidparser.c | 4 +- Class/HID/usbh_hidparser.h | 4 +- Class/MSC/usbh_msc.c | 4 +- Class/MSC/usbh_msc.h | 4 +- HCD/ATSAMx/usbh_hcd_atsamx.c | 4 +- HCD/ATSAMx/usbh_hcd_atsamx.h | 4 +- HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c | 4 +- HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h | 4 +- HCD/EHCI/usbh_hcd_ehci.c | 4 +- HCD/EHCI/usbh_hcd_ehci.h | 4 +- HCD/OHCI/usbh_hcd_ohci.c | 4 +- HCD/OHCI/usbh_hcd_ohci.h | 4 +- HCD/RX600/usbh_hcd_rx600.c | 4 +- HCD/RX600/usbh_hcd_rx600.h | 4 +- HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.c | 4 +- HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.h | 4 +- HCD/STM32F_FS/usbh_hcd_stm32fx_fs.c | 4 +- HCD/STM32F_FS/usbh_hcd_stm32fx_fs.h | 4 +- HCD/Template/bsp_usbh_template.c | 4 +- HCD/Template/bsp_usbh_template.h | 4 +- HCD/Template/usbh_hcd_template.c | 4 +- HCD/Template/usbh_hcd_template.h | 4 +- OS/Template/usbh_os.c | 4 +- OS/uCOS-II/usbh_os.c | 4 +- OS/uCOS-III/usbh_os.c | 4 +- README.rst | 45 ++++++++++++++++++++++ Source/usbh_class.c | 4 +- Source/usbh_class.h | 4 +- Source/usbh_core.c | 4 +- Source/usbh_core.h | 6 +-- Source/usbh_err.h | 4 +- Source/usbh_hub.c | 4 +- Source/usbh_hub.h | 4 +- Source/usbh_os.h | 4 +- readme.md | 5 --- 62 files changed, 150 insertions(+), 110 deletions(-) create mode 100644 README.rst delete mode 100644 readme.md diff --git a/App/CDC/app_usbh_cdc_acm.c b/App/CDC/app_usbh_cdc_acm.c index 9253eb7..3eb810b 100644 --- a/App/CDC/app_usbh_cdc_acm.c +++ b/App/CDC/app_usbh_cdc_acm.c @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_cdc_acm.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/CDC/app_usbh_cdc_acm.h b/App/CDC/app_usbh_cdc_acm.h index bd423b2..c349a76 100644 --- a/App/CDC/app_usbh_cdc_acm.h +++ b/App/CDC/app_usbh_cdc_acm.h @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_cdc_acm.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/FTDI/app_usbh_ftdi.c b/App/FTDI/app_usbh_ftdi.c index 4f4cfec..d7a42d2 100644 --- a/App/FTDI/app_usbh_ftdi.c +++ b/App/FTDI/app_usbh_ftdi.c @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_ftdi.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/FTDI/app_usbh_ftdi.h b/App/FTDI/app_usbh_ftdi.h index b9a29e4..3130392 100644 --- a/App/FTDI/app_usbh_ftdi.h +++ b/App/FTDI/app_usbh_ftdi.h @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_ftdi.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/HID/app_usbh_hid.c b/App/HID/app_usbh_hid.c index b56d8da..d6ed5c3 100644 --- a/App/HID/app_usbh_hid.c +++ b/App/HID/app_usbh_hid.c @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_hid_demo.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/HID/app_usbh_hid.h b/App/HID/app_usbh_hid.h index bf75891..0cca374 100644 --- a/App/HID/app_usbh_hid.h +++ b/App/HID/app_usbh_hid.h @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_hid.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/HID/app_usbh_keyboard.c b/App/HID/app_usbh_keyboard.c index 30924d8..8e4bf77 100644 --- a/App/HID/app_usbh_keyboard.c +++ b/App/HID/app_usbh_keyboard.c @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_keyboard.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/HID/app_usbh_keyboard.h b/App/HID/app_usbh_keyboard.h index 286b740..576b5c1 100644 --- a/App/HID/app_usbh_keyboard.h +++ b/App/HID/app_usbh_keyboard.h @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_keyboard.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/HID/app_usbh_mouse.c b/App/HID/app_usbh_mouse.c index b15196d..dd4da9a 100644 --- a/App/HID/app_usbh_mouse.c +++ b/App/HID/app_usbh_mouse.c @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_mouse.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/HID/app_usbh_mouse.h b/App/HID/app_usbh_mouse.h index 96fb73a..bfe7900 100644 --- a/App/HID/app_usbh_mouse.h +++ b/App/HID/app_usbh_mouse.h @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_mouse.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/MSC/uC-FS-V4/app_usbh_msc.c b/App/MSC/uC-FS-V4/app_usbh_msc.c index 2fb4581..ff4a596 100644 --- a/App/MSC/uC-FS-V4/app_usbh_msc.c +++ b/App/MSC/uC-FS-V4/app_usbh_msc.c @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_msc.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/MSC/uC-FS-V4/app_usbh_msc.h b/App/MSC/uC-FS-V4/app_usbh_msc.h index 7df337c..56df83d 100644 --- a/App/MSC/uC-FS-V4/app_usbh_msc.h +++ b/App/MSC/uC-FS-V4/app_usbh_msc.h @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_msc.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/Test/app_usbh_msc_stress.c b/App/Test/app_usbh_msc_stress.c index 82085c6..65ac77c 100644 --- a/App/Test/app_usbh_msc_stress.c +++ b/App/Test/app_usbh_msc_stress.c @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_msc.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/Test/app_usbh_msc_stress.h b/App/Test/app_usbh_msc_stress.h index c69bfbe..3fc5461 100644 --- a/App/Test/app_usbh_msc_stress.h +++ b/App/Test/app_usbh_msc_stress.h @@ -20,7 +20,7 @@ * TEMPLATE * * Filename : app_usbh_msc.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/app_usbh.c b/App/app_usbh.c index 21be306..9072328 100644 --- a/App/app_usbh.c +++ b/App/app_usbh.c @@ -19,7 +19,7 @@ * * * Filename : app_usbh.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/App/app_usbh.h b/App/app_usbh.h index ba85f39..a3e0ee4 100644 --- a/App/app_usbh.h +++ b/App/app_usbh.h @@ -19,7 +19,7 @@ * * * Filename : app_usbh.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Cfg/Template/usbh_cfg.h b/Cfg/Template/usbh_cfg.h index 77b8597..12d1d62 100644 --- a/Cfg/Template/usbh_cfg.h +++ b/Cfg/Template/usbh_cfg.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST STACK CONFIGURATION * * Filename : usbh_cfg.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Cfg/Template/usbh_hc_cfg.c b/Cfg/Template/usbh_hc_cfg.c index 79dab76..49f91bc 100644 --- a/Cfg/Template/usbh_hc_cfg.c +++ b/Cfg/Template/usbh_hc_cfg.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -22,7 +22,7 @@ * TEMPLATE * * Filename : usbh_hc_cfg.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Cfg/Template/usbh_hc_cfg.h b/Cfg/Template/usbh_hc_cfg.h index 68796bf..e65a6fb 100644 --- a/Cfg/Template/usbh_hc_cfg.h +++ b/Cfg/Template/usbh_hc_cfg.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -22,7 +22,7 @@ * TEMPLATE * * Filename : usbh_hc_cfg.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/CDC/ACM/usbh_acm.c b/Class/CDC/ACM/usbh_acm.c index 71df652..32df6af 100644 --- a/Class/CDC/ACM/usbh_acm.c +++ b/Class/CDC/ACM/usbh_acm.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * ABSTRACT CONTROL MODEL (ACM) * * Filename : usbh_acm.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/CDC/ACM/usbh_acm.h b/Class/CDC/ACM/usbh_acm.h index 321fab4..a19166f 100644 --- a/Class/CDC/ACM/usbh_acm.h +++ b/Class/CDC/ACM/usbh_acm.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * ABSTRACT CONTROL MODEL (ACM) * * Filename : usbh_acm.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/CDC/usbh_cdc.c b/Class/CDC/usbh_cdc.c index 9171679..a5abd26 100644 --- a/Class/CDC/usbh_cdc.c +++ b/Class/CDC/usbh_cdc.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * COMMUNICATIONS DEVICE CLASS (CDC) * * Filename : usbh_cdc.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/CDC/usbh_cdc.h b/Class/CDC/usbh_cdc.h index 1cee80c..0225685 100644 --- a/Class/CDC/usbh_cdc.h +++ b/Class/CDC/usbh_cdc.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * COMMUNICATIONS DEVICE CLASS (CDC) * * Filename : usbh_cdc.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/FTDI/usbh_ftdi.c b/Class/FTDI/usbh_ftdi.c index 620038d..9f472ff 100644 --- a/Class/FTDI/usbh_ftdi.c +++ b/Class/FTDI/usbh_ftdi.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * FUTURE TECHNOLOGY DEVICES INTERNATIONAL CLASS * * Filename : usbh_ftdi.c -* Version : V3.42.00 +* Version : V3.42.01 * Note(s) : The reference document "API for FTxxxx Devices Application Note AN_115" can be * requested from FTDI after signing a Non-Disclosure Agreement (NDA). ********************************************************************************************************* diff --git a/Class/FTDI/usbh_ftdi.h b/Class/FTDI/usbh_ftdi.h index 98fe03f..fe94700 100644 --- a/Class/FTDI/usbh_ftdi.h +++ b/Class/FTDI/usbh_ftdi.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * FUTURE TECHNOLOGY DEVICES INTERNATIONAL CLASS * * Filename : usbh_ftdi.h -* Version : V3.42.00 +* Version : V3.42.01 * Note(s) : (1) The reference document "API for FTxxxx Devices Application Note AN_115" can be * requested from FTDI after signing a Non-Disclosure Agreement (NDA). ********************************************************************************************************* diff --git a/Class/HID/usbh_hid.c b/Class/HID/usbh_hid.c index 9fb5e1a..02e1d55 100644 --- a/Class/HID/usbh_hid.c +++ b/Class/HID/usbh_hid.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * HUMAN INTERFACE DEVICE CLASS * * Filename : usbh_hid.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/HID/usbh_hid.h b/Class/HID/usbh_hid.h index 23ac0d4..dfc2aa1 100644 --- a/Class/HID/usbh_hid.h +++ b/Class/HID/usbh_hid.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * HUMAN INTERFACE DEVICE CLASS * * Filename : usbh_hid.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/HID/usbh_hidparser.c b/Class/HID/usbh_hidparser.c index cabc1a6..715c0e8 100644 --- a/Class/HID/usbh_hidparser.c +++ b/Class/HID/usbh_hidparser.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * HUMAN INTERFACE DEVICE CLASS PARSER * * Filename : usbh_hidparser.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/HID/usbh_hidparser.h b/Class/HID/usbh_hidparser.h index aadffcb..a524819 100644 --- a/Class/HID/usbh_hidparser.h +++ b/Class/HID/usbh_hidparser.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * HUMAN INTERFACE DEVICE CLASS PARSER * * Filename : usbh_hidparser.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/MSC/usbh_msc.c b/Class/MSC/usbh_msc.c index a486c6f..d991490 100644 --- a/Class/MSC/usbh_msc.c +++ b/Class/MSC/usbh_msc.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * MASS STORAGE CLASS (MSC) * * Filename : usbh_msc.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Class/MSC/usbh_msc.h b/Class/MSC/usbh_msc.h index 2b3d0ba..b08f5a6 100644 --- a/Class/MSC/usbh_msc.h +++ b/Class/MSC/usbh_msc.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * MASS STORAGE CLASS (MSC) * * Filename : usbh_msc.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/ATSAMx/usbh_hcd_atsamx.c b/HCD/ATSAMx/usbh_hcd_atsamx.c index e37ac9c..dd80d76 100644 --- a/HCD/ATSAMx/usbh_hcd_atsamx.c +++ b/HCD/ATSAMx/usbh_hcd_atsamx.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * ATSAMX HOST CONTROLLER DRIVER * * Filename : usbh_hcd_atsamx.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* * Note(s) : (1) Due to hardware limitations, the ATSAM D5x/E5x host controller does not support a * combination of Full-Speed HUB + Low-Speed device diff --git a/HCD/ATSAMx/usbh_hcd_atsamx.h b/HCD/ATSAMx/usbh_hcd_atsamx.h index 5320d39..31e9612 100644 --- a/HCD/ATSAMx/usbh_hcd_atsamx.h +++ b/HCD/ATSAMx/usbh_hcd_atsamx.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * ATSAMX HOST CONTROLLER DRIVER * * Filename : usbh_hcd_atsamx.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c index 2bbbb67..2043581 100644 --- a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c +++ b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * SYNOPSYS DESIGNWARE CORE USB 2.0 OTG (HS) * * File : usbh_hcd_dwc_otg_hs.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* * Note(s) : (1) With an appropriate BSP, this host driver will support the OTG_FS host module on the * STMicroelectronics STM32F7xx MCUs, this applies to the following: diff --git a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h index 01b0575..bf56218 100644 --- a/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h +++ b/HCD/DWC_OTG_HS/usbh_hcd_dwc_otg_hs.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * SYNOPSYS DESIGNWARE CORE USB 2.0 OTG (HS) * * File : usbh_hcd_dwc_otg_hs.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/EHCI/usbh_hcd_ehci.c b/HCD/EHCI/usbh_hcd_ehci.c index 93af4d2..54b31c5 100644 --- a/HCD/EHCI/usbh_hcd_ehci.c +++ b/HCD/EHCI/usbh_hcd_ehci.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * GENERIC EHCI DRIVER * * Filename : usbh_ehci.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* * Note(s) : (1) Streaming for Bulk and Interrupt transfers not implemented. * diff --git a/HCD/EHCI/usbh_hcd_ehci.h b/HCD/EHCI/usbh_hcd_ehci.h index f30b589..06fb897 100644 --- a/HCD/EHCI/usbh_hcd_ehci.h +++ b/HCD/EHCI/usbh_hcd_ehci.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * GENERIC EHCI DRIVER * * Filename : usbh_ehci.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/OHCI/usbh_hcd_ohci.c b/HCD/OHCI/usbh_hcd_ohci.c index f496adc..072a5f2 100644 --- a/HCD/OHCI/usbh_hcd_ohci.c +++ b/HCD/OHCI/usbh_hcd_ohci.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * GENERIC OHCI DRIVER * * Filename : usbh_ohci.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/OHCI/usbh_hcd_ohci.h b/HCD/OHCI/usbh_hcd_ohci.h index 8c2f322..2268734 100644 --- a/HCD/OHCI/usbh_hcd_ohci.h +++ b/HCD/OHCI/usbh_hcd_ohci.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * STANDARD OHCI DRIVER * * Filename : usbh_ohci.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/RX600/usbh_hcd_rx600.c b/HCD/RX600/usbh_hcd_rx600.c index 05e84e5..593404a 100644 --- a/HCD/RX600/usbh_hcd_rx600.c +++ b/HCD/RX600/usbh_hcd_rx600.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * RENESAS RX600 (FS) * * Filename : usbh_rx600.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/RX600/usbh_hcd_rx600.h b/HCD/RX600/usbh_hcd_rx600.h index b6ee769..dd81b9d 100644 --- a/HCD/RX600/usbh_hcd_rx600.h +++ b/HCD/RX600/usbh_hcd_rx600.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * RENESAS RX600 (FS) * * Filename : usbh_rx600.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.c b/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.c index a40e60a..1df277e 100644 --- a/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.c +++ b/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -22,7 +22,7 @@ * RENESAS USB HIGH-SPEED * * Filename : usbh_hcd_renesas_usbhs.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.h b/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.h index cfa95fd..63c2abd 100644 --- a/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.h +++ b/HCD/Renesas_USBHS/usbh_hcd_renesas_usbhs.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -22,7 +22,7 @@ * RENESAS USB HIGH-SPEED * * Filename : usbh_hcd_renesas_usbhs.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* * Note(s) : (1) With an appropriate BSP, this host controller driver driver will support the USB * module on the Renesas RZ. diff --git a/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.c b/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.c index b8d8632..fa14693 100644 --- a/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.c +++ b/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * STM32FX_FS HOST CONTROLLER DRIVER * * Filename : usbh_hcd_stm32fx_fs.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* * Note(s) : (1) With an appropriate BSP, this host driver will support the OTG_FS host module on * the STMicroelectronics STM32F10xxx, STM32F2xx, STM32F4xx, and STM32F7xx MCUs, this diff --git a/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.h b/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.h index 1c58001..cce10bb 100644 --- a/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.h +++ b/HCD/STM32F_FS/usbh_hcd_stm32fx_fs.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * STM32FX_FS HOST CONTROLLER DRIVER * * Filename : usbh_hcd_stm32fx_fs.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/Template/bsp_usbh_template.c b/HCD/Template/bsp_usbh_template.c index 2164f76..021fefa 100644 --- a/HCD/Template/bsp_usbh_template.c +++ b/HCD/Template/bsp_usbh_template.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -22,7 +22,7 @@ * TEMPLATE * * Filename : bsp_usbh_template.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/Template/bsp_usbh_template.h b/HCD/Template/bsp_usbh_template.h index 2048fe6..dede21b 100644 --- a/HCD/Template/bsp_usbh_template.h +++ b/HCD/Template/bsp_usbh_template.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -22,7 +22,7 @@ * TEMPLATE * * Filename : bsp_usbh_template.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/Template/usbh_hcd_template.c b/HCD/Template/usbh_hcd_template.c index 0123de9..a40d371 100644 --- a/HCD/Template/usbh_hcd_template.c +++ b/HCD/Template/usbh_hcd_template.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * TEMPLATE HOST CONTROLLER DRIVER * * Filename : usbh_hcd_template.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/HCD/Template/usbh_hcd_template.h b/HCD/Template/usbh_hcd_template.h index 7c45dca..3fbf951 100644 --- a/HCD/Template/usbh_hcd_template.h +++ b/HCD/Template/usbh_hcd_template.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * TEMPLATE HOST CONTROLLER DRIVER * * Filename : usbh_hcd_template.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/OS/Template/usbh_os.c b/OS/Template/usbh_os.c index 0c2eef8..dc274ae 100644 --- a/OS/Template/usbh_os.c +++ b/OS/Template/usbh_os.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * TEMPLATE * * Filename : usbh_os.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/OS/uCOS-II/usbh_os.c b/OS/uCOS-II/usbh_os.c index ec63e6c..225ebbd 100644 --- a/OS/uCOS-II/usbh_os.c +++ b/OS/uCOS-II/usbh_os.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * Micrium uC/OS-II * * Filename : usbh_ucos.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/OS/uCOS-III/usbh_os.c b/OS/uCOS-III/usbh_os.c index 8ff7406..0d1ca93 100644 --- a/OS/uCOS-III/usbh_os.c +++ b/OS/uCOS-III/usbh_os.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -21,7 +21,7 @@ * Micrium uC/OS-III * * Filename : usbh_ucos.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..a75ea7e --- /dev/null +++ b/README.rst @@ -0,0 +1,45 @@ +.. raw:: html + + +

+ +

+
+ +µC/OS is a full-featured embedded operating system originally developed by Micriµm™. In addition to the two highly popular kernels, µC/OS features support for TCP/IP, USB-Device, USB-Host, and Modbus, as well as a robust File System. + +Since its founding in 1999 as a private company, Micriµm and its team of engineers have offered world-class embedded software components for the most critical and demanding real-time applications. Recognized as having some of the cleanest code in the industry, with easy-to-understand documentation, the Micrium real-time kernels, and software components have successfully been deployed in thousands of products worldwide across a broad range of industries. Micrium’s µC/OS-II™ kernel has been certified for use in safety-critical applications and remains a respected favorite in the medical, aerospace, and industrial markets. µC/OS continues to be the RTOS of choice for engineers requiring the most reliable and trusted solution for their mission-critical applications. + +---------- + +.. raw:: HTML + + +

+ +

+
+ +Founded by a team of former Micrium employees, Weston Embedded Solutions is the official custodian for the µC/OS RTOS and Stacks software repository to ensure it remains the trusted choice for embedded engineers around the world. + +---------- + +Product Documentation and Release Notes +*************** +https://micrium.atlassian.net/ + +Technical Support +***************** +https://weston-embedded.com/micrium-support + +Example Projects +********* +https://weston-embedded.com/micrium-examples + +Commercial Licensing Option +********* +https://weston-embedded.com/products/cesium + +Who to Contact +********* +https://weston-embedded.com/company/contact \ No newline at end of file diff --git a/Source/usbh_class.c b/Source/usbh_class.c index edcef52..c71b69b 100644 --- a/Source/usbh_class.c +++ b/Source/usbh_class.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST CLASS OPERATIONS * * Filename : usbh_class.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Source/usbh_class.h b/Source/usbh_class.h index 6424de8..a9c61ae 100644 --- a/Source/usbh_class.h +++ b/Source/usbh_class.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST CLASS OPERATIONS * * Filename : usbh_class.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Source/usbh_core.c b/Source/usbh_core.c index 41e1a34..8ee33f9 100644 --- a/Source/usbh_core.c +++ b/Source/usbh_core.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST CORE OPERATIONS * * Filename : usbh_core.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Source/usbh_core.h b/Source/usbh_core.h index 47475d3..f784d63 100644 --- a/Source/usbh_core.h +++ b/Source/usbh_core.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST CORE OPERATIONS * * Filename : usbh_core.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ @@ -67,7 +67,7 @@ ********************************************************************************************************* */ -#define USBH_VERSION 34200u +#define USBH_VERSION 34201u #define USBH_LEN_DESC_HDR 0x02u #define USBH_LEN_DESC_DEV 0x12u diff --git a/Source/usbh_err.h b/Source/usbh_err.h index 22ec9fb..f625456 100644 --- a/Source/usbh_err.h +++ b/Source/usbh_err.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST STACK ERROR CODES * * Filename : usbh_err.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Source/usbh_hub.c b/Source/usbh_hub.c index f987b88..f49fa40 100644 --- a/Source/usbh_hub.c +++ b/Source/usbh_hub.c @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST HUB OPERATIONS * * Filename : usbh_hub.c -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Source/usbh_hub.h b/Source/usbh_hub.h index ffa18b1..d9398a0 100644 --- a/Source/usbh_hub.h +++ b/Source/usbh_hub.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST HUB OPERATIONS * * Filename : usbh_hub.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/Source/usbh_os.h b/Source/usbh_os.h index 36ca00d..0be7d20 100644 --- a/Source/usbh_os.h +++ b/Source/usbh_os.h @@ -3,7 +3,7 @@ * uC/USB-Host * The Embedded USB Host Stack * -* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com +* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com * * SPDX-License-Identifier: APACHE-2.0 * @@ -20,7 +20,7 @@ * USB HOST OS OPERATIONS * * Filename : usb_os.h -* Version : V3.42.00 +* Version : V3.42.01 ********************************************************************************************************* */ diff --git a/readme.md b/readme.md deleted file mode 100644 index 218c4b0..0000000 --- a/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# uC/USB-Host - -μC/USB Host is a real-time USB Host software stack designed for embedded systems equipped with a USB Host or OTG controller. It includes many class drivers (MSC, HID, FTDI and CDC ACM). The stack requires a Kernel. - -## For the complete documentation, visit https://doc.micrium.com/display/ucos/ \ No newline at end of file