imx6ul - ethernet doesnt work in linux kernel 5.4 - but works in uboot - with own board design

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

imx6ul - ethernet doesnt work in linux kernel 5.4 - but works in uboot - with own board design

926 Views
sankerspace
Contributor I

Hello,

We use uboot 2016 and we are able to perform network operations in the uboot environment.

It seems that our device tree is not configured appropriate, but we have no clue whats the problem.

Our ethernet is connected only on the eth2 port, we doesn't use eth1 at all;

What works in the kernel so far:

- When issuing the link up/down command in linux, the 50MHz Ref-Clk on ENET2_TX_CLK activates and deactivates acccordingly. So it seems that the kernel does use the right ETH-instance

What doesnt work:

- Although the Clock is issued correctly, the data signal output by the imx6ul stay silent. We double checked the IO_MUX and PAD settings of the RMII ETH2 Pins of the i.mx, everything looked ok (Push/Pull Drivers of full strength, the MUX issued the ETH2 periphery corerectly with 0b0000)

Some screenshots:

DeviceTree-Ethernet DeviceDeviceTree-Ethernet Devicemux paddingsmux paddings

-) in the first screenshot we disabled 'compatible = "ethernet-phy-ieee802.3-c22" ' in the device tree, but didnt work either (neither enabled nor disabled) -> we also are not sure that if this generic driver is approriate.

We use the the "IC Plus IP101GR" network chip, maybe the driver support is not appropriate, and what must be enabled in the kernel config ?

 

0 Kudos
2 Replies

906 Views
johannesdev
Contributor III

Hi!

We finally found the error. We forgot to add 0x4001 before the CLK pin of ETH2 as is always added in other device-trees.

MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2       0x400110d9

The PHY now works like a charm with this value at the MSBs! However, I am wondering myself why it is necessary to add 0x4001. According to the reference manual these bits lie within the reserved space of the register:

johannesdev_0-1615470130166.png

Could any senior developer of the iMX kindly tell me what's that 0x4001 is all about?! What am I missing here? What does the magic?

Best regards,
Johannes

0 Kudos

896 Views
joanxie
NXP TechSupport
NXP TechSupport

just set these bits as dts file dose, these reserved bits are for IC team, customer don't need to change this

 

0 Kudos