前回、ZynqのGPIO52, 53がGPIOのままになっていることに気付いた。
そこで、VivadoのPlatform StudioでPeripheral I/O Pinsを変更し、Ethernet 0のMDIOがEMIOになっていたものをMDIOに切り替えた。
今回、試すときだ。
まず、HTMLのMIO Table Viewを確認しよう。
うむ、あれでよかったようだ。
新しいHardwareファイル(というのか?)でpetalinux-configで何もせずExitし、petalinux-buildし、イメージファイル類を作って、あとは動かすだけだ!
実は、一度ここでプロジェクトを消して作り直した。
理由は分からないが、「Starting kernel ...」のログまでしか出なくなったからだ。
MIO 52,53の設定をしたためかと思ったが、戻してもだめだった。
そういうときは、やり直すまでだ。
結果は・・・OK!
■U-Bootのところ
Net: ZYNQ GEM: e000b000, phyaddr ffffffff, interface rgmii-id
eth0: ethernet@e000b000ethernet@e000b000 Waiting for PHY auto negotiation to complete.... done
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.0.83 (524 ms)
■BogoMIPSのところ
Calibrating delay loop (skipped), value calculated using timer frequency.. 650.00 BogoMIPS (lpj=3250000)
■PHYのところ
libphy: Fixed MDIO Bus: probed
libphy: MACB_mii_bus: probed
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 145 (00:0a:35:00:1e:53)
RTL8211E Gigabit Ethernet e000b000.etherne:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=e000b000.etherne:00, irq=-1)
e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
DHCP環境だから、U-Bootの段階でIPアドレスがとれているようだし、ifconfigで見てもとれていた。
もちろん、pingも打てた。
そうか、そういうものなのか。。。
おそらく、だが、Ethernetの部分はPS部もPL部も使えるようになっていて、デフォルトではPL部が使う(EMIO)ようになっていた、ということではなかろうか。
喉の小骨が取れたようにすっきりした。