20241114给荣品PRO-RK3566开发板刷Rockchip原厂的Android13下适配RJ45以太网卡

devtools/2024/11/20 3:08:34/

20241114给荣品PRO-RK3566开发板刷Rockchip原厂的Android13下适配RJ45以太网卡
2024/11/14 15:44


缘起:使用EVB2的方案,RJ45加进去怎么也不通。
实在没有办法,只能将荣品的SDK:rk-android13-20240713.tgz
解压缩,编译之后。
从中析取最小的DTS,然后拿掉不用的部分,比如LCD/TP等。
很艰难地得知/根据经验/很容易知道RJ45以太网卡的DTS代码块在这里:rp-gmac1-m0-pro-rk3566.dtsi


以太网卡终于可以打开了,但是还是有小BUG:
1、千兆网啊变成百兆网卡了。难道还有4根线中有GPIO引脚被复用了?
2、iperf3不能连接,原因待查。


Z:\Android13.0\kernel-5.10\arch\arm64\boot\dts\rockchip21\rk356x\rp-gmac1-m0-pro-rk3566.dtsi
Z:\repo_rk356x_android13\kernel-5.10\arch\arm64\boot\dts\rockchip\rk3566-evb2-lp4x-v10.dtsi

&dsi1_panel {
    power-supply = <&vcc3v3_lcd1_n>;
    reset-gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
    pinctrl-names = "default";
    pinctrl-0 = <&lcd1_rst_gpio>;
};

&gmac1 {
    phy-mode = "rgmii";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio3 RK_PC2 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_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
    assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
    assigned-clock-rates = <0>, <125000000>;

    pinctrl-names = "default";
    pinctrl-0 = <&gmac1m1_miim
             &gmac1m1_tx_bus2
             &gmac1m1_rx_bus2
             &gmac1m1_rgmii_clk
             &gmac1m1_rgmii_bus>;

    tx_delay = <0x4f>;
    rx_delay = <0x25>;

    phy-handle = <&rgmii_phy0>;
    status = "okay";
};

