ti员工你好,
背景:
关于k2 的uboot在自己的板子上运行,
EVM采用SGMII_LINK_MAC_PHY,有phy, 自己板子采用SGMII_LINK_MAC_MAC_FORCED的强制连接方法,没有使用phy
EVM中的serdes是156.25MHz. 而我们自己的板子serdes是125MHz
经过修改mcsdk中的client_evmk2h例子,在自己的板子上能够进行千兆网访问。
现在:
在修改uboot的代码中,在u-boot-keystone/drivers/net/keystone_serdes.c中是关于serdes的初始化,
但是没有关于125Mhz的函数调用·····
在修改的时候发现,以下三个结构体用于156.25Mhz的初始化参数
问:
是否有关于这三个结构体修改的具体说明和方法
static struct serdes_cfg cfg_cmu_156p25m_5g[] = {
{0x0000, 0x00800000, 0xffff0000},
{0x0014, 0x00008282, 0x0000ffff},
{0x0060, 0x00142438, 0x00ffffff},
{0x0064, 0x00c3c700, 0x00ffff00},
{0x0078, 0x0000c000, 0x0000ff00}
};
static struct serdes_cfg cfg_comlane_156p25m_5g[] = {
{0x0a00, 0x00000800, 0x0000ff00},
{0x0a08, 0x38a20000, 0xffff0000},
{0x0a30, 0x008a8a00, 0x00ffff00},
{0x0a84, 0x00000600, 0x0000ff00},
{0x0a94, 0x10000000, 0xff000000},
{0x0aa0, 0x81000000, 0xff000000},
{0x0abc, 0xff000000, 0xff000000},
{0x0ac0, 0x0000008b, 0x000000ff},
{0x0b08, 0x583f0000, 0xffff0000},
{0x0b0c, 0x0000004e, 0x000000ff}
};
static struct serdes_cfg cfg_lane_156p25mhz_5g[] = {
{0x0004, 0x38000080, 0xff0000ff},
{0x0008, 0x00000000, 0x000000ff},
{0x000c, 0x02000000, 0xff000000},
{0x0010, 0x1b000000, 0xff000000},
{0x0014, 0x00006fb8, 0x0000ffff},
{0x0018, 0x758000e4, 0xffff00ff},
{0x00ac, 0x00004400, 0x0000ff00},
{0x002c, 0x00100800, 0x00ffff00},
{0x0080, 0x00820082, 0x00ff00ff},
{0x0084, 0x1d0f0385, 0xffffffff}
};
King Wang1:
U-Boot里面没有,你去下载个对应的MSCDK吧,那个里面有125MHz的配置。