[PATCH] riscv: dts: spacemit: k3-pico-itx: Fix non-functional ethernet TX timing

E Shattow e at freeshell.de
Fri Jul 10 07:34:34 PDT 2026


Hi Yixun,

On 7/9/26 19:25, Yixun Lan wrote:
> Hi E Shattow,
> 
> On 00:29 Thu 11 Jun     , E Shattow wrote:
>> Hi Andrew,
>>
>> On 6/10/26 02:05, Andrew Rembrandt wrote:
>>> On Wed, Jun 10, 2026 at 07:14:56 am Inochi Amaoto wrote:
>>>> Do not do this, just leave the rx-internal-delay-ps untouched.
>>>
>>> Sounds good, I'll leave v1 as-is. Many thanks for the review.
>>>
>>> Regards,
>>>
>>> Andrew
>>>
>>> _______________________________________________
>>> linux-riscv mailing list
>>> linux-riscv at lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>>
>> I do not notice any difference with or without this property present,
>> tested Linux -next with U-Boot modification to devicetree:
>>
>> load usb 0:1 $fdt_addr_r /dtb/spacemit/k3-pico-itx.dtb
>> fdt addr $fdt_addr_r
>> fdt resize
>> fdt header get filesize totalsize
>> fdt set /soc/ethernet at cac80000 tx-internal-delay-ps <400>
>> load usb 0:1 $kernel_addr_r /EFI/BOOT/BOOTRISCV64.EFI
>> # throwaway use of ping is workaround for broken vendor U-Boot
>> ping 127.0.0.1; bootefi $kernel_addr_r $fdt_addr_r
>>
>> Aside, there is still some problem with the driver which does cause it
>> to fail. This can be reproduced by unloading the module and then loading
>> the module; built from -next with 'olddefconfig' of debian Kconfig for
>> kernel 7.1, no patches.
>>
>> # modprobe -r dwmac_spacemit
>> # modprobe dwmac_spacemit
>> [   61.469745] spacemit-dwmac cac80000.ethernet end0: cannot attach to
>> PHY (error: -ENODEV)
>>
>> [   91.544646] spacemit-dwmac cac80000.ethernet end0: cannot attach to
>> PHY (error: -ENODEV)
>>
> The problem is unrelated to this patch itself, but I can actually confirm here
> 
>> If not reloading the module then I don't see any difference, traffic
>> passes (ping 1.1.1.1) with or without your suggested
>> tx-internal-delay-ps property. Is there a specific test to run to
>> observe expected difference?
>>
> 
> Although I haven't narrowed down to the root cause, but it's kind of
> something wrong with the reset procedure, remove it from phy node will fix
> this issue..
> 
> +++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
> @@ -232,9 +232,6 @@ mdio {
>                 phy0: phy at 1 {
>                         compatible = "ethernet-phy-ieee802.3-c22";
>                         reg = <1>;
> -                       reset-gpios = <&gpio 0 15 GPIO_ACTIVE_LOW>;
> -                       reset-assert-us = <10000>;
> -                       reset-deassert-us = <10000>;
> 
> 

Yes, confirming that workaround (removing nodes as you suggested) is
functional for debian-installer where that reset trouble is being
observed. If there is a patch or discussion later I will follow up then,
also.  On the topic of this ethernet TX timing thread I don't know what
this does? Is there a test situation I may try to know if it is doing
anything? Thanks very much, -E



More information about the linux-riscv mailing list