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.

TMDSIDK437X: PRU MII in TI RTOS SDK

Part Number: TMDSIDK437X
Other Parts Discussed in Thread: TLK105L

Hi 

Im working on TMDSIDK437X EVM, we want to try the MDIO interface to Ethernet PHY using PRU core. I look for the Ethernet documentation, but they are not explained more on MDIO/MII driver.

The source code given for PRU Ethernet example are in Assembly language, So we can't understand completely.

Documentation link: https://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_pru_icss_fw.html#dual-emac-and-switch

PDF: ICSS_D UAL_EMAC_Firmware_Design_Guide.pdf

Installed the TI RTOS and ran the lab example in Windows OS using CCS IDE ( 9.1 Template Application Workshop ). 

Is there any instruction to run MDIO/MII driver in TI RTOS Applciation template or Bare-Metal application.

Regards,

Vairamani.V

  • Hi ,

    Thanks for your query.

    It seems you are working on AM437x board. correct ?

    Which TI-SDK you are working on ?

    Best Regards

    Ashwani

  • Hi Ashwani,

    Im using the TI RTOS SDK v6.03

    Regards,

    Vairamani.V

  • Hi 

    Vairamani.V,

    Im using the TI RTOS SDK v6.03

    This (TI RTOS + PDK)  is no longer  supported. Please refer to the following E2E FAQ for guidance.

    Best Regards

    Ashwani

  • Hi Ashwani,

    I referred the link E2E FAQ, its states that "there is no support for the TI RTOS on forum only document and training vidoes are there".

    We want to try the MDIO interface to Ethernet PHY using PRU core either by TI RTOS or Linux SDK.

     

    Installed the Linux SDK v08.02 for IDK437X EVM and followed the guide (click here). Here, we can understand how the prueth platform driver working in overview. But in prueth driver, "ethernet-mii0" node was used but not able to get the source code for this.

    It will helpfull if you provide any documentation for "ethernet-mii0" device node which configures the MDIO.

    Regards,

    Vairamani.V

  • Thanks Vairamani for info.

    I have added linux networking expert to this thread.

    Please allow him some time to respond.

    Best Regards

    Ashwani

  • Hello Vairamani,

    To confirm, are you asking for the source code of the firmware running on the PRU cores? Or are you asking for the Linux code that sets up the PRU subsystem to do Ethernet?

    The PRU Ethernet source code used to be updated with the TI-RTOS SDK here:
    https://git.ti.com/cgit/processor-sdk/pdk/log/packages/ti/drv/icss_emac

    The code has continued to be updated, but I am not aware of a public location to view it. However, I typically suggest that customers do not try to dig into the PRU Ethernet source code unless they really know what they are doing - you should treat it like the PRU is a circuit that does Ethernet, like the CPSW peripheral, instead of like the PRU is a processor that is running programmed instructions.

    If you are looking for the Linux devicetree settings that configure the Ethernet in Linux, reference the AM335x files in your Linux SDK at 
    board-support/linux-x.x.x/arch/arm/boot/dts

    then you can do a search, like grep -r --include=am33* 'ethernet'

    Regards,

    Nick

  • To confirm, are you asking for the source code of the firmware running on the PRU cores? Or are you asking for the Linux code that sets up the PRU subsystem to do Ethernet?

    -Yes, Im looking for Linux code that sets up the PRU subsystem to do MDIO read & Write. How AM437x MDIO configured to communicate with Ethernet PHY TLK105L.

    The code has continued to be updated, but I am not aware of a public location to view it. However, I typically suggest that customers do not try to dig into the PRU Ethernet source code unless they really know what they are doing - you should treat it like the PRU is a circuit that does Ethernet, like the CPSW peripheral, instead of like the PRU is a processor that is running programmed instructions.

    -Yes, Im aware that, In Linux SDK examples and ethernet demonstration, the PRU binaries are used and it was written in ASM code. Is MDIO operations are done in PRU ASM code or else could you point me to the Linux source code.

     

    Regards,

    Vairamani.V

  • Hello Vairamani,

    My assumption is that the mdio configuration is done by Linux. You can see how the PRU Ethernet MDIO configuration is set up in the AM437x IDK EVM devicetree file:

    ti-processor-sdk-linux-am437x-evm-08.02.00.24/board-support/linux-5.10.100+gitAUTOINC+7a7a3af903-g7a7a3af903/arch/arm/boot/dts/am437x-idk-evm.dts

    Regards,

    Nick