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.

DS125DF111

Other Parts Discussed in Thread: DS125DF111, DS100DF410, DS110DF111, DS110DF410, DS125DF410

DS125DF111万兆网卡配置

  •  TI美女帅哥工程师你们好:
       我们使用dsp的C6638处理器,芯片中有4核ARM,跑了Linux系统,在调试万兆网卡的时候出现了如下问题
    操作如下    
    (1).按照官网对Linux内核进行了相关的设置支持万兆网口,设置如下
    arch/arm/configs/keystone2_defconfig
    CONFIG_TI_KEYSTONE_XGE=y
    CONFIG_TI_KEYSTONE_XGE_MDIO=y
    CONFIG_TI_KEYSTONE_XGE=y
    CONFIG_MDIO_BITBANG=y
    CONFIG_MDIO_GPIO=y
    CONFIG_GPIO_PCA953X=y
       arch/arm/boot/dts/k2e-net.dtsi
    netcpx: netcp@2f00000 {
    status = "ok";
    slaves {
    slave0 {
    link-interface = <11>;
    phy-handle = <&phyx0>;
    };
    slave1 {
    link-interface = <11>;
    phy-handle = <&phyx1>;
    };
    };
    };
    我们使用的LINUX内核版本为k2_linux_03.10.10.14.12在   arch/arm/boot/dts/k2e-net.dtsi 没有发现如下设置,所以没有如下设
    Enabling 10G-KR Firmware
    Starting from MCSDK 3.1.4, 10G-KR firmware can be enabled for handling of auto-negotiation and link training.
    Enabling firmware through DTS:
    Update the status property of the firmware and lane bindings from "disabled" to "ok" in arch/arm/boot/dts/k2e-net.dtsi or arch/arm/boot/dts/k2hk-net.dtsi:
    firmware {
    status = "ok";
    lane0 {
    status = "ok";
    };
    lane1 {
    status = "ok";
    };
    配置后编译发现keystone_xgemdio.c文件中的函数static int keystone_mdiox_probe(struct platform_device *pdev)里面有个函数xge_serdes_init_156p25Mhz();不存在,参考代码将其修改为 xge_serdes_init(of_get_child_by_name(node, "serdes"));

     (2)C6638在linux系统起来后使用I2C配置芯片DS125DF111
    参考配置写入信息手册《DS110DF111, DS125DF111, DS100DF410, DS110DF410, and DS125DF410 Programming Guide》
    将如下数据写入芯片DS125DF111
     T
    参考配置手册中第七页,的9,
    able 9. 10.3125-Gbps Backplane and Cable Configuration Sequence
                 最终写入的数据为:
                 地址:0xff  写入数据:0xc;
                地址:0x00 写入数据:0x04;
                地址:0x0a  写入数据:0x1c;
                地址:0x2f  写入数据:0xc6;
                地址:0x31 写入数据:0x60;
                地址:0x3a  写入数据:0x00;
                地址:0x1e  写入数据:0xe1;
                地址:0x2d  写入数据:0x80;
                地址:0x15 写入数据:0x10;
                地址:0x0a  写入数据:0x10;
    除了:  地址:0x00 写入数据0x04;读出来是0x00外所有配置写入和读出的值相同。
    两个C6638的万兆网口,走XFI接口,通过光纤连接,发现PING不通。
     
     
    使用公司,安捷伦的8GHZ的示波器40Gbps示波器发现DSP的XFI是有数据出来,但是经过DS125DF111数据没有了,
     
    不知道这个芯片是否配置还存在什么问题,还有就是不知道C6638的LINUX内核设置那里是否也存在问题,导致数据可能存在问题
  • 您好,您的问题是需要咨询DS25DF111 的相关配置吗?

    如果是的话,可以参考下面这篇programming guide, 希望对您有所帮助:

    http://www.ti.com/lit/an/snla323/snla323.pdf 

  • 问题解决,谢谢。
  • 问题解决,谢谢。