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.

Linux/BEAGLEBK: Changing PHY to Gigabit

Part Number: BEAGLEBK

Tool/software: Linux

Hi,

We are thinking to change our design that bases on Beaglebone Black from a 100M PHY to a Gigabit PHY.

The questions are:

1. What software changes will require at u-boot, device tree, and Linux kernel levels?

2. Will this cause any performance issues for software?

Thank you!

  • Hi,

    We will be able to give you a better answer if you post what Linux version you are using.
  • Hi Biser,

    I build my Linux from poky tag "rocko-18.0.3" and meta-ti tag "ti2018.03" using Yocto build system. The Linux version is 4.14.67. Thank you!
  • Hi,

    The answers questions are:

    1. What software changes will require at u-boot, device tree, and Linux kernel levels?
    You are correct in that those are areas to consider. But this is hard to answer because it depends. There is not going to an exact set of instructions to do what want to do. There are too many possibilities. I would say please look at the EVM-SK or the GPM EVM DTS selections in U-Boot/Kernel these boards have Gbps Phys on them and the associated DTS files show the settings necessary.

    - I would recommend using the TI pin mux tool to help with correctly setting the pin mux for RGMII mode on the interface.
    - Whatever PHY is used make sure that the driver is in the kernel source tree

    I recommend looking at these two kernel TI board DTS files. Both of these show examples on how to configure the emac ports for Gbps speeds:
    arch/arm/boot/am335x-evmsk.dts (evm-sk board) or arch/arm/boot/am335x-evm.dts

    2. Will this cause any performance issues for software?
    I am not sure how to answer here as it depends on the traffic, size of packets, end point vs. gateway type product and most of all what applications are running and how much processing resources are available and not impact the system application(s). Again a lot of variables.

    With a higher speed data stream processing the network load on the processor will increase due to higher possible line speed. You will have to determine how that could possible affect your application.

    Best Regards,
    Schuyler
  • Hi Schuyler,
    Thank you for the answers. Mostly they make sense to me. To summarize your answers, these are the potential software changes involve if I change the default PHY chip:
    1. Change of PHY drivers at u-boot and Linux kernel. Make sure the PHY drivers are supported in u-boot and Linux kernel source.
    2. Change of device tree for PHY.
    3. If the MII mode changes other than the default of Beaglebone Black (Eth0 MII), changes of pin mux in both bootloader and Linux kernel are required. If not, the changes are limited to 1 and 2.

    Please confirm or elaborate if I miss any.

    Thank you!
  • Hi,

    Good summary, I will highlight a few things based on the summary:

    - Using drivers that are supported will make the porting effort a little easier since the make and config files are already present to integrate the PHY.

    - Concerning the DTS file in u-boot and the kernel is that  phy-mode, phy timing and phy addressing are the changes to be aware of here. I would also add is to consult the u-boot board.c code and look at the support of  the evm-sk and the gp-evm to see anything specific to enabling Gbps PHYs.

    -  I recommend using the pin mux tool to assist with pin mux changes.

    I would like to add that switching to a Gbps PHY can bring layout challenges. I would highly recommend looking at this document on high speed layout for recommendations.

    SPRAAR7H

    That is all I can think of for the moment.

    Best Regards,

    Schuyler