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: TDA4VM CPSW subsystem questions

Part Number: TDA4VM

Hi,

I am currently trying to understand the CPSW subsystem of the TDA4VM device, and have the following questions:

1) in the TI QNX PSDK 07.02 documentation, the CPSW9G driver is described as:

"The CPSW9G DEVNP network driver implemented as “virtual” driver that communicates with the Ethernet Firware Switch firmware running on the R5 core." which gives me the impression CPSW9G is basically a virtual device. However in the CPSW integration guide, it seems that CPSW9G can be implemented/connected to real physical interface. Can someone help explaining how the CPSW9G is configured per default in the TI QNX PSDK and how it can be then used with real physical interface?

2) Does the convention MCU_CPSW0=CPSW2G and CPSW0=CPSW9G always apply everywhere in the documentation?

3) If CPSW2G is basically the ethernet interface of the MCU safety domain, why is it used as the default ethernet interface for both TI QNX PSDK and TI Linux PSDK which concern the Main domain? Why not the CPSW9G in this case?

4) Referring to latest TDAVM TRM, the CPSW0 (or CPSW9G) is described as 5 ports instead of 9 ports interface:

Can someone explain the discrepancy?

Thank you in advance for the reply.

  • Hi,

    See my responses inline TI >

    1) in the TI QNX PSDK 07.02 documentation, the CPSW9G driver is described as:

    ....

    ....

    TI > CPSW 9G is not a virtual device rather it's a device under the control of Ethernet FW running on MCU 2_0 and the driver is virtual. All requests to control CPSW 9G must be submitted to MCU 2_0 through IPC or executed directly on that core

    To explain : Other cores are able to receive CPSW 9G packets directly (via DMA from Interface) without any ownership, so they get what's called a virtual interface. They have no visibility into it's internals. So Linux gets a virtual port eth1 which represents CPSW 9G but it doesn't actually own eth1 and it only sees it as a single port despite CPSW 9G having 8 physical ports. 

    By contrast MCU CPSW configuration is controlled by Linux as specified in DTS and it can directly control the HW.

    2) Does the convention MCU_CPSW0=CPSW2G and CPSW0=CPSW9G always apply everywhere in the documentation?

    TI > Yes

    3) If CPSW2G is basically the ethernet interface of the MCU safety domain, why is it used as the default ethernet interface for both TI QNX PSDK and TI Linux PSDK which concern the Main domain? Why not the CPSW9G in this case?

    TI > Both interfaces are supported by default, CPSW 2G being an older IP has support for U-boot etc so it's for legacy reasons. Also, CPSW 2G port is on the Main EVM and doesn't require any add-on cards.

    4) Referring to latest TDAVM TRM, the CPSW0 (or CPSW9G) is described as 5 ports instead of 9 ports interface:

    TI > This is a bug, its 9 ports (8 physical + 1 host port). Thanks for pointing out, we will get it fixed.

    Regards

    Vineet

  • Hi Vineet,

    thanks for the prompt response, appreciate it.

    Just want to confirm another thing: if I want to use both CPSW2G (for the MCU domain) and the CPSW9G (for the Main domain) on the TDA4VM EVM, that means I would need also the J7EXPCXEVM, right? can you confirm?

  • Hi,

    Yes you need J7EXPCXEVM to test CPSW 9G

    Regards

    Vineet