Hi,
I'm using AM335x EVM, how to enable and run gigabit ethernet in u-boot ?
The uboot cpsw driver seem like will switch to 100base ethernet once it detect the speed is 1000Base. Why the u-boot do like that?
Thanks and Regards
Keldy
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.
Hi,
I'm using AM335x EVM, how to enable and run gigabit ethernet in u-boot ?
The uboot cpsw driver seem like will switch to 100base ethernet once it detect the speed is 1000Base. Why the u-boot do like that?
Thanks and Regards
Keldy
Initial versions of the EVM did not have 1G Phy's on them. In the u-boot source
board/ti/am335x/evm.c
The speed is initially set to 1G, but depending on the board type in the function board_eth_init the speed will be decreased. EVM boards that are 1.1A or greater have 1G Phys on them. Here is a snippet of the code that performs that speed downgrade based on board type.
} else if (board_id == IA_BOARD) {
cpsw_slaves[0].phy_id = 30;
cpsw_slaves[1].phy_id = 0;
/* No gigabit */
cpsw_data.gigabit_en = 0;
} else {
/* set mii mode to rgmii in in device configure register */
writel(RGMII_MODE_ENABLE, MAC_MII_SEL);
}
/* GP EVM 1.0 (A, B) does not have functional gigabit */
if (board_id == GP_BOARD && !strncmp(header.version, "1.0", 3))
cpsw_data.gigabit_en = 0;
I would like to clarify Schuyler's comments about early AM335x EVMs not having 1Gbps PHYs.
All of the AM335x EVMs contained a 1Gbps PHY, but the PCB signal traces on the early versions did not provide the required RGMII signal integrity for proper operation at 1Gbps.
The board revision will be marked on the PCB near the RJ-45 connector. Can you tell us which revision of the AM335x EVM you are using?
Regards,
Paul