cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
432 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