UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer braydencdv
Observer
1,900 Views
Registered: ‎06-13-2018

ZCU102 static IP does not work

Jump to solution

I have ZCU102-rev1.1 and have been trying to build a petalinux kernel with a set static IP for the ethernet port. I first tried in 2017.1 and now 2018.2. When I set the static IP in the petalinux-config to static with my desired IP and boot that image the eth0 doesn't show up anywhere only the loopback and sit. I am using the ZCU102 BSP(prod-silcon) from the petalinux downloads.

 

root@petalinux_2018:~# ifconfig -a
can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:11

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1%4882584/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

However, when I boot the prebuilt image I am able to see the eth, so I know it does work. I just can't use the auto IP config because it has to have a set IP to be able to run the binaries that I need ran on the board.

 

 

0 Kudos
1 Solution

Accepted Solutions
Observer braydencdv
Observer
1,746 Views
Registered: ‎06-13-2018

Re: ZCU102 static IP does not work

Jump to solution

To conclude this Post:

 

Board: ZCU102 rev 1.1

 

I was finally able to get the Ethernet to work properly with the following.

This file is located in project_root/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi

/include/ "system-conf.dtsi"
/{
};

&gem3 {
	status = "okay";
	local-mac-address = [00 0a 35 00 22 01];
	phy-mode = "rgmii-id";
	phy-handle = <0x13>;
    phy@c {
        reg = <0x0000000c>;
		ti,rx-internal-delay = <0x00000008>;
		ti,tx-internal-delay = <0x0000000a>;
		ti,fifo-depth = <0x00000001>;
		ti,rxctrl-strap-worka;
		linux,phandle = <0x00000013>;
		phandle = <0x00000013>;
            };
};

I got here by using the posts that are linked in this thread. In addition to that I took the prebuilt image (since that booted and loaded the Ethernet driver fine) device tree and compared it the device tree that my built image had created. you can view the device tree by running 

fdtdump system.dtb>../<your_file_name>.dts

 and then opening the created file in a text editor.

 

This is the one I built,

        ethernet@ff0e0000 {
            compatible = "cdns,zynqmp-gem", "cdns,gem";
            status = "okay";
            interrupt-parent = <0x00000004>;
            interrupts = <0x00000000 0x0000003f 0x00000054 0x00001000 0x70636c6b 0x0072785f>;
            reg = <0x00000000 0x00000003 0x0068636c 0x636c6b00>;
            clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            #stream-id-cells = <0x00000001>;
            iommus = <0x00000009 0x00000206>;
            power-domains = <0x00000011>;
            clocks = <0x00000003 0x00000003 0x00000003 0x0000024b 0x00000003 0x00000003 0x22010000 0x00000012 0x00000003 0x726e6574>;
            phy-mode = "rgmii-id";
            xlnx,ptp-enet-clock = <0x00000000>;
            local-mac-address = [00 0a 35 00 22 01];
            phy-handle = <0x00000012>;
            phy0@1 {
                device_type = "ethernet-phy";
                reg = <0x00000001>;
                linux,phandle = <0x00000012>;
                phandle = <0x00000012>;
            };
        };

This is the prebuild:

        ethernet@ff0e0000 {
            compatible = "cdns,zynqmp-gem", "cdns,gem";
            status = "okay";
            interrupt-parent = <0x00000004>;
            interrupts = <0x00000000 0x0000003f 0x0000005a 0x00001000 0x70636c6b 0x0072785f>;
            reg = <0x00000000 0x00000003 0x0068636c 0x636c6b00>;
            clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            #stream-id-cells = <0x00000001>;
            iommus = <0x0000000a 0x0000020c>;
            power-domains = <0x00000012>;
            clocks = <0x00000003 0x00000003 0x00000003 0x00000269 0x0000021a 0x00000004 0x00000009 0x00000000 0x00000000 0x000a3500>;
            phy-handle = <0x00000013>;
            pinctrl-names = "default";
            pinctrl-0 = <0x00000014>;
            phy-mode = "rgmii-id";
            xlnx,ptp-enet-clock = <0x00000000>;
            local-mac-address = [00 0a 35 00 22 01];
            phy@c {
                reg = <0x0000000c>;
                ti,rx-internal-delay = <0x00000008>;
                ti,tx-internal-delay = <0x0000000a>;
                ti,fifo-depth = <0x00000001>;
                ti,rxctrl-strap-worka;
                linux,phandle = <0x00000013>;
                phandle = <0x00000013>;
            };
        };

