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/66ak2e05: Running 1Gig ethernet over a 10Gig ethernet interface

Part Number: 66AK2E05

Tool/software: Linux

I have a design that needs to be able to use one of the 10Gig XFI ports and run it at 1Gig MAC to MAC. The Linux driver looked straight forward enough so I set the link-interface variable in the k2e-net.dtsi Linux file to SGMII_LINK_MAC_MAC and it looks like it setup the SGMII MR_ADV_ABILITY correctly to 0x9801 and the SGMII Control Register to a 0x20. The MAC Control Register gets set to 0x00840020.

We are unable to get a link using this setup. Has anyone else tried to do this? Are there other things that need to be modified? I have used the 10Gig before as a 10Gig connection but it was on another design. Are there reference clocks that need to change in order to run a 1Gig on the 10Gig interface?

  • Hi,

    Are there other things that need to be modified?

    Not sure which kernel (SDK version) are you using, but TISDK has a keystone-k2e-netcp.dtsi file that configures the ethernet interface. There you need to enable the 10 gig ports & configure the device to use them (this is done in keystone-k2e-evm.dts).

    Best Regards,
    Yordan
  • Unfortunately we are not using the latest SDK version. We are using Wind River Linux 7 which they obtained from Yocto when TI delivered to them. TI delivered a 3.14 version of the kernel and Wind River ported it into their Linux 7 which is a 3.17 kernel. I have reviewed the code in the newer MCSDK for both the devicetree and for the driver net and phy drivers. There is a lot of differences more than I would like to try porting back to an older version of Linux. I have been able run at 10Gig using my current Linux build environment so I have everything enabled but I have the need to run at 1Gig on the 10Gig XFI interface.
  • TI,

    Although Kelly is asking about Linux kernels, etc., there are two primary questions that he needs answered:

    1. Is 1G supported by the 10G ports in hardware, and has been tested?
    2. Is 1G supported on the 10G ports in the latest Processor SDK? Or any other released SDK from TI?

    Regards,
    RandyP
  • I came across the following issue posted back in 2015.

    e2e.ti.com/.../1460401

    This is what we are trying to do also. Did this solution ever get implemented.
  • Does TI have a prebuilt image (kernel and device tree) that we can boot on a k2e evm board?
  • Hi,

    Yes we have a prebuilt kernel & dts.
    You can download them from here:
    www.ti.com/.../processor-sdk-k2e

    Once you install the sources, you'll have to navigate to ~/ti-processor-sdk-linux-k2e-evm-04.00.00.04/board-support/prebuilt-images.
    Use this guide for programming the board:
    processors.wiki.ti.com/.../Program_EVM_UG

    Best Regards,
    Yordan
  • We have looked at this. What might help us is a dtb file that has been configured to run 1Gig over the 10Gig interface. We could then look at the register values and modify our version of the network driver to setup the registers in the same way. We have gone through the documentation and found several instances where the driver code is writing values to registers that the documentation has defined as "Reserved". This is the User Guide for the "KeyStone II Architecture Serializer/Deserializer (SerDes)" which shows a revision of July 2016.
    Is there a new version of this document?
    The version of our driver has all of the networking and serdes lane configuration all in the drivers/net/Ethernet/ti directory of Linux. The latest version of your ti processor SDK has split the serdes setup code into a separate driver located in the drivers/phy directory.
  • Yordan,

    What we need more than anything is a known good "keystone-k2e-netcp.dtsi" file that configures the 10G XGE port for 1G SGMII. It is not clear from the documentation what configuration tree settings are needed to fully configure the 10G (XGE) port for 1G SGMII. Can TI supply a configuration tree file (keystone-k2e-netcp.dtsi) with the proper settings for the XGE ports using the latest K2E processor SDK?

    Thanks,

    Dean
  • Hi Dean,

    Can TI supply a configuration tree file (keystone-k2e-netcp.dtsi) with the proper settings for the XGE ports using the latest K2E processor SDK?


    I am not sure we have such ready to use dtsi file. Let me check.

    Best Regards,
    Yordan
  • The 1GbE over XFI is not supported, and the auto-negotiation over XFI is also not working due to the 3rd party firmware issue. There isn't an existing example that can be referred to . The original design was meant to have GbE using one of the 8 GbE ports on K2E.