This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WEC7 BSP

Other Parts Discussed in Thread: AM3517

Hi,

I have one question regarding USB function of AM3517 BSP for WEC7.

My customer had one issue that USB FDD is not recognized by USB host controller.

According to customer's analysis, they found one issue that the data output pointer is not incremented correctly.  For that reason, the correct data is not output.  The first 8bytes are correct data. But the following 4bytes are wrong data.

So customer modified "chw.cpp" source code (\WINCE700\platform\common\src\soc\COMMON_TI_V1\AM3517\USB\USBH\chw.cpp) as the below.

<before modification>

        case STAGE_DATAIN:
            // NOTE: PING is disabled because some MSD do not support it for EP0 IN transfers
            WRITE_PORT_USHORT( (portBase + MGC_END_OFFSET(0, MGC_O_HDRC_CSR0)),(MGC_M_CSR0_H_REQPKT|MGC_M_CSR0_H_DISPING));
            break;
        case STAGE_DATAOUT:
            pPkt = (UINT8 *)pTD->sTransfer.lpvClientBuffer;

<after modification>]

        case STAGE_DATAIN:
            // NOTE: PING is disabled because some MSD do not support it for EP0 IN transfers
            WRITE_PORT_USHORT( (portBase + MGC_END_OFFSET(0, MGC_O_HDRC_CSR0)),(MGC_M_CSR0_H_REQPKT|MGC_M_CSR0_H_DISPING));
            break;
        case STAGE_DATAOUT:
            pPkt = (UINT8 *)pTD->sTransfer.lpvClientBuffer + pTD -> BytesTransferred;

Could you confimr whether this modification is sufficient or not for solving the issue?

Please advise me.

Best regards,

Michi