As you can see above the handle that mine was looking for was wrong so I simply copied over what was in the correct build into the system-user.dtsi file and it now works without any problems. From my understanding all boards are going to be different so the additions that are made to the system-user.dtsi file are board specific. 

View solution in original post

0 Kudos
9 Replies
Voyager
Voyager
1,852 Views
Registered: ‎09-14-2016

Re: ZCU102 static IP does not work

Jump to solution

Hi @braydencdv,

 

We need more info to help you :)

 

Device-tree ? bootlog ?

 

Cheers,

Trigger

0 Kudos
Observer braydencdv
Observer
1,845 Views
Registered: ‎06-13-2018

Re: ZCU102 static IP does not work

Jump to solution

Hi @trigger,

 

Attached I placed the device tree and a copy of my terminal output when I booted. In this terminal log I had tried changing back to auto config the IP to see if it would show up but it didn't. I had the same output as before.

 

Thank you

0 Kudos
Voyager
Voyager
1,841 Views
Registered: ‎09-14-2016

Re: ZCU102 static IP does not work

Jump to solution

Hi @braydencdv,

 

Seems some troubles are shown in the lo:

 

[    1.652670] macb ff0e0000.ethernet: Not enabling partial store and forward
[    1.653043] libphy: MACB_mii_bus: probed
[    1.656749] macb ff0e0000.ethernet eth0: Could not attach to PHY

 

Should be something like that:

[    2.011258] macb ff0e0000.ethernet: Not enabling partial store and forward
[    2.011824] libphy: MACB_mii_bus: probed
[    2.015315] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 30 (00:0a:35:00:02:90)
[    2.015324] TI DP83867 ff0e0000.etherne:09: attached PHY driver [TI DP83867] (mii_bus:phy_addr=ff0e0000.etherne:09, irq=-1)

Seems to be a little issue in dts generation, so you can take a look here:

 

https://forums.xilinx.com/t5/Embedded-Linux/ethernet-adapter-not-found-petalinux-2017-1/td-p/772804

 

Cheers,

Trigger

0 Kudos
Observer braydencdv
Observer
1,816 Views
Registered: ‎06-13-2018

Re: ZCU102 static IP does not work

Jump to solution

@trigger,

 

I took a look at the post you linked as well as the original one here that I had found and was linked in the post. Both describe adding something into the "system-user.dtsi". However I don't know enough about what they are adding or even where to look for that information for my board. 

 

In this ZCU102 Eval UG on page 48 I found what I believe to be the correct PHY value for register. However, after changing the system-user.dtsi to 

/include/ "system-conf.dtsi"
/{
};
&gem3 {
     status ="okay";
     local-mac-address = [00 0a 35 00 22 01];
     phy-mode = "rgmii-id";
     phy-handle = <&phy0>;
     phy0: phy@c {
          device_type = "ethernet-phy";
          reg = <0xc>;
     };
};

The kernel has just been crashing and won't boot properly. This is my terminal output from the kernel when it crashes 

ZynqMP> bootm 0x1000000
## Loading kernel from FIT Image at 01000000 ...
   Using 'conf@system-top.dtb' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x01000104
     Data Size:    6960375 Bytes = 6.6 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00080000
     Entry Point:  0x00080000
     Hash algo:    sha1
     Hash value:   ******************************
   Verifying Hash Integrity ... sha1+ OK
