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: CPSW9G communication on A72 with QNX

Part Number: TDA4VM


Hello Team,

                   We are trying to communicate to QSGMII ports on TDA4VM Eval board through CPSW9G on A72(QNX).

We modified the ETFW for enabling the QSGMII ports and  build it(using command make ethfw_all BUILD_SOC_LIST=J721E BUILD_QNX_A72=yes) and loaded the firmware on R5 core MCU2_0.

We are able to detect the QSGMII PHY'S and once we connect the LAN cable to one of the QSGMII port on ENET expansion board we got Link up.

We have done below update to the enetlld_if.c file in the path /psdkqa/qnx/devnp/src  for QNX.

static Enet_MacPort gRemoteAppMacPorts[] =
{
#if defined (SOC_J721E)
    /* configuration based on GESI board */
    // ENET_MAC_PORT_1,
    // ENET_MAC_PORT_3,
    //ENET_MAC_PORT_4,
    //ENET_MAC_PORT_8,
    /* configuration based on QSGMII board */
    ENET_MAC_PORT_2, /* QSGMII main */
    ENET_MAC_PORT_5, /* QSGMII sub */
    ENET_MAC_PORT_6, /* QSGMII sub */
    ENET_MAC_PORT_7, /* QSGMII sub */
#elif defined (SOC_J7200)
    /* configuration based on Quad-Port Eth Expansion board */
    ENET_MAC_PORT_1,
    ENET_MAC_PORT_2,
    ENET_MAC_PORT_3,
    ENET_MAC_PORT_4,
#endif

Then build and booted the QNX on A72 and loaded the CPSW9G driver using io_pkt interface. Then tried below commands in QNX console,

if_up -p an0
dhclient -nw an0
ifconfig -v

We didn't get a proper IP address (Only got the loop back IP). 

We are using using,

QNX_SDK8.2 and RTOS_SDK_8.2 .

Attaching the R5 and A72 logs,

Enabling clocks!
=======================================================
            CPSW Ethernet Firmware
=======================================================
main.c: opened UDMA Driver and intilizingggg Ethernet Firmware
ETHFW: Shared multicasts (software fanout):
ETHFW: Reserved multicasts:
  01:80:c2:00:00:0e
  01:1b:19:00:00:00
EnetMcm: CPSW_9G on MAIN NAVSS
PHY 0 is alive
PHY 3 is alive
PHY 12 is alive
PHY 15 is alive
PHY 16 is alive
PHY 17 is alive
PHY 18 is alive
PHY 19 is alive
PHY 23 is alive
EnetPhy_bindDriver: PHY 12: OUI:080028 Model:23 Ver:01 <-> 'dp83867' : OK
EnetPhy_bindDriver: PHY 0: OUI:080028 Model:23 Ver:01 <-> 'dp83867' : OK
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:23 Ver:01 <-> 'dp83867' : OK
EnetPhy_bindDriver: PHY 15: OUI:080028 Model:23 Ver:01 <-> 'dp83867' : OK
EnetPhy_bindDriver: PHY 16: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK
EnetPhy_bindDriver: PHY 17: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK
EnetPhy_bindDriver: PHY 18: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK
EnetPhy_bindDriver: PHY 19: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK

ETHFW Version   : 0.02.00
ETHFW Build Date: Aug  3, 2022
ETHFW Build Time: 13:18:10
ETHFW Commit SHA:

main.c: crete IPC initialization Task
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: 70:ff:76:1d:92:c2
[LWIPIF_LWIP] Enet LLD netif initialized successfully
Added interface 'ti1', IP is 0.0.0.0
main.c: step1 initializing multiproc
Skipping Ipc_loadResourceTable for QNX (core : mcu2_0) .....
main.c: Intialize Remote config server CPSW Proxy Server
CpswProxyServer: Virtual port configuration:
  mpu_1_0 <-> Switch port 0: mpu_1_0_ethswitch-device-0
  mcu_2_1 <-> Switch port 1: mcu_2_1_ethswitch-device-1
CpswProxyServer: initialization completed (core: mcu2_0)
EthFw_initRemoteConfig() initialized CPSW Proxy starting serverEthFw_initRemoteConfig() started CPSW Proxy serverREMOTE_SERVICE: Init ... !!!
[IPC] Virtio_kick: Ipc_mailboxSend failed
REMOTE_SERVICE: Init ... Done !!!

CpswMacPort_checkSgmiiStatus: MAC 7: SGMII link parter config port: link up: 1-Gbps Full-Duplex

Cpsw_handleLinkUp: Port 7: Link up: 1-Gbps Full-Duplex

Function:CpswProxyServer_attachHandlerCb,HostId:0,CpswType:6
Function:CpswProxyServer_allocMacHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6
Function:CpswProxyServer_allocTxHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6
Function:CpswProxyServer_allocRxHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010401,InArgsLen:0, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010201,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_registerMacHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, MacAddress:70:ff:76:1d:92:c1, FlowIdx:172, FlowIdxOffset:0
Cpsw_ioctlInternal: CPSW: Registered MAC address. ALE entry:5, Policer Entry:1
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010224,InArgsLen:132, OutArgsLen:0
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010224,InArgsLen:132, OutArgsLen:0
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010224,InArgsLen:132, OutArgsLen:0
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010224,InArgsLen:132, OutArgsLen:0
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010224,InArgsLen:132, OutArgsLen:0
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010224,InArgsLen:132, OutArgsLen:0
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010222,InArgsLen:144, OutArgsLen:36
Function:CpswProxyServer_ioctlHandlerCb,HostId:0,Handle:a2a7e084,CoreKey:38acb7e6, Cmd:1010202,InArgsLen:24, OutArgsLen:4
A72_QSGMII_2.txt