imx6 RGMII RX interface voltage too low

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6 RGMII RX interface voltage too low

Jump to solution
1,547 Views
andy_cc_huang
Contributor II

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

Labels (2)
Tags (2)
0 Kudos
Reply
1 Solution
1,087 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

2 Replies
1,088 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

1,087 Views
andy_cc_huang
Contributor II

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

0 Kudos
Reply