Skip to contentSkip to conversation

armada-8040-mcbin: 5.6-rc5 boot failure

bug report Sergey Matyukevich 3 participants 7 messages Apr 13, 2020 – Apr 14, 2020

lore
Share & tools
lore
#0 lore raw

Hi Russel, Miquel, and all,

MacchiatoBin Double-shot board fails to boot v5.6-rc5 kernel properly:
USB, PCIe, and ethernet interfaces are not enabled. Before that I have been running v5.3 kernel w/o any noticeable issues.

In brief, USB and PCIe devices are not detected, ethernet PHY fails to initialize with the following warnings:

[    2.444150] mvebu-comphy f4120000.phy: unsupported SMC call, try updating your firmware
[    2.452191] mvebu-comphy f4120000.phy: Firmware could not configure PHY 0 with mode 15 (ret: -1), trying legacy method
[    2.474615] mvpp2 f4000000.ethernet eth2: Using firmware node mac address ...
[    2.484420] mvebu-comphy f4120000.phy: unsupported SMC call, try updating your firmware

After quick bisection of the board dts files, I came to the following results:

- USB works again after reverting the following two commits:
-- 96018a6fafb1 ("arm64: dts: marvell: Convert 7k/8k usb-phy properties to phy-supply") -- 01d0deba28f6 ("arm64: dts: marvell: Add 7k/8k PHYs in USB3 nodes")

- PCIe works again after reverting armada-8040-mcbin.dtsi parts of the following two commits:
-- 1399672e48b5 ("arm64: dts: marvell: Drop PCIe I/O ranges from CP11x file") -- ce55522c035e ("arm64: dts: marvell: Add 7k/8k PHYs in PCIe nodes")

- ethernet: not yet...

However looking at firmware version complaints, I guess that the actual reason of all those issues could be in ATF version rather than in the latest DTS changes. Probably I am using ATF version which is too old to work with up-to-date kernel: armada-17.10.3 from atf-marvell repository on github. If this is indeed the actual root cause of all the issues, then could you please recommend a preferable ATF version to test with ?

Regards,
Sergey

#1 lore raw
Quoted 26 lines · Sergey Matyukevich

Hi Russel, Miquel, and all,

MacchiatoBin Double-shot board fails to boot v5.6-rc5 kernel properly:
USB, PCIe, and ethernet interfaces are not enabled. Before that I have been running v5.3 kernel w/o any noticeable issues.

In brief, USB and PCIe devices are not detected, ethernet PHY fails to initialize with the following warnings:

[    2.444150] mvebu-comphy f4120000.phy: unsupported SMC call, try updating your firmware
[    2.452191] mvebu-comphy f4120000.phy: Firmware could not configure PHY 0 with mode 15 (ret: -1), trying legacy method
[    2.474615] mvpp2 f4000000.ethernet eth2: Using firmware node mac address ...
[    2.484420] mvebu-comphy f4120000.phy: unsupported SMC call, try updating your firmware

After quick bisection of the board dts files, I came to the following results:

- USB works again after reverting the following two commits:
-- 96018a6fafb1 ("arm64: dts: marvell: Convert 7k/8k usb-phy properties to phy-supply") -- 01d0deba28f6 ("arm64: dts: marvell: Add 7k/8k PHYs in USB3 nodes")

- PCIe works again after reverting armada-8040-mcbin.dtsi parts of the following two commits:
-- 1399672e48b5 ("arm64: dts: marvell: Drop PCIe I/O ranges from CP11x file") -- ce55522c035e ("arm64: dts: marvell: Add 7k/8k PHYs in PCIe nodes")

- ethernet: not yet...

Quoted 7 lines

However looking at firmware version complaints, I guess that the actual reason of all those issues could be in ATF version rather than in the latest DTS changes. Probably I am using ATF version which is too old to work with up-to-date kernel: armada-17.10.3 from atf-marvell repository on github. If this is indeed the actual root cause of all the issues, then could you please recommend a preferable ATF version to test with ?

I would strongly recommend upgrading the firmware in any case, because of work I did (and submitted back through Jon @ SolidRun) to improve the eye mask on the 10G Ethernet interfaces. I'm using the 18.12 version. Firmware build instructions can be found at:

https://developer.solid-run.com/knowledge-base/armada-8040-machiatobin-u-boot-and-atf/

I've booted 5.6 recently on a number of Armada 8040 based boards without issue, likely all running the later firmware.

Signature · 2 lines
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up
#2 lore raw
Quoted 5 lines
Quoted 5 lines

Hi Russel, Miquel, and all,

MacchiatoBin Double-shot board fails to boot v5.6-rc5 kernel properly:
USB, PCIe, and ethernet interfaces are not enabled. Before that I have been running v5.3 kernel w/o any noticeable issues.

...

Quoted 13 lines
Quoted 7 lines

However looking at firmware version complaints, I guess that the actual reason of all those issues could be in ATF version rather than in the latest DTS changes. Probably I am using ATF version which is too old to work with up-to-date kernel: armada-17.10.3 from atf-marvell repository on github. If this is indeed the actual root cause of all the issues, then could you please recommend a preferable ATF version to test with ?

I would strongly recommend upgrading the firmware in any case, because of work I did (and submitted back through Jon @ SolidRun) to improve the eye mask on the 10G Ethernet interfaces. I'm using the 18.12 version. Firmware build instructions can be found at:

