Jump to content

    
Sign in to follow this  
карамболь

Ultrascale MPsoc + multiple PHY

Recommended Posts

Здравствуйте.

Появилась необходимость использовать два GEM, причем, будут использованы разные микросхемы PHY.

Ковыряясь в Vivado обнаружил, что несмотря на возможность выбора 4-х GEM, сигналы MDC всегда MIO76 и MIO76.

Насколько я понял в DTB это должно выглядеть так

mdio {
        compatible = "cdns,macb-mdio";
        reg = <0x0 0xff0b0000 0x0 0x1000>;
        clocks = <&clk125>, <&clk125>, <&clk125>;
        clock-names = "pclk", "hclk", "tx_clk";
        ethernet_phya: ethernet-phy@a {
            reg = <0xA>;
        };
        ethernet_phyb: ethernet-phy@b {
            reg = <0xB>;
        };        
    };

    Gem1: ethernet@ff0b0000 {
    ....
    phy-handle = <& ethernet_phya>;
    }

    Gem3: ethernet@ff0c0000 {
    ....
    phy-handle = <& ethernet_phyb>;
    }

 Так ли это ? Может был у кого такой опыт ?

Share this post


Link to post
Share on other sites
1 hour ago, карамболь said:

Никто не подключал больше одного Gem ?

На zcu102 подключали 2 GEM. Пины, вроде, везде были разными. Вообще, есть смысл залезть в вики от хилых и посмотреть их примеры. Там точно есть reference design для использования нескольких GEM.

Share this post


Link to post
Share on other sites
4 minutes ago, nice_vladi said:

На zcu102 подключали 2 GEM. Пины, вроде, везде были разными. Вообще, есть смысл залезть в вики от хилых и посмотреть их примеры. Там точно есть reference design для использования нескольких GEM.

есть, но там 2-й GEM через PL (EMIO) роутится. Во всяком, случае, что нашел пока. 

На форуме у кислых нашел топик с таким решением по DTB

&gem0 {
  status = "okay";
  local-mac-address = [00 0a 35 00 00 00];
  phy-handle = <&ethernet_phy0>;
  ethernet_phy0: ethernet-phy@0 {
  reg = <0>;
    };
    ethernet_phy1: ethernet-phy@1{
    reg = <1>;
	};
};
&gem1 {
status = "okay";
local-mac-address = [00 0a 35 00 00 01];
phy-handle = <&ethernet_phy1>;
};

И вроде бы, у коллеги это сработало. Вот я и хотел убедиться, так ли это...

Я правильно понимаю, что при такой реализации, подключать в Vivado MDI нужно только для для GEM0 ?

Меня немного смущает, что два разных интерфейса юзают одни и те же пины MDIO.

Share this post


Link to post
Share on other sites
11 hours ago, карамболь said:

Меня немного смущает, что два разных интерфейса юзают одни и те же пины MDIO.

Два разных интерфейса юзают одну шину MDIO. И это нормально. DT выше - рабочий, проверено на себе.

Share this post


Link to post
Share on other sites
8 minutes ago, gosha-z said:

Два разных интерфейса юзают одну шину MDIO. И это нормально. DT выше - рабочий, проверено на себе.

Спасибо !

Т.е. только для одного интерфейса GEM активизировать галочку MDIO ?

Edited by карамболь

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this