Hi John,
The prebuilt binaries appear to work. There are a couple oddities during the boot that I am not sure are normal:
--------------------------------------------------------------------------------
Xilinx First Stage Boot Loader (TE modified)
Release 2019.2 Dec 2 2020-17:22:21
Device IDCODE: 23727093
Device Name: 7z020 (7)
Device Revision: 2
--------------------------------------------------------------------------------
TE0720 TE_FsblHookBeforeHandoff_Custom
SoM: TE0720-03-1C F SC REV:05
MAC: D8 80 39 DE 31 20
--------------------------------------------------------------------------------
U-Boot 2019.01 (Dec 02 2020 - 10:21:16 +0000) Xilinx Zynq ZC702
CPU: Zynq 7z020
Silicon: v3.1
DRAM: ECC disabled 1 GiB
MMC: mmc@e0100000: 0, mmc@e0101000: 1
In: serial@e0000000
Out: serial@e0000000
Err: serial@e0000000
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
eth0: ethernet@e000b000ZYNQ GEM: e000c000, phyaddr 1, interface gmii
Warning: ethernet@e000c000 (eth1) using random MAC address - e6:e8:72:73:ae:7e
, eth1: ethernet@e000c000
U-BOOT for petalinux
# looks like this U-Boot finds eth1 OK
...
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 4.19.0-xilinx-v2019.2 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP PREEMPT Wed Dec 2 10:20:14 UTC 2020
...
libphy: MACB_mii_bus: probed
[Firmware Warn]: /amba/ethernet@e000b000/mdio/phy@0: Whitelisted compatible string. Please remove
Marvell 88E1510 e000b000.ethernet-ffffffff:00: attached PHY driver [Marvell 88E1510] (mii_bus:phy_addr=e000b000.ethernet-ffffffff:00, irq=POLL)
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 30 (d8:80:39:de:31:20)
libphy: MACB_mii_bus: probed
xgmiitorgmii e000c000.ethernet-ffffffff:08: Couldn't find phydev
[Firmware Warn]: /amba/ethernet@e000c000/mdio/phy@1: Whitelisted compatible string. Please remove
Marvell 88E1510 e000c000.ethernet-ffffffff:01: attached PHY driver [Marvell 88E1510] (mii_bus:phy_addr=e000c000.ethernet-ffffffff:01, irq=POLL)
macb e000c000.ethernet eth1: Cadence GEM rev 0x00020118 at 0xe000c000 irq 31 (e6:e8:72:73:ae:7e)
# the kernel boot finds both Ethernet devices
...
Configuring packages on first boot....
(This may take several minutes. Please do not power off the machine.)
Running postinst /etc/rpm-postinsts/100-sysvinit-inittab...
update-rc.d: /etc/init.d/run-postinsts exists during rc.d purge (continuing)
Removing any system startup links for run-postinsts ...
/etc/rcS.d/S99run-postinsts
INIT: Entering runlevel: 5
Configuring network interfaces... IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc: started, v1.29.2
udhcpc: sending discover
udhcpc: sending discover
macb e000b000.ethernet eth0: link up (1000/Full)
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
udhcpc: sending select for 10.168.0.97
udhcpc: lease of 10.168.0.97 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 192.168.0.123
/etc/udhcpc.d/50default: Adding DNS 192.168.0.119
/etc/udhcpc.d/50default: Adding DNS 8.8.8.8
IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
udhcpc: started, v1.29.2
udhcpc: sending discover
udhcpc: sending discover
macb e000c000.ethernet eth1: unable to generate target frequency: 125000000 Hz
macb e000c000.ethernet eth1: link up (1000/Full)
IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
udhcpc: sending discover
udhcpc: sending select for 10.168.0.93
udhcpc: lease of 10.168.0.93 obtained, lease time 86400
RTNETLINK answers: File exists
/etc/udhcpc.d/50default: Adding DNS 192.168.0.123
/etc/udhcpc.d/50default: Adding DNS 192.168.0.119
/etc/udhcpc.d/50default: Adding DNS 8.8.8.8
done.
# I'm not sure if the "e000c000.ethernet eth1: unable to generate target frequency: 125000000 Hz" above is normal or a problem
...
PetaLinux 2019.2 petalinux /dev/ttyPS0
petalinux login: root
Password:
root@petalinux:~# ifconfig
eth0 Link encap:Ethernet HWaddr D8:80:39:DE:31:20
inet addr:10.168.0.97 Bcast:10.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::da80:39ff:fede:3120/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2718 (2.6 KiB) TX bytes:3826 (3.7 KiB)
Interrupt:30 Base address:0xb000
eth1 Link encap:Ethernet HWaddr E6:E8:72:73:AE:7E
inet addr:10.168.0.93 Bcast:10.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::e4e8:72ff:fe73:ae7e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3556 (3.4 KiB) TX bytes:1454 (1.4 KiB)
Interrupt:31 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/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)
# looks like both ports are running
I am able to ssh to port ports from my host system. So it looks like my carrier board hardware is working.
The only _real_ difference I am seeing in the U-Boot startup of this and my setup is:
# U-Boot 2019.01
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
eth0: ethernet@e000b000ZYNQ GEM: e000c000, phyaddr 1, interface gmii
# U-Boot 2020.01
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 0, interface rgmii-id
Warning: ethernet@e000b000 using MAC address from DT
eth0: ethernet@e000b000
ZYNQ GEM: e000c000, mdio bus e000c000, phyaddr 1, interface rgmii-id
In 2019.01, the 2nd phy interface is gmii. But my 2020.01 has it as rgmii-id.
I'll try to work out where that is done and see if it has any effect.
Regards