Hardkernel Odroid-M1S no USB 2.0 & Ethernet

Jonas Karlman jonas at kwiboo.se
Tue Jul 9 15:23:25 PDT 2024


Hi,

On 2024-07-09 17:13, Andrew Lunn wrote:
> On Tue, Jul 09, 2024 at 02:22:12PM +1000, Daniel Martin wrote:
>> Hi,
>>
>> Currently the Odroid M1S based on the RK3568 processor is not enabling
>> Ethernet or the USB-A 2.0 port on the device.
>>
>> Here is the output of ethernet failing.
>>
>> [    0.351616] rk_gmac-dwmac fe2a0000.ethernet: IRQ eth_lpi not found
>> [    0.351640] rk_gmac-dwmac fe2a0000.ethernet: IRQ sfty not found
>> [    0.352311] rk_gmac-dwmac fe2a0000.ethernet: supply phy not found,
>> using dummy regulator
>> [    0.352467] rk_gmac-dwmac fe2a0000.ethernet: clock input or output? (output).
>> [    0.352484] rk_gmac-dwmac fe2a0000.ethernet: TX delay(0x4f).
>> [    0.352499] rk_gmac-dwmac fe2a0000.ethernet: RX delay(0x2d).
>> [    0.352520] rk_gmac-dwmac fe2a0000.ethernet: integrated PHY? (no).
>> [    0.357610] rk_gmac-dwmac fe2a0000.ethernet: init for RGMII
>> [    0.358099] rk_gmac-dwmac fe2a0000.ethernet: Version ID not available
>> [    0.358120] rk_gmac-dwmac fe2a0000.ethernet: DWMAC4/5
>> [    0.358135] rk_gmac-dwmac fe2a0000.ethernet: DMA HW capability
>> register supported
>> [    0.358146] rk_gmac-dwmac fe2a0000.ethernet: Ring mode enabled
>> [    0.358174] rk_gmac-dwmac fe2a0000.ethernet: device MAC address
>> b6:bf:27:ec:65:d4
>> [    0.358191] rk_gmac-dwmac fe2a0000.ethernet: Enabled RFS Flow TC (entries=10)
>> [    0.358210] rk_gmac-dwmac fe2a0000.ethernet: Using 32/32 bits DMA
>> host/device width
>> [   16.932085] rk_gmac-dwmac fe2a0000.ethernet eth0: Register
>> MEM_TYPE_PAGE_POOL RxQ-0
>> [   16.932837] rk_gmac-dwmac fe2a0000.ethernet eth0: validation of
>> with support 00,00000000,00000000,00006000 and advertisement
>> 00,00000000,00000000,00000000 failed: -EINVAL
> 
>         ret = phylink_validate_phy(pl, phy, supported, &config);
>         if (ret) {
>                 phylink_warn(pl, "validation of %s with support %*pb and advertisement %*pb failed: %pe\n",
>                              phy_modes(config.interface),
>                              __ETHTOOL_LINK_MODE_MASK_NBITS, phy->supported,
>                              __ETHTOOL_LINK_MODE_MASK_NBITS, config.advertising,
>                              ERR_PTR(ret));
> 
> So between "of" and "with" there should be an interface mode. Looking
> at
> https://elixir.bootlin.com/linux/latest/source/include/linux/phy.h#L223
> this suggests configure.interface is PHY_INTERFACE_MODE_NA, which is
> 0. This could be correct, but it is a bit unlikely.
> 
> Also, advertisement 00,00000000,00000000,00000000 looks wrong. It does
> not what to advertise anything. The 6 in support means it can do pause
> and asymmetric pause, but there are no speeds listed.
> 
> So something is wrong with the connection between the MAC and
> PHY. Please could you give a link to the .dts file.

I am mostly speculating but this sounds like the typical issue with
rtl8211f phy needed to be reset before it can be identified. Please
see [1] for details on a chicken-or-egg problem previously identified.

Possible solutions for such issue is to ensure a proper DT is used in 
mainline U-Boot to boot the board, or possible change the Ethernet phy
compatible to ethernet-phy-id001c.c916 to help identify the phy.

[1] https://lore.kernel.org/all/47d55aca-bee6-810f-379f-9431649fefa6@kwiboo.se/

Regards,
Jonas

> 
> 	Andrew
> 




More information about the linux-arm-kernel mailing list