Forums » Software Development »
Mityarm RGMII1 question
Added by david mckinley almost 11 years ago
I am in the process of debugging the SMSC LAN8820 PHY on a board that has a Mityarm board used as the CPU. The PHY is connected as RGMII1, with pinmux files changed in u-boot and baseboard-mityarm335x-devkit.c. I also added this new PHY to the smsc.c driver file.I can talk to the PHY through MDIO OK, I can configure it. I also tested pinmuxing by running the RGMII-REFCLK pin to an test point and verified it is outputing 50MHz. The SMSC phy has it's own 25MHz clock connected. I force the PHY to run at 100Mb, no auto negotiation. All the registers in MDIO look OK, the PHY links correctly to a router. On the pins to the Mityarm module, RGMII1 is being used from the defaulted RGMII2 configuration from the dev board. The PHY is correctly sending a clock (25Mhz), control and rd data[3:0] to the Mityarm module (GMII1_RXD[3:0}). When I run ping on the Mityarm terminal, I can ifconfig eth1 successfully. I cannot ping out, and all the transmit RGMII phy signals are low, this include TXCLK, TXD[3:0], and TXEN.
Since the RGMII2 connection was used in the dev board, is there something more to change to make the RGMII1 bus work correctly outside of changing pin multiplexing? It looks like RGMII1 connection is disabled. but the MDIO bus is OK.
smsclan8820_bootlog.txt (27.7 KB) smsclan8820_bootlog.txt | smsc lan8820 bootlog, ifconfig, ping | ||
baseboard-mityarm335x-devkit.c (21.4 KB) baseboard-mityarm335x-devkit.c | changed file for pin mux to rgmii1 | ||
smsc.c (8.23 KB) smsc.c | changed file to add lan8820 | ||
mux.c (15.2 KB) mux.c | u-boot pin mux changed | ||
som.c (24.5 KB) som.c | u-boot som file |
Replies (3)
RE: Mityarm RGMII1 question - Added by Michael Williamson almost 11 years ago
I think you also need to modify the devices.c.
Search for cpsw_salve_data. The phy_id needs to be assigned to the correct slave index.
The CONFIG_BASEBOARD_MITYARM335X_TESTFIXTURE actually uses the RGMII1 instead of RGMII2.
-Mike
RE: Mityarm RGMII1 question - Added by david mckinley almost 11 years ago
I setup up devices.c with phy_id set to 0:1 and 0:0. The phy is found, but I do not see any activity on the RGMII1 interface. Is there another setting in a file for which MAC to use? I noticed in the SOM.c in U-boot, PROFILE_1 when using the test fixture, sets the the network to mac 0. And in the file under etc/../rc/70-.. there are two mac addresses, one sets up for eth0, the other sets up the mac to eth1. I never see eth0, which is probably mac0 or RGMII1. There must be a compiled option in the code pointing to only RGMII2. Since the testfixture uses RGMII1, is there an example of this in the code?
RE: Mityarm RGMII1 question - Added by david mckinley almost 11 years ago
The etc file for setting the eth0 to mac is:
/etc/udev/rules.d/70-persistant-net.rules