一、Uboot支持网卡
1、修改设备树
vim components/firmware/uboot/arch/arm/dts/fsl-lx2160a-rdb.dts
&dpmac11 {
status = "okay";
phy-handle = <&sgmii_phy1>;
phy-connection-type = "sgmii";
};
sgmii_phy1: ethernet-phy@3 {
// RTL8211F PHY
compatible = "ethernet-phy-id001c.c916", "ethernet-phy-id004d.d072";
reg = <0x3>;
};
2、修改驱动
vim components/firmware/uboot/board/freescale/lx2160a/eth_lx2160ardb.c
/*Begin:add by zhaobaoxing for sgmii*/
srds_s2 = in_le32(&gur->rcwsr[28]) &
FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_MASK;
srds_s2 >>= FSL_CHASSIS3_RCWSR28_SRDS2_PRTCL_SHIFT;
/*End:add by zhaobaoxing for sgmii*/
/*Begin:add by zhaobaoxing for sgmii*/
if (get_board_rev() == 'C') {
setup_eth_rev_c(srds_s2);
goto next;
}
/*End:add by zhaobaoxing for sgmii*/
/*Begin:add by zhaobaoxing for sgmii*/
switch (srds_s2){
case 10:
wriop_set_phy_address(WRIOP1_DPMAC11, 0,
SGMII_PHY_ADDR1);
printf("warning: zhaobaoxing for serdes2\r\n");
break;
default:
printf("SerDes2 protocol 0x%x is not supported on LX2160ARDB\n",
srds_s2);
//goto next;
break;
}
/*End:add by zhaobaoxing for sgmii*/
3、修改功能宏定义
vim components/firmware/uboot/configs/lx2160ardb_tfa_defconfig
#CONFIG_DM_ETH=y
二、Linux支持网卡
1、修改设备树
&dpmac11 {
phy-handle = <&sgmii_phy1>;
phy-connection-type = "sgmii";
};
sgmii_phy1: ethernet-phy@3 {
// RTL8211F PHY
compatible = "ethernet-phy-id001c.c916", "ethernet-phy-id004d.d072";
reg = <0x3>;
};
三、板卡配置
1、修改rcw文件
vim components/firmware/rcw/lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2200_750_3200_19_5_2.rcw
SRDS_PRTCL_S1=3 #10G 8 #25G 17 CPRI-10G=3
SRDS_PRTCL_S2=10 #10 #CPRI 5 #-5GC #3#-BBU #5
SRDS_PRTCL_S3=3 #2
2、修改DPC文件
vim components/firmware/mc_utils/config/lx2160a/LX2160A-RDB/dpc-usxgmii.dts
ports {
mac@3 {
/*Begin:changed by zhaobaoxing for 10G sfp+*/
/*link_type = "MAC_LINK_TYPE_PHY";
enet_if = "USXGMII";
*/
/*End:changed by zhaobaoxing for 10G sfp+*/
link_type = "MAC_LINK_TYPE_FIXED";
enet_if = "XFI";
};
mac@4 {
/*Begin:changed by zhaobaoxing for 10G sfp+*/
/*link_type = "MAC_LINK_TYPE_PHY";
enet_if = "USXGMII";
*/
/*End:changed by zhaobaoxing for 10G sfp+*/
link_type = "MAC_LINK_TYPE_FIXED";
enet_if = "XFI";
};
mac@11 {
link_type = "MAC_LINK_TYPE_PHY";
};
mac@17 {
link_type = "MAC_LINK_TYPE_PHY";
};
mac@18 {
link_type = "MAC_LINK_TYPE_PHY";
};
};
3、修改dpl文件
vim components/firmware/mc_utils/config/lx2160a/LX2160A-RDB/dpl-eth.19.dts
connections {
connection@1{
endpoint1 = "dpni@0";
endpoint2 = "dpmac@3";
};
connection@2{
endpoint1 = "dpni@1";
endpoint2 = "dpmac@4";
};
connection@3{
endpoint1 = "dpni@2";
endpoint2 = "dpmac@5";
};
connection@4{
endpoint1 = "dpni@3";
endpoint2 = "dpmac@6";
};
connection@5{
endpoint1 = "dpni@4";
endpoint2 = "dpmac@7";
};
connection@6{
endpoint1 = "dpni@5";
endpoint2 = "dpmac@8";
};
connection@7{
endpoint1 = "dpni@6";
endpoint2 = "dpmac@9";
};
connection@8{
endpoint1 = "dpni@7";
endpoint2 = "dpmac@10";
};
connection@9{
endpoint1 = "dpni@8";
endpoint2 = "dpmac@11";
};
connection@10{
endpoint1 = "dpni@9";
endpoint2 = "dpmac@12";
};
connection@11{
endpoint1 = "dpni@10";
endpoint2 = "dpmac@17";
};
connection@12{
endpoint1 = "dpni@11";
endpoint2 = "dpmac@18";
};
};