&i2c2 {

修改为:

&dsi1_panel {
    power-supply = <&vcc3v3_lcd1_n>;
    reset-gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
    pinctrl-names = "default";
    pinctrl-0 = <&lcd1_rst_gpio>;
};

&gmac1 {
    phy-mode = "rgmii";
    clock_in_out = "input";

    snps,reset-gpio = <&gpio3 RK_PB4 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_GMAC1_RX_TX>, <&cru SCLK_GMAC1>, <&cru CLK_MAC1_OUT>;
    assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>;
    assigned-clock-rates = <0>, <125000000>, <25000000>;

    pinctrl-names = "default";
    pinctrl-0 = <&gmac1m0_miim
             &gmac1m0_tx_bus2
             &gmac1m0_rx_bus2
             &gmac1m0_rgmii_clk
             &gmac1m0_rgmii_bus
             &gmac1m0_clkinout
             &eth1m0_pins>;

    tx_delay = <0x27>;
    rx_delay = <0x0c>;

    phy-handle = <&rgmii_phy1>;
    status = "okay";
};

&i2c2 {


&i2s2_2ch {
    pinctrl-0 = <&i2s2m0_sclktx &i2s2m0_lrcktx &i2s2m0_sdi &i2s2m0_sdo>;
    rockchip,bclk-fs = <32>;
    status = "disabled";
};

&mdio1 {
    rgmii_phy0: phy@0 {
        compatible = "ethernet-phy-ieee802.3-c22";
        reg = <0x0>;
    };

};

/*
 * power-supply should switche to vcc3v3_lcd1_n
 * when mipi panel is connected to dsi1.
 */
&gt1x {
    power-supply = <&vcc3v3_lcd0_n>;
};


修改为:

&i2s2_2ch {
    pinctrl-0 = <&i2s2m0_sclktx &i2s2m0_lrcktx &i2s2m0_sdi &i2s2m0_sdo>;
    rockchip,bclk-fs = <32>;
    status = "disabled";
};

&mdio1 {
    rgmii_phy1: phy@0 {
        compatible = "ethernet-phy-ieee802.3-c22";
        reg = <0x0>;
        clocks = <&cru CLK_MAC1_OUT>;
    };

};

/*
 * power-supply should switche to vcc3v3_lcd1_n
 * when mipi panel is connected to dsi1.
 */
&gt1x {
    power-supply = <&vcc3v3_lcd0_n>;
};

你加进去EVB2之后,还是不会找到以太网卡的!^_
于是用荣品的DTS和原厂的EVB2的DTS进行比对。
很艰难地得知/根据经验/很容易知道是显示部分影响了RJ45以太网卡。
我就简单干脆地关闭DSI0/DSI1和TP。


以太网卡终于可以打开了,但是还是有小BUG:
1、千兆网啊变成百兆网卡了。难道还有4根线中有GPIO引脚被复用了?
2、iperf3不能连接,原因待查。


viewpro@viewpro-ThinkBook-16-G5-IRH:~$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~$ iperf3 -c 192.168.3.149 -i 1 -t 36
Connecting to host 192.168.3.149, port 5201
[  5] local 192.168.3.71 port 43656 connected to 192.168.3.149 port 5201
iperf3: error - control socket has closed unexpectedly
viewpro@viewpro-ThinkBook-16-G5-IRH:~$ 


参考资料:
SDK\docs\cn\Common\GMAC\Rockchip_Developer_Guide_Linux_GMAC_CN.pdf


http://www.ppmy.cn/devtools/135365.html

相关文章

蓝队基础4 -- 安全运营与监控

声明&#xff1a; 本文的学习内容来源于B站up主“泷羽sec”视频“蓝队基础之网络七层杀伤链”的公开分享&#xff0c;所有内容仅限于网络安全技术的交流学习&#xff0c;不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题&#xff0c;请联系本人&#xff0c;我将立即删除相关…

【泛型 Plus】Kotlin 的加强版类型推断:@BuilderInference

视频先行 下面是视频内容的脚本文案原稿分享。 小剧场 面试官&#xff1a;「既然协程和泛型你都熟悉&#xff0c;flow() 函数是怎么实现类型推断的有了解过吗&#xff1f;」 求职者&#xff1a;「嗯……」 求职者&#xff1a;「嗯……在Kotlin协程中&#xff0c;flow 是一种构建…

基于Java Springboot论坛系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

wangeditor富文本编辑器以文本的形式展示公式

最终展示的效果 1.首先将要传给后端的富文本值进行转化 //假设workContent是富文本写入的值this.workContent this.escapeHTML(this.workContent)//通过escapeHTML方法转化传给后端 methods:{escapeHTML(str) {return str.replace(/&/g, &amp;) // 将 & 替换为…

移动零

移动零 1、题目描述2、解答思路 1、题目描述 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 2、解答思路 已知数组后端若干元素为0&…

React中使用echarts写出3d旋转扇形图

效果 技术 React TypeScript Less Echarts 代码块 import * as echarts from "echarts"; import React, { useEffect, useRef } from "react"; import "echarts-gl"; import "./index.less";const LeftEcharts () > {const ch…

WordCloudStudio:全面支持Web端,随时随地创建精彩文字云

在当今视觉化表达日益重要的时代&#xff0c;文字云成为了一种流行的内容呈现形式。无论是用于展示数据、分享创意&#xff0c;还是提高内容吸引力&#xff0c;文字云都能带来意想不到的效果。https://wordcloudstudio.com/ 作为文字云制作的领先工具&#xff0c;现在全面支持W…

Redis自学之路—基础数据结构具体方法解析(五)

目录 简介 数据结果具体方法解析 字符串(String) 操作命令 set设置值 setex setnx get获取值 del删除key mset批量设置值 incr数字运算 append追加指令 strlen字符串长度 getset设置并返回原值 setrange设置指定位置的字符 getrange截取字符串 命令的时间复杂…