RK3588 调试 phy

news2025/1/16 18:47:21

参考:Rockchip_Developer_Guide_Linux_GMAC_CN

Rockchip_Developer_Guide_Linux_GMAC_Mode_Configuration_CN

GMAC 接口电路
RK3588 芯片拥有 2 GMAC 控制器,提供 RMII RGMII 接口连接外置的 Ethernet PHY
GMAC 控制器支持以下功能:
支持 10/100/1000 Mbps 数据传输速率的 RGMII 接口;
支持 10/100 Mbps 数据传输速率的 RMII 接口。
GMAC0 RGMII/RMII 接口复用在 VCCIO3 电源域。

RK3588 平台默认支持的是RTL8211f

代码路径:

kernel/drivers/net/phy/realteck.c

kernel/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  和dwmac-rk.c

在代码中默认dts配置如下:

rk3588-firefly-port.dtsi


&gmac1 {
	/* Use rgmii-rxid mode to disable rx delay inside Soc */
	phy-mode = "rgmii-rxid";
	clock_in_out = "output";

	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
	snps,reset-active-low;
	/* Reset time is 20ms, 100ms for rtl8211f */
	snps,reset-delays-us = <0 20000 100000>;

	pinctrl-names = "default";
	pinctrl-0 = <&gmac1_miim
			&gmac1_tx_bus2
			&gmac1_rx_bus2
			&gmac1_rgmii_clk
			&gmac1_rgmii_bus>;

	tx_delay = <0x42>;
	//rx_delay = <0x4f>;

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

rk3588-firefly-aio-3588q.dtsi


/* gmac1 */
&gmac1 {
	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
	tx_delay = <0x4f>;
	status = "okay";
};

&gmac1_tx_bus2{
	rockchip,pins =
	/* gmac1_txd0 */
	<3 RK_PB3 1 &pcfg_pull_up_drv_level_6>,
    /* gmac1_txd1 */
	<3 RK_PB4 1 &pcfg_pull_up_drv_level_6>,
	/* gmac1_txen */
	<3 RK_PB5 1 &pcfg_pull_none>;
};

&gmac1_rgmii_bus{
	rockchip,pins =
	/* gmac1_rxd2 */
	<3 RK_PA2 1 &pcfg_pull_none>,
	/* gmac1_rxd3 */
	<3 RK_PA3 1 &pcfg_pull_none>,
	/* gmac1_txd2 */
	<3 RK_PA0 1 &pcfg_pull_up_drv_level_6>,
	/* gmac1_txd3 */
	<3 RK_PA1 1 &pcfg_pull_up_drv_level_6>;
};

以上是rtl8211f 千兆以太网的参数配置,主要有以下几个配置需要注意:

phy-mode :主要分为 RMII RGMII 模式
snps,reset-gpio PHY 的硬件复位脚
snps,reset-delays-us: PHY 的复位时序,三个时间分别表示 PHY 的不同阶段的复位时序,不同的
PHY 的复位时序是不一样的,如果是 snps,reset-active-low 属性,则表示三个时间分别表示 Reset pin
脚拉高,拉低,再拉高的时间;如果是 snps,reset-active-high 属性,则反之
phy-supply: 如果 PHY 的电源是常供方式,可以不用配置;否则,需要配置对应的 regulator
时钟配置。
pinctrl RGMII RMII 模式下配置不一样,另外对于时钟方式,如果是输出时钟的 pin 脚,该 pin
脚驱动强度一般也是不一样的,例如 RMII 模式下 ref_clock pin 脚输出时钟时,驱动强度也会配置
更大
tx_delay/rx_delay: RGMII 模式下需要配置该属性,

clock_in_out: clock_in_out:
     description:
      For RGMII, it must be "input", means main clock(125MHz)
      is not sourced from SoC's PLL, but input from PHY.
      For RMII, "input" means PHY provides the reference clock(50MHz),
      "output" means GMAC provides the reference clock.

此项需要确认MAC使用的是PHY的clk还是mac的clk,根据自己原理图确认。

参考:kernel/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml

二、zslxxx phy的修改:

1、需要增加对应的通用phy代码:kernel/drivers/net/phy/micrel.c

2、测量晶振25M时钟是否存在,测量VCC电压是否正常,是否需要上拉电阻等。需要注意phy的地址是多少,在这里是1,。

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

3、修改dts配置,根据原理图确认mac的时钟是否由phy提供,此时clock_in_out修改修改为input或者output。

4、确认是否phy已经识别到了,dmesg| grep eth进行查看。

5、ifconfig eth0 xxx up配置ip是否正常,与电脑连接,互相ping是否通,网线可以尝试换一根。

ifconfig查看rx package和tx package是否数据一直在增加。

RMII 连接示图  具 体 电 路 请 见 参 考 图 (FEPHY 工 作 时 钟 使 用 外 置 25MHz 晶 体 ,
GMACx_MCLKINOUT 采用输入模式, RMII 接口的参考时钟由 FEPHY 提供, FEPHY TXCLK
需要配置为输出模式 )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LSTM前向传播代码实现——LSTM从零实现系列(3)

一、前言 这个LSTM系列是在学习时间序列预测过程中的一些学习笔记&#xff0c;包含理论分析和源码实现两部分。本质属于进阶内容&#xff0c;因此神经网络的基础内容不做过多讲解&#xff0c;想学习基础&#xff0c;可看之前的神经网络入门系列文章&#xff1a; https://blog.…

全自动化数据洞察!数据分布对比可视化!

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; 数据分析实战系列&#xff1a;https://www.showmeai.tech/tutorials/40 &#x1f4d8; 本文地址&#xff1a;https://www.showmeai.tech/article-detail/411 &#x1f4e2; 声明&#xff1a;版权所有&#xff0c;转…

几种数据库jar包获取方式

摘要&#xff1a;以下提供的都是各个数据库较为官方的jar包获取方式。本文分享自华为云社区《JDBC连接相关jar包获取及上传管理中心白名单处理》&#xff0c;作者&#xff1a;HuaWei XYe。 jar包获取 以下提供的都是各个数据库较为官方的jar包获取方式 1、Mysql https://de…

C#启程—游戏开发笔记

文章目录ideRider下载和安装创建C#基础工程&#xff08;包含form&#xff09;Rider去除语法警告C#笔记namespace找不到某个class&#xff08;命名空间&#xff09;c#相对路径&#xff08;比较特别&#xff09;双缓存技术窗体事件绑定窗体初始属性方法生成调式绑定事件成功窗体中…

再探Vue3响应式系统

欲看懂这一篇还是建议先看上一篇&#xff0c;这一篇我们继续往下走 一、嵌套问题 &#x1f596;先看背景 在这段代码里面&#xff0c;question1里面嵌套了question2&#xff0c;所以question1的执行会导致question2的执行 let temp1 ,temp2; function question1() {console.…

基于java+springmvc+mybatis+vue+mysql的电子资源管理系统

项目介绍 随着互联网技术的高速发展&#xff0c;人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理&#xff0c;交易等&#xff0c;而且过程简单、快捷。同样的&#xff0c;在人们的工作生活中&#xff0c;也就…

AI加速自动驾驶进程,景联文科技提供数据采集标注服务

“当前&#xff0c;路面上搭载各级别自动驾驶系统的车辆数量逐渐增多。对自动驾驶领域头部企业来说&#xff0c;为了保持自身的竞争优势并加速自动驾驶应用安全落地进程&#xff0c;需要依靠大量的高质量标注数据来训练优化自动驾驶相关算法模型。数据作为AI技术的底层基础&…

备战2023蓝桥国赛-饼干

题目描述&#xff1a; 解析&#xff1a; 这道题我想了很多种解决方法&#xff0c;但无一例外都失败了&#xff0c;实在是按照常规线性DP的思路真的想不出来。 看了题解之后才知道它是分为三步解决这个问题的&#xff1a; 第一步&#xff1a;缩小最优解的范围 先用贪心将最优解…

如何准备好2023年的USACO?

目录 1. 注册 2. 刷题 3. 备考 4. 考试流程/介绍 5. 铜组例题 1. 注册 先进入usaco的官网&#xff0c;主页的右边会有注册的选项&#xff0c;点击Register for New Account。会让你填你自己的用户名&#xff0c;邮箱&#xff0c;实名&#xff0c;毕业的年份&#xff0c;还…

世界杯数据分析

国际足联世界杯&#xff08;FIFA World Cup&#xff09; 文章目录前言一、历届世界杯数据分析&#xff08;一&#xff09;建表&#xff08;二&#xff09;导入数据&#xff08;三&#xff09;数据分析1. 全勤巴西2. 夺冠排名3. 扩军历史4. 进球之最二、本届世界杯数据分析&…

【Java寒假打卡】Java基础-数据类型以及转换

【Java寒假打卡】Java基础-数据类型以及转换一、关键字二、强制转换三、常量四、隐式转换的问题五、变量六、程序输入七、标识符八、类型转换一、关键字 含义&#xff1a;java 中被赋予特定含义和特点的单词 二、强制转换 数据范围大变量赋给一个数据范围小的变量int 到byte…

android绘制弧形背景

先看一下效果&#xff1a; 在drawable中写shape.xml文件 <?xml version"1.0" encoding"utf-8"?> <layer-list xmlns:android"http://schemas.android.com/apk/res/android"><item><shape><solid android:color&quo…

Hadoop学习----Hadoop介绍

Hadoop介绍 Hadoop是Apache软件基金会的一款开源软件。底层是由java语言实现。 功能&#xff1a;允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。 Hadoop核心组件&#xff1a; Hadoop HDFS&#xff08;分布式文件存储系统&#xff09;&#xff1a;解…

大道至简——工具类产品的几个思考方向

因为之前没有接触过摹客的产品&#xff0c;对于一个经常使用Axure的产品经理&#xff0c;仅仅通过两周摹客的使用体验写出的体验文档确实不够严谨&#xff0c;所以以下除了表层的几点用户体验&#xff0c;重点还是谈一下对工具类产品发展方向的思考。 体验篇 一款产品的诞生肯…

4.2 YOLOv3算法

文章目录一、林业病虫害数据集和数据预处理方法介绍1.1 读取AI识虫数据集标注信息1.2 数据读取和预处理1.2.1 数据读取1.2.2 数据预处理**随机改变亮暗、对比度和颜色等****随机填充****随机裁剪****随机缩放****随机翻转****随机打乱真实框排列顺序****图像增广方法汇总**1.2.…

Oracle云服务器安全配置

在Oracle云上申请了一个免费云空间&#xff0c;据说是永久免费&#xff0c;这里记录一下安全配置问题。 一、访问Oracle云服务器 1、云服务器申请 如何在oracle注册申请云服务可自行搜索一下&#xff0c;有很多文章介绍。 甲骨文Oracle云服务器详细申请教程步骤及注意事项 …

如何计算香港服务器公网带宽的实际下载速度?

如何计算香港服务器公网带宽的实际下载速度?下面分享香港服务器带宽实际下载速度对照表及计算方法&#xff1a; 香港服务器带宽实际下载速度计算方法 香港服务器以1Mbps公网带宽为例&#xff0c;香港服务器1M带宽实际下载速度峰值128KB/S&#xff0c;为什么不是1M/S&#xff0…

电脑重装系统后重启电脑黑屏是怎么回事

​电脑重装系统后重启电脑黑屏怎么回事&#xff1f;最近有用户反映自己在重装电脑系统后&#xff0c;开机出现了黑屏的现象&#xff0c;检查后发现硬件设备没有故障&#xff0c;那么是怎么回事呢&#xff1f;有可能是显示器不支持该显卡显示的分辨率或者是重装系统后的显卡驱动…

结构建模设计——Solidworks软件之使用钣金折弯功能做一个带折弯固定口的铝合金面板

【系列专栏】&#xff1a;博主结合工作实践输出的&#xff0c;解决实际问题的专栏&#xff0c;朋友们看过来&#xff01; 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…

31岁才转行程序员,目前34了,我的经历和一些感受

按惯例&#xff0c;先说下我基本情况。我是85年的&#xff0c;计算机专业普通本科毕业。在一个二线城市&#xff0c;毕业后因为自身能力问题、认知水平问题&#xff0c;再加上运气不好&#xff0c;换过多份工作&#xff0c;每份工作都干不长。导致我30多岁时&#xff0c;还一事…