Hi ,
We have a imx6solo custom board and use RGMII + marvell 3.3v phy .
Our circuit is RGMII RX pins + level shifter + marvell phy
RGMII TX pins + level shifter + marvell phy
In this situation , imx6 tx packets are ok, but RX pins voltage will drop to 2.0v.
And then we remove level shifter , marvell tx come out correct 3.3v after measuring.
In the end , we wired marvell tx + imx6 rx RGMII directly , but the voltage is still drop to 2.0v.
We try our all RX DSE and PUS combination but no help.
Do you have any idea to debug this ?
Here is our pin defination.
pinctrl_enet: enetgrp {
fsl,pins = <
MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
MX6QDL_PAD_KEY_COL2__ENET_MDC 0x1b0b0
MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
>;
};
Best,
Andy
Solved! Go to Solution.
Hi Andy
this may be hardware related, please check how powered RGMII
pins with oscilloscope using i.MX6SDL Datasheet Table 8. Operating ranges,
Table 96. 21 x 21 mm Functional Contact Assignments
http://cache.freescale.com/files/32bit/doc/data_sheet/IMX6SDLCEC.pdf
Just for test one can attach jtag (or printf iomux register) to verify that register
MX6QDL_PAD_RGMII_RD is configured as input. Disconnect input from marvell phy
and configure it as pull-up with PUS, there should be high level with value of RGMII power supply.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Andy
this may be hardware related, please check how powered RGMII
pins with oscilloscope using i.MX6SDL Datasheet Table 8. Operating ranges,
Table 96. 21 x 21 mm Functional Contact Assignments
http://cache.freescale.com/files/32bit/doc/data_sheet/IMX6SDLCEC.pdf
Just for test one can attach jtag (or printf iomux register) to verify that register
MX6QDL_PAD_RGMII_RD is configured as input. Disconnect input from marvell phy
and configure it as pull-up with PUS, there should be high level with value of RGMII power supply.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thanks for your reply. We found our marvell phy can not provide enough current for the i.mx6.
So we force the speed to 100M and I can ping successfully.
Best,
Andy