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:
-) 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 ?
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:
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
just set these bits as dts file dose, these reserved bits are for IC team, customer don't need to change this