Hardkernel Odroid-M1S no USB 2.0 & Ethernet

Jonas Karlman jonas at kwiboo.se
Wed Jul 10 03:02:32 PDT 2024


Hi Daniel,

On 2024-07-10 09:10, Daniel Martin wrote:
> Jonas, unfortunately with the mainline u-boot, there is no change.
> I used the latest 2024.07 build and the odroid-m1-rk3568 defconfig file.

The M1 and M1S uses different gmac interfaces and are not fully
compatible, e.g. M1 (rk3568b2) uses gmac0 and M1S (rk3566) uses gmac1.

You can try U-Boot from my rk3xxx-2024.07 branch [1], that branch should
include a M1S target. From what I can remember I did limited test of
Ethernet in U-Boot on a real M1S board. There was a prior attempt at
upstreaming a M1S device tree [2], but a v2 do not seem to exist.

[1] https://github.com/Kwiboo/u-boot-rockchip/commits/rk3xxx-2024.07/
[2] https://lore.kernel.org/all/20240112135004.28907-1-lee@kyuhyuk.kr/

Please try using the odroid-m1s-rk3566_defconfig target in U-Boot.
Also use a proper M1S device tree in case you are using one based on
the M1 device tree.

Regards,
Jonas

> 
> On Wed, 10 Jul 2024 at 08:42, Daniel Martin <dmanlfc at gmail.com> wrote:
>>
>> Hi Jonas, yes this does seem related.
>> Interesting debate on where the PHY should be initialised.
>> I will try the mainline u-boot with this board & report back.
>> I assume using the latest 2024.07 release is recommended here.
>>
>> On Wed, 10 Jul 2024 at 08:23, Jonas Karlman <jonas at kwiboo.se> wrote:
>>>
>>> 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
>>>>
>>>
>>
>>
>> --
>>
>> Kind Regards,
>>
>> Daniel
> 
> 
> 




More information about the linux-arm-kernel mailing list