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.

TDA4VM: the value of RX_MAXLEN reset to 1518 when re-connect the cable of phy

Part Number: TDA4VM

Dear TI experts,

We use  TDA4VM linux + rtos sdk version 8.1. We need to config vlan,so we changed the value of  macro "CPSW_MACPORT_RX_MTU_DEFAULT"  frome 1518 to 1522 in cpsw_macport.c.  When TDA4 power on, the value of RX_MAXLEN register can be configed to 1522 successfully. But When we re-connect the cable of  the phy, this value changes to 1518. So we can't receive the package which length is 1522. We didn't find any code which might do this, so we guess this is a chip logic behavior. If so, is there any patch to fix this problem?

  • do you or shall we have function call to "CPSW_MACPORT_RX_MTU_DEFAULT" when the h/w detects the cable plug-out and in again?

  • Hi,

    When even Link Down happens Soft reset of MAC Port will happen and registers will get Reset values.
    Default Reset value of RX_MAX_LEN Reg was 1518, because of above we are seeing 1518 value after Link Down and Link Up.

    We have to save the values before and restore after reset completion.
    It was taken care in SDK 8.2 onwards, Please refer to "CpswMacPort_reset" API from "<RTOS SDK>\ti-processor-sdk-rtos-j721e-evm-08_02_00_05\ti-processor-sdk-rtos-j721e-evm-08_02_00_05\pdk_jacinto_08_02_00_21\packages\ti\drv\enet\src\mod\cpsw_macport.c" file.

    Best Regards,
    Sudheer