Connect Colbri IMX6 ethernet to Ethernet SW Chipset KSZ8794 from microchip

I try to connect Colibri-IMX6dl to Ethernet SW chipset on my board.
I select a chip from microchip KSZ8794.
My RX+/- and TX+/- on colibri connect to the pins on KSZ8794.
I check RX/TX and it connect correctly
it don’t work, the Port on Linux command line just come up for one second and go down.
the KSZ8794 have three port and two other connect to Trasformer and work fine
also the KSZ8794 have on chip termination, and it connect directly to Colibri-IMX6dl without trasformer
But it look like about Termination

HI @kave

Could you share your schematics in a private comment?
What changes have you done in your device-tree files?

Best regards,
Jaski

Thank you for the schematics. Connecting an Ethernet switch to the Colibri module requires either an inductive (over a transformer) or a capacitive coupling (by using capacitors). Please find here an application note from Microchip (former Micrel).. The Ethernet PHY on the Colibri module requires an external DC bias since it runs in the current mode. Therefore, you need to add a 3.3V power rail to the node between the two 50R resistors. Your Ethernet switch, on the other hand, has on-chip termination with an internal bias for all ports. Therefore, you do not need external termination resistors for these ports (see section 3.1.10 of the KSZ8794 datasheet).

Looking at your schematics, I do not understand how you have coupled the Ethernet. Even though I see a capacitive coupling circuit on page 3 with the note that one side is connected to the KSZ8794 and the other side to the Colibri, there are no net names on this circuit. Is this circuit really connected? Even if it is connected, it misses the center tab voltage for the Colibri module. You could patch it by replacing C14 with a resistor. Interestingly, on pages 1 and 2, I can see netnames for the Ethernet signals (TX2_P, TX2_N, RX2_P, and RX2_N) which indicate that the ethernet signals are directly connected without having the coupling circuit in place.

Thanks for your reply.
How could we disable Auto MIDI/XMIDI on Colibri-IMX6?

Hi @kave

Sorry for the delayed answer. I will come within this week back to your question.

Best regards,
Jaski

Hi @kave

You can enable/disable MDI/MDI-X by writing to the Register 1Fh – PHY Control 2 of the internal Phy of the SoM. The datasheet of the Phy can be found here.

Best regards,
Jaski

Hi
any solution in linux? Devicetree ?

Yes. You can set this parameter with ethtool too.

Best regards,
Jaski

Hi
I try to final my sch connecting Colibri imx6 with KSZ8794
it look like KSZ8041 is on the colibri imx6 board,
Does it have termination resistors on SOM?
Does it have internal Dc bias ?
could you please check my sch design and let me know that it is ok ?

link text

I @kave
Thank you for the schematic diagram. There are no termination resistors on the SoM. The KSZ8041 does not have an internal DC bias. This means it requires that you apply a center tap voltage of 3.3V between the two 50R resistors. This is the only issue I found with your design. You need to add this voltage to both, ETH_TXO and ETH_RXI.