Quoted 4 lines

https://developer.solid-run.com/knowledge-base/armada-8040-machiatobin-u-boot-and-atf/

I've booted 5.6 recently on a number of Armada 8040 based boards without issue, likely all running the later firmware.

Thanks ! After ATF update to 18.12 both USB and PCIe are working fine without any changes to DTS. But network interfaces including 1G copper interface still do not work as expected:

$ ip link set eth0 up                                                                                                                                                                             
[  626.774003] mvpp2 f2000000.ethernet eth0: could not attach PHY (-19) RTNETLINK answers: No such device
$ ip link set eth2 up
[  504.054084] mvpp2 f4000000.ethernet eth2: could not attach PHY (-19) RTNETLINK answers: No such device

I have not changed configuration since 5.3, so all the marvell phy drivers are in place. Is there anything in configuration that could be missed after moving from 5.3 to 5.6 kernel ?

Regards,
Sergey

#3 lore raw

Hi,

Quoted 3 lines · Sergey Matyukevich

I have not changed configuration since 5.3, so all the marvell phy drivers are in place. Is there anything in configuration that could be missed after moving from 5.3 to 5.6 kernel ?

FWIW mine works perfectly fine with 5.4 at 1G/2.5G/10G. From what I can quickly check here are the relevant parts in my config for ethernet (not sure all are needed though):

CONFIG_NET_VENDOR_MARVELL=y
CONFIG_MVMDIO=y
CONFIG_MVPP2=y
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_BUS_MUX=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
CONFIG_MDIO_I2C=y
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
CONFIG_SFP=y
CONFIG_FIXED_PHY=y
CONFIG_MARVELL_PHY=y
CONFIG_MARVELL_10G_PHY=y

Not tested 5.6 yet.

Hoping this helps,
Willy

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#4 lore raw
Quoted 11 lines · Willy Tarreau

Hi,

Quoted 3 lines · Sergey Matyukevich

I have not changed configuration since 5.3, so all the marvell phy drivers are in place. Is there anything in configuration that could be missed after moving from 5.3 to 5.6 kernel ?

FWIW mine works perfectly fine with 5.4 at 1G/2.5G/10G. From what I can quickly check here are the relevant parts in my config for ethernet (not sure all are needed though):

Quoted 6 lines

CONFIG_NET_VENDOR_MARVELL=y
CONFIG_MVMDIO=y
CONFIG_MVPP2=y
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_BITBANG=y

Macchiatobin doesn't bitbang the MDIO bus.

Quoted 3 lines

CONFIG_MDIO_BUS_MUX=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y

There's no MDIO bus muxing on Macchiatobin.

Quoted 6 lines

CONFIG_MDIO_I2C=y
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
CONFIG_SFP=y
CONFIG_FIXED_PHY=y

CONFIG_FIXED_PHY should no longer be required.

Quoted 8 lines

CONFIG_MARVELL_PHY=y
CONFIG_MARVELL_10G_PHY=y

Not tested 5.6 yet.

Hoping this helps,
Willy

Signature · 2 lines
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up
#5 lore raw

Hi Russell,

Quoted 11 lines · Russell King - ARM Linux admin
Quoted 1 line

CONFIG_MDIO_BITBANG=y

Macchiatobin doesn't bitbang the MDIO bus.

Quoted 1 line

CONFIG_MDIO_BUS_MUX=y

There's no MDIO bus muxing on Macchiatobin.

Quoted 1 line

CONFIG_FIXED_PHY=y

CONFIG_FIXED_PHY should no longer be required.

(...)

Thanks for clearing these ones out, I'll drop them on next build! Willy

#6 lore raw
In reply to Russell King - ARM Linux admin
Quoted 23 lines
Quoted 8 lines
Quoted 3 lines

I have not changed configuration since 5.3, so all the marvell phy drivers are in place. Is there anything in configuration that could be missed after moving from 5.3 to 5.6 kernel ?

FWIW mine works perfectly fine with 5.4 at 1G/2.5G/10G. From what I can quickly check here are the relevant parts in my config for ethernet (not sure all are needed though):

Quoted 6 lines

CONFIG_NET_VENDOR_MARVELL=y
CONFIG_MVMDIO=y
CONFIG_MVPP2=y
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_BITBANG=y

Macchiatobin doesn't bitbang the MDIO bus.

Quoted 3 lines

CONFIG_MDIO_BUS_MUX=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y

There's no MDIO bus muxing on Macchiatobin.

Quoted 13 lines
Quoted 6 lines

CONFIG_MDIO_I2C=y
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
CONFIG_SFP=y
CONFIG_FIXED_PHY=y

CONFIG_FIXED_PHY should no longer be required.

Quoted 4 lines

CONFIG_MARVELL_PHY=y
CONFIG_MARVELL_10G_PHY=y

Not tested 5.6 yet.

Thanks ! I tested mainline kernels 5.6-rc5, 5.6, 5.7-rc1: all of them worked just fine on MacchiatoBin. After that I finally figured out what was wrong with my setup even after updating ATF to 18.12.

Initally I used wireless-drivers-next kernel tree v5.6-rc1. It turned out that this tree at that point included commit e1f550dc44a ("net:
mvmdio: avoid error message for optional IRQ") but did not included its subsequent revert...

Regards,
Sergey

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel