Hello All,
I'm currently working on the zedboard running and open embedded OS using the latest xilinx provided kernel and devicetree (3.19 and zynq-zed.dtb). I build my firmware using Vivado's block diagram feature and configure the Zynq PS IP core by simply selecting the Zedboard default configurations. What I've found is that using the latest kernel and devicetree I can get ethernet to come up without any issues when I generate my firmware using Vivado 2013.4 (Zynq7 PS v 5.3). However, when I port the design to Vivado 2014.1,2014.2,2014.4 (Zynq7 PS v 5.4) or Vivado 2015.1 (Zynq7 PS v 5.5), the ethernet doesn't come up and cannot be configured at all (statically or with DHCP). It gets a local address, but eth0 is completely bricked. If I configure it with a static IP, it still just gives host unreachable whereas configuring statically works with no problem using the 2013.4 firmware. I've gone through this with a fine toothed comb and to the best of my knowledge, the IP core configurations are the same version to version and the relevant pins are connected properly and configured for the proper voltage levels. After looking at the dmesg outputs after boot I did determine that again using the same kernel/devicetree but different firmware I get:
Works:
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 146 (00:0a:35:00:01:25)
macb e000b000.ethernet eth0: attached PHY driver [Marvell 88E1510] (mii_bus:phy_ addr=e000b000.etherne:00, irq=-1)
Fails:
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 146 (00:0a:35:00:01:25)
macb e000b000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=e000b000.etherne:00, irq=-1)
I've tried going into the devicetree to explicitly define the Marvell phy driver, but the board still didn't come up. I didn't look at that dmesg output compared to the working version so I'll go back and double check that.
Any thoughts or suggestions on how I might fix/further debug this? I'm pretty stumped at this point.
Thanks,
-Austin