RK3568 调试YT8531 YT6801驱动
开发板的PHY没有使用晶振, 时钟由RK3568提供。公司的板子是
但是我们的主控/无线板,上面都有25M时钟芯片,
开发板网卡配置与CMD网卡配置差太多, 改动比较大,还没调好。这部分修改完全靠手册。
网卡不使用25M晶振,如下配置:
RK3568 125Mhz 是输入的话, 参考如下配置:
调整后rx_delay tx_delay 速度94Mhz, 基本达到要求!
echo 1000 > /sys/devices/platform/fe2a0000.ethernet/phy_lb_scan
找到最佳delay
优化后的1000M测速
&gmac0 { phy-mode = "rgmii-rxid"; clock_in_out = "output"; snps,reset-gpio = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; snps,reset-active-low; /* Reset time is 20ms, 100ms for rtl8211f */ snps,reset-delays-us = <0 20000 100000>; assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>, <&cru CLK_MAC0_OUT>; assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>; assigned-clock-rates = <0>, <125000000>, <25000000>; pinctrl-names = "default"; pinctrl-0 = <&gmac0_miim &gmac0_tx_bus2 &gmac0_rx_bus2 &gmac0_rgmii_clk &gmac0_rgmii_bus ð0_pins>; tx_delay = <0x36>; /* rx_delay = <0x00>; */ phy-handle = <&rgmii_phy0>; status = "okay"; };YT6801
https://www.motor-comm.com/download?kw=&category=744&wd=1&tp=1
官方网站下载驱动源码yt6801-1.0.34.tar.gz
设置环境变量,包括ARCH、 CROSS_COMPILE、KERNELDIR、=/home/forlinx/3568/OK3568-linux-source/kernel-6.1
设置完后,直接make, 居然就生成一个arm32架构的yt6801.ko, 太顺利了!
拷到板子上, 1次insmod成功,识别出eth2, 测速完美!