LS1043A-RGW-B 10G optical

cancel
Showing results for 
Search instead for 
Did you mean: 

LS1043A-RGW-B 10G optical

823 Views
klh
Contributor I

Hi, I have a LS1043A-RGW-B. We are trying to turn up the 10G optical interface (SFP+ optical transceiver).

1) I read the linux sdk documentation for 10G optical, i modified the hwconfig as in section

37.7.6 Environment variable hwconfig and optical 10G (page 886&887)

editenv hwconfig

fsl_ddr:ctlr_intlv=cacheline,bank_intlv=cs0_cs1;fsl_fm2_xaui_phy:xfi;fsl_fm1_xaui_phy:xfi

2) Next, I modify the fsl-ls1043a-rdb.dts (and compile)

linux/fsl-ls1043a-rdb.dts at master · torvalds/linux · GitHub 

on the following section:-

ethernet@f0000 { /* 10GEC1 */
    phy-handle = <&aqr105_phy>;
    phy-connection-type = "xgmii";
};

to a fixed-link as below

ethernet@f0000 { /* 10GEC1 */
    fixed-link = <1 1 10000 0 0>;
    phy-connection-type = "xgmii";
};

When I connect to a windows based SFP+, I don't see SFP+ link up.

Next, on LS1043a-RGW-B uboot terminal, i do a ping to the windows SFP+, it cannot ping from TGEC1 to the windows. Could you please guide us on how to enable the SFP+ optical link?

many thanks in advance...

Labels (1)
0 Kudos
4 Replies

313 Views
klh
Contributor I

Hi, this is my mdio list command in original software on LS1043a-rgw

mdio list

0 Kudos

313 Views
klh
Contributor I

Hi, I have been struggling to get the SFP+ up on LS1043A-RGW even using the document LS1043A-LS1046A-BHR-RN.pdf (LS1043A/LS1046A ASK 7.0.0). Flashing to Nand section. Flashing uboot and kernel is no issue, dont get any error. But cant get SFP+ to establish a link. The SFP+ transceiver I use and uboot log as attached. ubootlogsfp+ modulesfp+ module + cable

Kindly help

0 Kudos

313 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello kl h,

LS1043AQDS integrates MAC 9 as XFI 10G SFP+ by default, please refer to u-boot and dts file LS1043ARDB.

Please refer to the function board_ft_fman_fixup_port in board/freescale/ls1043aqds/eth.c of u-boot source code.

... ...

       } else if (fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_XGMII &&
                   port == FM1_10GEC1) {
                /* XFI interface */
                f_link.phy_id = cpu_to_fdt32(port);
                f_link.duplex = cpu_to_fdt32(1);
                f_link.link_speed = cpu_to_fdt32(10000);
                f_link.pause = 0;
                f_link.asym_pause = 0;
                /* no PHY for XFI */
                fdt_delprop(fdt, offset, "phy-handle");
                fdt_setprop(fdt, offset, "fixed-link", &f_link, sizeof(f_link));
                fdt_setprop_string(fdt, offset, "phy-connection-type", "xgmii");
        }
}

Please modify u-boot source code as the above and check whether SFP+ link is up.

In addition, please check the external PHY information.

=> mdio list
FSL_MDIO0:
FM_TGEC_MDIO:
LS1043AQDS_MDIO_RGMII1:
1 - RealTek RTL8211F <--> FM1@DTSEC3
LS1043AQDS_MDIO_RGMII2:
2 - RealTek RTL8211F <--> FM1@DTSEC4
LS1043AQDS_MDIO_SLOT1:
LS1043AQDS_MDIO_SLOT2:
LS1043AQDS_MDIO_SLOT3:
LS1043AQDS_MDIO_SLOT4:
LS1043AQDS_MDIO_10GC:
9 - Generic 10G PHY <--> FM1@TGEC1


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

313 Views
klh
Contributor I

Hi YiPing,

Do you mean I need to compile the uboot of LS1043aqds instead of LS1043ardb for LS1043argw board? Or do you mean i should insert the above code

} else if (fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_XGMII &&
                   port == FM1_10GEC1) {
                /* XFI interface */
                f_link.phy_id = cpu_to_fdt32(port);
                f_link.duplex = cpu_to_fdt32(1);
                f_link.link_speed = cpu_to_fdt32(10000);
                f_link.pause = 0;
                f_link.asym_pause = 0;
                /* no PHY for XFI */
                fdt_delprop(fdt, offset, "phy-handle");
                fdt_setprop(fdt, offset, "fixed-link", &f_link, sizeof(f_link));
                fdt_setprop_string(fdt, offset, "phy-connection-type", "xgmii");
        }
}

into eth.c of ls1043ardb and compile? It's clear that this code is not in eth.c of ls1043ardb but in eth.c of ls1043aqds. 

The one I use as per original that shipped together with the reference design kit (RGW) is already in binary form. I do not know what it's compiled as, but i do suspect it's RDB's code. By default the SFP+ does not work to establish a link. I had thought at least the rgw that we bought comes with the code that has the SFP+ already working...

many thanks in helping...

0 Kudos