riscv defconfig CONFIG_PM/macb/generic PHY regression in v5.18-rc1
Palmer Dabbelt
palmer at rivosinc.com
Tue Apr 5 09:56:13 PDT 2022
On Tue, 05 Apr 2022 08:53:06 PDT (-0700), linux at armlinux.org.uk wrote:
> On Tue, Apr 05, 2022 at 01:05:12PM +0000, Conor.Dooley at microchip.com wrote:
>> Hey,
>> I seem to have come across a regression in the default riscv defconfig
>> between riscv-for-linus-5.18-mw0 (bbde015227e8) & v5.18-rc1, exposed by
>> c5179ef1ca0c ("RISC-V: Enable RISC-V SBI CPU Idle driver for QEMU virt
>> machine") which causes the ethernet phy to not come up on my Icicle kit:
>> [ 3.179864] macb 20112000.ethernet eth0: validation of sgmii with support 0000000,00000000,00006280 and advertisement 0000000,00000000,00004280 failed: -EINVAL
>> [ 3.194490] macb 20112000.ethernet eth0: Could not attach PHY (-22)
>
> I don't think that would be related to the idle driver. This looks like
> the PHY hasn't filled in the supported mask at probe time - do you have
> the driver for the PHY built-in or the PHY driver module loaded?
IIRC we had a bunch of issues with the PHY on the HiFive Unleashed,
there was a quirky reset sequence that it wouldn't even probe
correctly without. We have a
ð0 {
status = "okay";
phy-mode = "gmii";
phy-handle = <&phy0>;
phy0: ethernet-phy at 0 {
compatible = "ethernet-phy-id0007.0771";
reg = <0>;
};
};
in the Unleashed DT, but I can't find anything similar in the Icicle DT
&mac1 {
status = "okay";
phy-mode = "sgmii";
phy-handle = <&phy1>;
phy1: ethernet-phy at 9 {
reg = <9>;
ti,fifo-depth = <0x1>;
};
phy0: ethernet-phy at 8 {
reg = <8>;
ti,fifo-depth = <0x1>;
};
};
I seem to remember picking that specific phy because it was similar to
the one that was POR for the Icicle at the time we decided, maybe you
have a similar phy with a similar quirk and need a similar workaround?
More information about the linux-riscv
mailing list