2017-10-24 7 views
0

Zynq Ultrascale +(ボードZCU102 Rev 1)でLinuxベースのOSを起動し、hereで説明されているようにカーネルを構成し、Vivado SDK 2017.2によって自動的に生成されたデバイスツリーと、macb ff0e0000.ethernet eth0:PHYにアタッチできません

gem0: [email protected] { 
     compatible = "cdns,zynqmp-gem"; 
     status = "disabled"; 
     interrupt-parent = <0x4>; 
     interrupts = <0x0 0x39 0x4 0x0 0x39 0x4>; 
     reg = <0x0 0xff0b0000 0x0 0x1000>; 
     clock-names = "pclk", "tx_clk", "hclk"; 
     #address-cells = <0x1>; 
     #size-cells = <0x0>; 
     #stream-id-cells = <0x1>; 
     iommus = <0x8 0x874>; 
     power-domains = <0xd>; 
     clocks = <0x3 0x2d 0x3 0x2d 0x3 0x31>; 
    }; 

    gem1: [email protected] { 
     compatible = "cdns,zynqmp-gem"; 
     status = "disabled"; 
     interrupt-parent = <0x4>; 
     interrupts = <0x0 0x3b 0x4 0x0 0x3b 0x4>; 
     reg = <0x0 0xff0c0000 0x0 0x1000>; 
     clock-names = "pclk", "tx_clk", "hclk"; 
     #address-cells = <0x1>; 
     #size-cells = <0x0>; 
     #stream-id-cells = <0x1>; 
     iommus = <0x8 0x875>; 
     power-domains = <0xe>; 
     clocks = <0x3 0x2e 0x3 0x2e 0x3 0x32>; 
    }; 

    gem2: [email protected] { 
     compatible = "cdns,zynqmp-gem"; 
     status = "disabled"; 
     interrupt-parent = <0x4>; 
     interrupts = <0x0 0x3d 0x4 0x0 0x3d 0x4>; 
     reg = <0x0 0xff0d0000 0x0 0x1000>; 
     clock-names = "pclk", "tx_clk", "hclk"; 
     #address-cells = <0x1>; 
     #size-cells = <0x0>; 
     #stream-id-cells = <0x1>; 
     iommus = <0x8 0x876>; 
     power-domains = <0xf>; 
     clocks = <0x3 0x2f 0x3 0x2f 0x3 0x33>; 
    }; 

    gem3: [email protected] { 
     compatible = "cdns,zynqmp-gem"; 
     status = "okay"; 
     interrupt-parent = <0x4>; 
     interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>; 
     reg = <0x0 0xff0e0000 0x0 0x1000>; 
     clock-names = "pclk", "hclk", "tx_clk", "rx_clk"; 
     #address-cells = <0x1>; 
     #size-cells = <0x0>; 
     #stream-id-cells = <0x1>; 
     iommus = <0x8 0x877>; 
     power-domains = <0x10>; 
     clocks = <0x3 0x1f 0x3 0x34 0x3 0x30 0x3 0x34>; 
     phy-mode = "rgmii-id"; 
     xlnx,ptp-enet-clock = <0x0>; 
    }; 

起動すると、カーネルメッセージのいずれかがある:

macb ff0e0000.ethernet eth0: Could not attach to PHY 

と、あなたが実行している場合:

ifconfig -a 
以下に示します

シェルプロンプト:

[email protected]:~# ifconfig -a 
can0: flags=128<NOARP> mtu 16 
     unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) 
     RX packets 0 bytes 0 (0.0 B) 
     RX errors 0 dropped 0 overruns 0 frame 0 
     TX packets 0 bytes 0 (0.0 B) 
     TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
     device interrupt 11 

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 
     inet 127.0.0.1 netmask 255.0.0.0 
     inet6 ::1 prefixlen 128 scopeid 0x10<host> 
     loop txqueuelen 1 (Local Loopback) 
     RX packets 6 bytes 372 (372.0 B) 
     RX errors 0 dropped 0 overruns 0 frame 0 
     TX packets 6 bytes 372 (372.0 B) 
     TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

sit0: flags=128<NOARP> mtu 1480 
     sit txqueuelen 1 (IPv6-in-IPv4) 
     RX packets 0 bytes 0 (0.0 B) 
     RX errors 0 dropped 0 overruns 0 frame 0 
     TX packets 0 bytes 0 (0.0 B) 
     TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

なしETHは存在しません。その問題を解決する方法の提案?

答えて

0

SOLUTIONはFOUND:

(自動的にVivadoによって生成された)システムtop.dtsに追加する必要があり、この方法でファイル "zcu102-revb.dtsi":

/* 
* CAUTION: This file is automatically generated by Xilinx. 
* Version: 
* Today is: Wed Sep 13 12:25:12 2017 
*/ 


/dts-v1/; 
/include/ "zynqmp.dtsi" 
/include/ "zynqmp-clk-ccf.dtsi" 
/include/ "zcu102-revb.dtsi" 
/include/ "pl.dtsi" 
/include/ "pcw.dtsi" 

....etc.... 

このファイルは、「xilinx-zcu102-zu9-es2-rev1.0-2017.2」パッケージにあります(here, in the Xilinx webpage)。

また、 "linux-xlnx/arch/arm64/boot/dts/xilinx /"フォルダのカーネルlinuxソースファイルで見つけることができます。生成された新しいデバイスツリーで

、それはeth0のを使用することが可能であるとカーネルが求められます。

macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 31 (00:0a:35:03:77:52) 

また、私はちょうどXilinx forumに答えを掲載しています。

関連する問題