Hi Daniil,
On 9 June 2016 at 02:16, Daniil Egranov daniil.egranov@arm.com wrote:
Hi Ryan,
I'll correct the messages and debug level you mentioned in 2/4 and 4/4 review.
Thanks.
Thanks, Daniil
On 06/08/2016 01:25 PM, Ryan Harkin wrote:
Hi Daniil,
DO I need to do anything other than apply these 4 patches and the two for EDK2 to my trees?
For reference, I've applied these 4 plus these two to EDK2:
EmbeddedPkg: Added device configuration protocol ArmPlatformPkg/ArmJunoDxe: Configure Marvell Yukon MAC address on Juno
Am I missing something?
I don't see the board using the Marvell ethernet controller or making it available in any way. How do I check it's working?
I enabled EFI_D_NET / DEBUG_NET in my .dsc file and I see this output before Intel BDS starts:
Warning: LAN9118 Driver in stopped state Allowing Unicast Frame Reception Allowing Broadcast Frame Reception Allowing Unicast Frame Reception Allowing Broadcast Frame Reception Allowing Unicast Frame Reception Allowing Multicast Frame Reception Allowing Broadcast Frame Reception Marvell Yukon: Probe found device Marvell Yukon 88E8057 Gigabit Ethernet Marvell Yukon: GlobalRegistersBase = 0x57E00000 Marvell Yukon: Marvell Technology Group Ltd. Yukon Ultra 2 Id:0xBA Rev:0x00 Marvell Yukon: MAC address is invalid (0.0.0.0.0.0) Marvell Yukon: RAM buffer size : 0KB Mac Address: 0.2.F7.0.66.67 Marvell Yukon: Found PHY (Marvell 88E1149 Gigabit PHY) EhcExecTransfer: transfer failed with 2 EhcControlTransfer: error - Device Error, transfer - 2
Does that look sensible?
Cheers, Ryan.
These 6 patches should enable Marvell support. The log shows that Marvell controller is detected and MAC address is set to 00:02:F7:00:66:67 (it should match the last line on a MAC sticker on the back of your Juno box). You may use UEFI shell to check your network adapter, "ifconfig" should list two of them (LAN9118 and Marvell) and their MAC addresses. The Boot Manager menu under Intel BDS UI should list two "EFI Network"s: one for LAN9118 and one for Marvell. You may check their MAC addresses in the "Device Path" info. You can try to PXE boot using the Marvell controller. The Marvell network is under JTAG connector.
OK, so I don't see any of that. ifconfig only lists the LAN9118 controller and I don't get two "EFI Network"s in Intel BDS. So it seems that the Marvell controller has not connected properly. Perhaps we need extra debug to work out if it has been added correctly?
Another test is to boot Linux and verify that MAC addresses assigned to network interfaces matching the ones on the sticker.
On 7 June 2016 at 01:25, Daniil Egranov daniil.egranov@arm.com wrote:
The UEFI driver for Marvell Yukon chipset.
Changes since v1: Added declaration of PcdYukonMacAddress to MarvellYukonDxe.dec The patch has been split due to its size.
I didn't see any comments on the v1 patch other than mine, so I don't know why you have split it. However, the split seems arbitrary and the commit messages for the last 3 patches is the same. I guess the maintainer could squash them when applying. Perhaps that was the intention?
The reason for split was edk2 mailing list complaining about the size. The patch has been sent there for additional reviews but they have 400KB limit per message.
OK, that makes perfect sense now. These should get squashed together as 1 patch when they are committed. You should probably mention that in your 0/4 message.
Changes since v2: Added device configuration protocol to support MAC address update.
Daniil Egranov (4): OpenPlatformPkg/Juno: Enable Marvell Yukon NIC driver on Juno platform 1/4 OpenPlatformPkg/MarvellYukonDxe: Marvell Yukon NIC driver 2/4 OpenPlatformPkg/MarvellYukonDxe: Marvell Yukon NIC driver 3/4 OpenPlatformPkg/MarvellYukonDxe: Marvell Yukon NIC driver 4/4
The Juno patch should be the last in the series. If I apply the Juno patch first, Juno won't build because the driver is missing from the tree.
Ok. I assumed that it should be applied as the set. I'll sort them based on dependencies.
Thanks. The 3 driver patches are fine to be squashed together, but the patch to add the driver to Juno should remain separate - and come after adding the driver.
We like to keep our tree "bisectable" where possible: so that it builds and boots after every commit. This didn't happen in the past and it has caused me serious headaches in tracking down regressions.
However, you will not be able to build Marvell driver without applying edk2 patches as the driver has dependency on the protocol defined there. Is there a way to specify such dependencies?
Unfortunately not. Normally, I would just add a message to the 0/4 email to tell the maintainer(s) what order I'd like them committed. So long as adding the EDK2 stuff without the OpenPlatformPkg stuff still builds & boots, it should be fine to request that order of submission.
Cheers, Ryan.
Drivers/Net/MarvellYukonDxe/ComponentName.c | 313 +++ Drivers/Net/MarvellYukonDxe/DeviceConfig.c | 330 +++ Drivers/Net/MarvellYukonDxe/DeviceConfig.h | 98 + Drivers/Net/MarvellYukonDxe/DriverBinding.c | 414 ++++ Drivers/Net/MarvellYukonDxe/MarvellYukon.h | 733 ++++++ Drivers/Net/MarvellYukonDxe/MarvellYukonDxe.dec | 29 + Drivers/Net/MarvellYukonDxe/MarvellYukonDxe.inf | 77 + Drivers/Net/MarvellYukonDxe/Snp.c | 1474 +++++++++++ Drivers/Net/MarvellYukonDxe/e1000phy.c | 659 +++++ Drivers/Net/MarvellYukonDxe/e1000phyreg.h | 398 +++ Drivers/Net/MarvellYukonDxe/if_media.h | 273 +++ Drivers/Net/MarvellYukonDxe/if_msk.c | 2982 +++++++++++++++++++++++ Drivers/Net/MarvellYukonDxe/if_msk.h | 52 + Drivers/Net/MarvellYukonDxe/if_mskreg.h | 2491 +++++++++++++++++++ Drivers/Net/MarvellYukonDxe/miivar.h | 198 ++ Platforms/ARM/Juno/ArmJuno.dsc | 4 + Platforms/ARM/Juno/ArmJuno.fdf | 1 + 17 files changed, 10526 insertions(+) create mode 100644 Drivers/Net/MarvellYukonDxe/ComponentName.c create mode 100644 Drivers/Net/MarvellYukonDxe/DeviceConfig.c create mode 100644 Drivers/Net/MarvellYukonDxe/DeviceConfig.h create mode 100644 Drivers/Net/MarvellYukonDxe/DriverBinding.c create mode 100644 Drivers/Net/MarvellYukonDxe/MarvellYukon.h create mode 100644 Drivers/Net/MarvellYukonDxe/MarvellYukonDxe.dec create mode 100644 Drivers/Net/MarvellYukonDxe/MarvellYukonDxe.inf create mode 100644 Drivers/Net/MarvellYukonDxe/Snp.c create mode 100644 Drivers/Net/MarvellYukonDxe/e1000phy.c create mode 100644 Drivers/Net/MarvellYukonDxe/e1000phyreg.h create mode 100644 Drivers/Net/MarvellYukonDxe/if_media.h create mode 100644 Drivers/Net/MarvellYukonDxe/if_msk.c create mode 100644 Drivers/Net/MarvellYukonDxe/if_msk.h create mode 100644 Drivers/Net/MarvellYukonDxe/if_mskreg.h create mode 100644 Drivers/Net/MarvellYukonDxe/miivar.h
-- 2.7.4
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-uefi
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-uefi