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: 
Visitor s3selec
Visitor
182 Views
Registered: ‎09-28-2018

Ether PHY not detected at u-boot after upgrading Vivado to 2016.2

After upgrading Vivado and petalinux(2014.4 → 2016.2), zynq can not detect ether PHY at the beginning of u-boot,
and therefore linux-kernel cannot be started via netboot.
I use Micrel KSZ9031 as ether PHY.

As the Vivado version upgraded, the version of IP etc was automatically upgraded,
but the basic setting of the project has not been changed.

u-boot message when PHY can be detected with ver.2014.4 is as follows:
---------------------------------------------------------------------------------------------------------
U-Boot 2014.07 (Apr 27 2017 - 21:01:24)

DRAM: ECC disabled 1 GiB
MMC: zynq_sdhci: 0
SF: Detected S25FL128S_64K with page size 512 Bytes, erase size 128 KiB, total 32 MiB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: Gem.e000b000
U-BOOT for TEST_PRJ

Hit any key to stop autoboot: 0
U-Boot-PetaLinux> run netboot
Gem.e000b000 Waiting for PHY auto negotiation to complete.... done
Using Gem.e000b000 device
TFTP from server 128.64.0.1; our IP address is 128.64.0.31
Filename 'image.ub'.
Load address: 0x1000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##################################
1.2 MiB/s
done
---------------------------------------------------------------------------------------------------------

u-boot message when PHY cannot be detected in ver.2016.2 is as follows:
---------------------------------------------------------------------------------------------------------
U-Boot 2016.01 (Aug 22 2018 - 14:34:05 +0900)

DRAM: ECC disabled 1 GiB
MMC: sdhci@e0100000: 0
SF: Detected S25FL128S_64K with page size 512 Bytes, erase size 128 KiB, total 32 MiB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
PHY is not detected
GEM PHY init failed
No ethernet found.
U-BOOT for TEST_PRJ

Hit any key to stop autoboot: 0
U-Boot-PetaLinux> run netboot
ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
mdio_register: non unique device name 'gem'
ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
mdio_register: non unique device name 'gem'
ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
mdio_register: non unique device name 'gem'
ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
mdio_register: non unique device name 'gem'
No ethernet found.
ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
mdio_register: non unique device name 'gem'
U-Boot-PetaLinux>
---------------------------------------------------------------------------------------------------------

When booting with flashboot, ether PHY can be detected after starting kernel, so I think that my hardware is OK.

In addition, at startup of the kernel in both 2014.4 and 2016.2, I got a message as below, which implies that there may be MDIO related problems.
---------------------------------------------------------------------------------------------------------
mdio_bus e000b000.etherne: /amba/ethernet@e000b000/mdio has invalid PHY address
mdio_bus e000b000.etherne: scan phy mdio at address 0
mdio_bus e000b000.etherne: scan phy mdio at address 1
mdio_bus e000b000.etherne: scan phy mdio at address 2
mdio_bus e000b000.etherne: scan phy mdio at address 3
mdio_bus e000b000.etherne: scan phy mdio at address 4
mdio_bus e000b000.etherne: scan phy mdio at address 5
mdio_bus e000b000.etherne: scan phy mdio at address 6
mdio_bus e000b000.etherne: scan phy mdio at address 7
mdio_bus e000b000.etherne: scan phy mdio at address 8
mdio_bus e000b000.etherne: scan phy mdio at address 9
mdio_bus e000b000.etherne: scan phy mdio at address 10
mdio_bus e000b000.etherne: scan phy mdio at address 11
mdio_bus e000b000.etherne: scan phy mdio at address 12
mdio_bus e000b000.etherne: scan phy mdio at address 13
mdio_bus e000b000.etherne: scan phy mdio at address 14
mdio_bus e000b000.etherne: scan phy mdio at address 15
mdio_bus e000b000.etherne: scan phy mdio at address 16
mdio_bus e000b000.etherne: scan phy mdio at address 17
mdio_bus e000b000.etherne: scan phy mdio at address 18
mdio_bus e000b000.etherne: scan phy mdio at address 19
mdio_bus e000b000.etherne: scan phy mdio at address 20
mdio_bus e000b000.etherne: scan phy mdio at address 21
mdio_bus e000b000.etherne: scan phy mdio at address 22
mdio_bus e000b000.etherne: scan phy mdio at address 23
mdio_bus e000b000.etherne: scan phy mdio at address 24
mdio_bus e000b000.etherne: scan phy mdio at address 25
mdio_bus e000b000.etherne: scan phy mdio at address 26
mdio_bus e000b000.etherne: scan phy mdio at address 27
mdio_bus e000b000.etherne: scan phy mdio at address 28
mdio_bus e000b000.etherne: scan phy mdio at address 29
mdio_bus e000b000.etherne: scan phy mdio at address 30
mdio_bus e000b000.etherne: scan phy mdio at address 31
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 146 (00:0a:35:00:1e:53)
macb e000b000.ethernet eth0: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=e000b000.etherne:01, irq=-1)
---------------------------------------------------------------------------------------------------------

What I want to do is have the PHY be detected in u-boot and starting linux-kernel via netboot.
Do you have any thoughts about what the cause might be?
Any advice would be appreciated, thank you.
0 Kudos