Re: [PATCH 3/3] arm64: dts: rockchip: add dts for Ariaboard Photonicat RK3568

Junhao Xie
2024-09-06T04:12:19Z

On 2024/9/6 11:50, Chukun Pan wrote:
> Hi Junhao,
>
>> I have tried rgmii-id with tx_delay/rx_delay 0x38/0x15, or 0x0/0x0,
>> or directly removed tx_delay/rx_delay, they all didn't transmit data.
>>
>> I saw in dwmac-rk.c that when using rgmii-id, the tx_delay/rx_delay
>> properties in dt are ignored?
>
> When using rgmii-id mode, tx_delay and rx_delay can be removed directly.
> But you need to test whether the rx/tx-internal-delay-ps is appropriate.
>

When tx_delay and rx_delay are removed, the driver prints some errors in kmsg.
Maybe we need to modify the driver?

Lines 1657 and 1668 of drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:
rk_gmac-dwmac fe010000.ethernet: Can not read property: tx_delay.
rk_gmac-dwmac fe010000.ethernet: set tx_delay to 0x30
rk_gmac-dwmac fe010000.ethernet: Can not read property: rx_delay.
rk_gmac-dwmac fe010000.ethernet: set rx_delay to 0x10

After testing, rx/tx-internal-delay-ps 1500 seems stable:
$ ping 192.168.0.224
64 bytes from 192.168.0.224: icmp_seq=0 ttl=64 time=1.256 ms
64 bytes from 192.168.0.224: icmp_seq=1 ttl=64 time=1.146 ms
...
$ iperf3 -t 60 -c 192.168.0.224
Connecting to host 192.168.0.224, port 5201
[ 4] local 192.168.0.101 port 59565 connected to 192.168.0.224 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 114 MBytes 956 Mbits/sec
...
[ 4] 59.00-60.00 sec 112 MBytes 942 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-60.00 sec 6.58 GBytes 942 Mbits/sec sender
[ 4] 0.00-60.00 sec 6.58 GBytes 942 Mbits/sec receiver

Best regards,
Junhao