cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ccasanova
Observer
Observer
866 Views
Registered: ‎03-13-2019

Zynq 7010 with ETH1 EMIO

Hello,

 

I am trying to connect an external device without PHY via Ethernet RGMII MAC to a Zynq 7010. I have used in PL side the IP GMII to RGMII, but petalinux says me that it's necesarry an external PHY connected to this IP block.

Is not possible to use this IP block (GMII to RGMII) without an external PHY to use a MAC to MAC ethernet direct connection?

Thanks in advance

 

Carlos

0 Kudos
Reply
7 Replies
baltintop
Voyager
Voyager
854 Views
Registered: ‎06-28-2018

In order to do the conversion between digital data and electrical/optical signals you need a PHY (PCS + PMA + PMD).

You can use Xilinx 1G/2.5G Ethernet PCS/PMA IP core which is available for free.

Edit: Zynq 7010 does not have gigabit transceivers, so you cannot use this IP.

ccasanova
Observer
Observer
833 Views
Registered: ‎03-13-2019

Hi @baltintop ,

 

Thanks for your quick reply.

I know that a Phy is necessary to conversion between digital to electrical signals. But i need to connect MAC to MAC. I need to connect a 7010 device with a switch without MDIO. That switch is hardware configured to 100MBPS and full duplex.

So i need, GEM1 of Zynq7010 via EMIO in GMII format, transform it with GMII to RMGII IP to RGMII format, and then connect this signal to the swicth but without external MDIO.

0 Kudos
Reply
nanz
Moderator
Moderator
820 Views
Registered: ‎08-25-2009

Hi @ccasanova ,

You can try to use the fixed-link node for MAC to MAC connection and see if this works for you. 

 fixed-link {
                speed = <1000>;
                full-duplex;
}
 
"Don't forget to reply, kudo and accept as solution."
ccasanova
Observer
Observer
740 Views
Registered: ‎03-13-2019

Hello @nanz,

 

I've tryed the fixed link inside the gem1 node. But it's the same,  I think  that in the driver of IP GMII to RGMII, it is mandatory to have an external PHY.

0 Kudos
Reply
nanz
Moderator
Moderator
721 Views
Registered: ‎08-25-2009

Hi @ccasanova ,

Yes you are right. So the GMII to RGMII core needs MDIO interface to access the PHY. It will not work with this fixed link mode. Sorry I only thought of RGMII fixed link implementation initially without taking the shim core into accout. 

 

"Don't forget to reply, kudo and accept as solution."
0 Kudos
Reply
ccasanova
Observer
Observer
710 Views
Registered: ‎03-13-2019

Thanks @nanz 

I modifed de device tree to use fixed link in gem1 and to remove the use GM_to_RGMII ip driver (because i dont have an external phy).

Zynq-7000.dtsi 
gem1: ethernet@e000c000 {                                    compatible = "cdns,zynq-gem", "cdns,gem";                                    reg = <0xe000c000 0x1000>;                                    status = "disabled";                                    interrupts = <0 45 4>;                                    clocks = <&clkc 31>, <&clkc 31>, <&clkc 14>;                                    clock-names = "pclk", "hclk", "tx_clk";                                    #address-cells = <1>;                                    #size-cells = <0>;                         };

 

Pcw.dts 
&gem1 {             phy-handle = <&phy1>;             phy-mode = "gmii";             status = "okay";             xlnx,ptp-enet-clock = <0x69f6bcb>;             ps7_ethernet_1_mdio: mdio {                         #address-cells = <1>;                         #size-cells = <0>;                         gmii_to_rgmii_0: gmii_to_rgmii_0@8 {                                    compatible = "xlnx,gmii-to-rgmii-1.0";                                    phy-handle = <&phy1>;                                    reg = <8>;                         };             }; };

 

System-user.dtsi 

&gem1 {

            /delete-property/ phy-handle;

            phy-mode = "gmii";

            status = "okay";

            fixed-link {

                        speed = <10>;

                        full-duplex;

            };

            /delete-node/ gmii_to_rgmii_0;

            /delete-node/ mdio;

 

In order to configure the IP (like i dont have driver), in the uboot, I have acces to MDIO in order to write the register 0x10 of GMI_to_RGMII IP to configure the speed.

When i boot linux, i have seen the eth1 ethernet card (that is the one that is connected via EMIO) but when ii will up the message that appears is "unable to generate target frequency: 125000000 HZ".

 

....any suggestion?

0 Kudos
Reply
ccasanova
Observer
Observer
661 Views
Registered: ‎03-13-2019

Any update about this problem???

0 Kudos
Reply