## Loading ramdisk from FIT Image at 01000000 ...
   Using 'conf@system-top.dtb' configuration
   Trying 'ramdisk@1' ramdisk subimage
     Description:  petalinux-user-image
     Type:         RAMDisk Image
     Compression:  gzip compressed
     Data Start:   0x016ab378
     Data Size:    6414413 Bytes = 6.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   ***********************************
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 01000000 ...
   Using 'conf@system-top.dtb' configuration
   Trying 'fdt@system-top.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x016a3700
     Data Size:    31665 Bytes = 30.9 KiB
     Architecture: AArch64
     Hash algo:    sha1
     Hash value:   *************************************
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x16a3700
   Uncompressing Kernel Image ... OK
   Loading Ramdisk to 079e1000, end 07fff04d ... OK
   Loading Device Tree to 00000000079d6000, end 00000000079e0bb0 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0-xilinx-v2018.2 (oe-user@oe-host) (gcc version 7.2.0 (GCC)) #1 SMP Mon Sep 24 13:39:52 MDT 2018
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Machine model: xlnx,zynqmp
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] bootconsole [cdns0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006fc00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] percpu: Embedded 21 pages/cpu @ffffffc87ff78000 s46488 r8192 d31336 u86016
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1033987
[    0.000000] Kernel command line: earlycon clk_ignore_unused
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] software IO TLB [mem 0x6bc00000-0x6fc00000] (64MB) mapped at [ffffffc06bc00000-ffffffc06fbfffff]
[    0.000000] Memory: 3778288K/4193280K available (9980K kernel code, 644K rwdata, 3128K rodata, 512K init, 2168K bss, 152848K reserved, 262144K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
[    0.000000]     vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (   250 GB)
[    0.000000]       .text : 0xffffff8008080000 - 0xffffff8008a40000   (  9984 KB)
[    0.000000]     .rodata : 0xffffff8008a40000 - 0xffffff8008d60000   (  3200 KB)
[    0.000000]       .init : 0xffffff8008d60000 - 0xffffff8008de0000   (   512 KB)
[    0.000000]       .data : 0xffffff8008de0000 - 0xffffff8008e81200   (   645 KB)
[    0.000000]        .bss : 0xffffff8008e81200 - 0xffffff800909f2b0   (  2169 KB)
[    0.000000]     fixed   : 0xffffffbefe7fd000 - 0xffffffbefec00000   (  4108 KB)
[    0.000000]     PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (    16 MB)
[    0.000000]     vmemmap : 0xffffffbf00000000 - 0xffffffc000000000   (     4 GB maximum)
[    0.000000]               0xffffffbf00000000 - 0xffffffbf1dc00000   (   476 MB actual)
[    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc880000000   ( 34816 MB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU event tracing is enabled.
[    0.000000]  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[    0.000003] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008184] swapper/0[0]: undefined instruction: pc=ffffff800810635c
[    0.014362] Code: 00000000 00105310 001c1874 9347fc21 (001c1870)
[    0.020415] Internal error: undefined instruction: 0 [#1] SMP
[    0.026123] Modules linked in:
[    0.029153] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.14.0-xilinx-v2018.2 #1
[    0.036329] Hardware name: xlnx,zynqmp (DT)
[    0.040482] task: ffffff8008df2100 task.stack: ffffff8008de0000
[    0.046370] PC is at kick_all_cpus_sync+0x4/0x30
[    0.050952] LR is at __do_tune_cpucache+0x64/0x150
[    0.055706] pc : [<ffffff800810635c>] lr : [<ffffff800818b1f4>] pstate: 20000045
[    0.063057] sp : ffffff8008de3ed0
[    0.066345] x29: ffffff8008de3ed0 x28: 0000000000000008
[    0.071621] x27: 0000000000000400 x26: ffffff8008de8000
[    0.076898] x25: ffffff8008de8000 x24: ffffff8008de8000
[    0.082174] x23: ffffff8008dd68c8 x22: 000000000000003c
[    0.087450] x21: 0000000000000078 x20: ffffffc87b804100
[    0.092727] x19: 0000000000000078 x18: 0000000000000010
[    0.098003] x17: 0000000000000006 x16: ffffffc87b801088
[    0.103280] x15: ffffffffffffffff x14: 0000000000000000
[    0.108556] x13: 00000000000000f8 x12: 0000000000000001
[    0.113833] x11: 00000000000000f4 x10: 00000000000001ec
[    0.119109] x9 : 0000000000000000 x8 : ffffffc87ffc57b0
[    0.124386] x7 : 0000000000000000 x6 : 000000000000003f
[    0.129662] x5 : 000000000000000f x4 : 0000000000000000
[    0.134939] x3 : 0000000000000000 x2 : 0000000000000004
[    0.140215] x1 : ffffffff0011bae7 x0 : ffffff8008dd73e0
[    0.145493] Process swapper/0 (pid: 0, stack limit = 0xffffff8008de0000)
[    0.152152] Call trace:
[    0.154576] Exception stack(0xffffff8008de3d90 to 0xffffff8008de3ed0)
[    0.160977] 3d80:                                   ffffff8008dd73e0 ffffffff0011bae7
[    0.168762] 3da0: 0000000000000004 0000000000000000 0000000000000000 000000000000000f
[    0.176547] 3dc0: 000000000000003f 0000000000000000 ffffffc87ffc57b0 0000000000000000
[    0.184333] 3de0: 00000000000001ec 00000000000000f4 0000000000000001 00000000000000f8
[    0.192118] 3e00: 0000000000000000 ffffffffffffffff ffffffc87b801088 0000000000000006
[    0.199903] 3e20: 0000000000000010 0000000000000078 ffffffc87b804100 0000000000000078
[    0.207688] 3e40: 000000000000003c ffffff8008dd68c8 ffffff8008de8000 ffffff8008de8000
[    0.215473] 3e60: ffffff8008de8000 0000000000000400 0000000000000008 ffffff8008de3ed0
[    0.223258] 3e80: ffffff800818b1f4 ffffff8008de3ed0 ffffff800810635c 0000000020000045
[    0.231042] 3ea0: 0000000000000078 ffffffc87b804100 ffffffffffffffff 000000000000003c
[    0.238827] 3ec0: ffffff8008de3ed0 ffffff800810635c
[    0.243672] [<ffffff800810635c>] kick_all_cpus_sync+0x4/0x30
[    0.249295] [<ffffff800818b340>] enable_cpucache+0x60/0xe8
[    0.254746] [<ffffff8008d7633c>] kmem_cache_init_late+0x50/0x84
[    0.260627] [<ffffff8008d60a6c>] start_kernel+0x28c/0x3ac
[    0.265989] Code: 00000000 00105310 001c1874 9347fc21 (001c1870)
[    0.272050] random: get_random_bytes called from print_oops_end_marker+0x4c/0x68 with crng_init=0
[    0.280867] ---[ end trace 247f15dd1b3ac013 ]---
[    0.285451] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.292113] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

Does the crash have anything to do with the added dtsi or is there another issue?

 

Thank you

0 Kudos
Observer braydencdv
Observer
1,747 Views
Registered: ‎06-13-2018

Re: ZCU102 static IP does not work

Jump to solution

To conclude this Post:

 

Board: ZCU102 rev 1.1

 

I was finally able to get the Ethernet to work properly with the following.

This file is located in project_root/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi

/include/ "system-conf.dtsi"
/{
};

&gem3 {
	status = "okay";
	local-mac-address = [00 0a 35 00 22 01];
	phy-mode = "rgmii-id";
	phy-handle = <0x13>;
    phy@c {
        reg = <0x0000000c>;
		ti,rx-internal-delay = <0x00000008>;
		ti,tx-internal-delay = <0x0000000a>;
		ti,fifo-depth = <0x00000001>;
		ti,rxctrl-strap-worka;
		linux,phandle = <0x00000013>;
		phandle = <0x00000013>;
            };
};

I got here by using the posts that are linked in this thread. In addition to that I took the prebuilt image (since that booted and loaded the Ethernet driver fine) device tree and compared it the device tree that my built image had created. you can view the device tree by running 

fdtdump system.dtb>../<your_file_name>.dts

 and then opening the created file in a text editor.

 

This is the one I built,

        ethernet@ff0e0000 {
            compatible = "cdns,zynqmp-gem", "cdns,gem";
            status = "okay";
            interrupt-parent = <0x00000004>;
            interrupts = <0x00000000 0x0000003f 0x00000054 0x00001000 0x70636c6b 0x0072785f>;
            reg = <0x00000000 0x00000003 0x0068636c 0x636c6b00>;
            clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            #stream-id-cells = <0x00000001>;
            iommus = <0x00000009 0x00000206>;
            power-domains = <0x00000011>;
            clocks = <0x00000003 0x00000003 0x00000003 0x0000024b 0x00000003 0x00000003 0x22010000 0x00000012 0x00000003 0x726e6574>;
            phy-mode = "rgmii-id";
            xlnx,ptp-enet-clock = <0x00000000>;
            local-mac-address = [00 0a 35 00 22 01];
            phy-handle = <0x00000012>;
            phy0@1 {
                device_type = "ethernet-phy";
                reg = <0x00000001>;
                linux,phandle = <0x00000012>;
                phandle = <0x00000012>;
            };
        };

This is the prebuild:

        ethernet@ff0e0000 {
            compatible = "cdns,zynqmp-gem", "cdns,gem";
            status = "okay";
            interrupt-parent = <0x00000004>;
            interrupts = <0x00000000 0x0000003f 0x0000005a 0x00001000 0x70636c6b 0x0072785f>;
            reg = <0x00000000 0x00000003 0x0068636c 0x636c6b00>;
            clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            #stream-id-cells = <0x00000001>;
            iommus = <0x0000000a 0x0000020c>;
            power-domains = <0x00000012>;
            clocks = <0x00000003 0x00000003 0x00000003 0x00000269 0x0000021a 0x00000004 0x00000009 0x00000000 0x00000000 0x000a3500>;
            phy-handle = <0x00000013>;
            pinctrl-names = "default";
            pinctrl-0 = <0x00000014>;
            phy-mode = "rgmii-id";
            xlnx,ptp-enet-clock = <0x00000000>;
            local-mac-address = [00 0a 35 00 22 01];
            phy@c {
                reg = <0x0000000c>;
                ti,rx-internal-delay = <0x00000008>;
                ti,tx-internal-delay = <0x0000000a>;
                ti,fifo-depth = <0x00000001>;
                ti,rxctrl-strap-worka;
                linux,phandle = <0x00000013>;
                phandle = <0x00000013>;
            };
        };

As you can see above the handle that mine was looking for was wrong so I simply copied over what was in the correct build into the system-user.dtsi file and it now works without any problems. From my understanding all boards are going to be different so the additions that are made to the system-user.dtsi file are board specific. 

View solution in original post

0 Kudos
Observer braydencdv
Observer
1,802 Views
Registered: ‎06-13-2018

Re: ZCU102 static IP does not work

Jump to solution

SOLUTION

 

Board: ZCU102 rev1.1

petalinux: 2018.2

 

Using the forum posts that are linked in this thread and some trial and error this was the solution. In the file under project_root/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi, I add the following to the file.

 

&gem3 {
	status = "okay";
	local-mac-address = [00 0a 35 00 22 01];
	phy-mode = "rgmii-id";
	phy-handle = <0x13>;
    phy@c {
        reg = <0x0000000c>;
		ti,rx-internal-delay = <0x00000008>;
		ti,tx-internal-delay = <0x0000000a>;
		ti,fifo-depth = <0x00000001>;
		ti,rxctrl-strap-worka;
		linux,phandle = <0x00000013>;
		phandle = <0x00000013>;
            };
};

I got here by again using what are in the other forum posts for the similar issue and in addition I used the prebuilt image. I looked at the device tree using 

fdtdump system.dtb>../<your_file_name>.dts

After running this you can open the files up in a text editor and compare. This is the prebuilt:

        ethernet@ff0e0000 {
            compatible = "cdns,zynqmp-gem", "cdns,gem";
            status = "okay";
            interrupt-parent = <0x00000004>;
            interrupts = <0x00000000 0x0000003f 0x0000005a 0x00001000 0x70636c6b 0x0072785f>;
            reg = <0x00000000 0x00000003 0x0068636c 0x636c6b00>;
            clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            #stream-id-cells = <0x00000001>;
            iommus = <0x0000000a 0x0000020c>;
            power-domains = <0x00000012>;
            clocks = <0x00000003 0x00000003 0x00000003 0x00000269 0x0000021a 0x00000004 0x00000009 0x00000000 0x00000000 0x000a3500>;
            phy-handle = <0x00000013>;
            pinctrl-names = "default";
            pinctrl-0 = <0x00000014>;
            phy-mode = "rgmii-id";
            xlnx,ptp-enet-clock = <0x00000000>;
            local-mac-address = [00 0a 35 00 22 01];
            phy@c {
                reg = <0x0000000c>;
                ti,rx-internal-delay = <0x00000008>;
                ti,tx-internal-delay = <0x0000000a>;
                ti,fifo-depth = <0x00000001>;
                ti,rxctrl-strap-worka;
                linux,phandle = <0x00000013>;
                phandle = <0x00000013>;
            };
        };

This is the build I performed:

        ethernet@ff0e0000 {
            compatible = "cdns,zynqmp-gem", "cdns,gem";
            status = "okay";
            interrupt-parent = <0x00000004>;
            interrupts = <0x00000000 0x0000003f 0x00000054 0x00001000 0x70636c6b 0x0072785f>;
            reg = <0x00000000 0x00000003 0x0068636c 0x636c6b00>;
            clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            #stream-id-cells = <0x00000001>;
            iommus = <0x00000009 0x00000206>;
            power-domains = <0x00000011>;
            clocks = <0x00000003 0x00000003 0x00000003 0x0000024b 0x00000003 0x00000003 0x22010000 0x00000012 0x00000003 0x726e6574>;
            phy-mode = "rgmii-id";
            xlnx,ptp-enet-clock = <0x00000000>;
            local-mac-address = [00 0a 35 00 22 01];
            phy-handle = <0x00000012>;
            phy0@1 {
                device_type = "ethernet-phy";
                reg = <0x00000001>;
                linux,phandle = <0x00000012>;
                phandle = <0x00000012>;
            };
        };

As you can see they are different. So using this knowledge of what it should be I added the correct PHY handle address as well as the phy@c config into my dtsi file and it worked no problem. Obviously all boards are different so this specific .dtsi will not necessarily work for any other board. However simply use your working boards BSP and prebuilt from Xilinx and you should be able to figure it out the correct info.

 

 

 

 

0 Kudos
Highlighted
Moderator
Moderator
1,790 Views
Registered: ‎04-24-2017

Re: ZCU102 static IP does not work

Jump to solution

Hi All,

 

In PetaLinux you don't need to set the board specific device-tree nodes manually for eval boards in system-user.dtsi just set in petalinux-config option.

 

$ petalinux-config ---> DTG Settings ---> (zcu102-rev1.0) MACHINE_NAME

This will include all the ZCU102 board device-tree nodes https://github.com/Xilinx/device-tree-xlnx/blob/master/device_tree/data/kernel_dtsi/2018.2/BOARD/zcu102-rev1.0.dtsi 

 

Also you can configure static ip in petalinux-config refer UG1144 page 86

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos
Observer braydencdv
Observer
1,741 Views
Registered: ‎06-13-2018

Re: ZCU102 static IP does not work

Jump to solution

I had tried that previously and maintained the same issue with not having the Ethernet working. I had went in and changed this from another post that I had found.

 

DTG-config.PNG

0 Kudos
Moderator
Moderator
1,735 Views
Registered: ‎04-24-2017

Re: ZCU102 static IP does not work

Jump to solution

Hi @braydencdv,

 

There is no zcu102-rev1.1.dtsi for all ZCU102 production boards we have zcu102-rev1.0.dtsi files

 

Refer https://github.com/Xilinx/device-tree-xlnx/tree/xilinx-v2018.2/device_tree/data/kernel_dtsi/2018.2/BOARD

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos