【linux内核】DP83867添加GMII模式支持

news2024/11/26 8:39:08

文章目录

    • 修改方案
    • 前期知识
    • 为什么这么修改?
      • 通用寄存器

修改方案

linux 4.0内核下/drivers/net/phy/dp83867.c

		phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_CFG4, val);
	}

+	if (phydev->interface == PHY_INTERFACE_MODE_GMII)
+	{
+		val = phy_read_mmd(phydev, DP83867_DEVADDR, DP83867_RGMIICTL);
+		val &= ~0x80;
+		phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_RGMIICTL, val);
+	}

	if (phy_interface_is_rgmii(phydev)) {
		val = phy_read(phydev, MII_DP83867_PHYCTRL);
		if (val < 0)

前期知识

DP83867是一款以太网物理层收发器(PHY)芯片。它由德州仪器(Texas Instruments)生产,广泛用于工业自动化、网络通信和嵌入式系统等领域。

DP83867支持以太网速率达到10 Mbps、100 Mbps和1 Gbps,符合IEEE 802.3标准。它采用了先进的数字信号处理技术,具有优异的抗干扰性能和噪声抑制能力,可以在恶劣的工业环境下稳定运行。

该芯片支持多种接口,包括MII(介质独立接口)、RMII(减少MII接口)和RGMII(减少GMII接口)。它还提供了丰富的功能和配置选项,如自适应等速率、自动协商、远程电源管理和诊断功能等,以满足不同应用的需求。

DP83867还具有低功耗特性,通过优化电源管理和睡眠模式,可以降低系统能耗并延长电池寿命。它还支持诊断和故障检测功能,有助于快速定位和解决网络问题。

总的来说,DP83867是一款高性能、可靠性强的以太网物理层收发器芯片,适用于各种工业和嵌入式网络应用。

为什么这么修改?

在这里插入图片描述
disable RGMII 后就是GMII接口。
DP83867数据手册
从8.6 register maps开始看寄存器就可以

通用寄存器

BMCR(Basic Mode Control Register)BMSR(Basic Mode Status Register)是与以太网物理层收发器(PHY)相关的寄存器,用于控制和监测PHY的基本模式和状态。

  1. BMCR(Basic Mode Control Register):BMCR寄存器用于控制PHY的基本模式和功能。它包含了一些位字段,用于配置和控制PHY的操作。常见的位字段包括:

    • 使能/禁用:用于启用或禁用PHY的功能。
    • 自动协商:用于启用或禁用PHY的自动协商功能,该功能允许PHY与连接的设备协商最佳的通信速率和双工模式。
    • 速率选择:用于选择PHY的通信速率,如10 Mbps、100 Mbps或1 Gbps。
    • 双工模式:用于选择PHY的通信双工模式,如半双工或全双工。
  2. BMSR(Basic Mode Status Register):BMSR寄存器用于提供PHY的基本模式和状态信息。它包含了一些位字段,用于指示PHY的当前状态和支持的功能。常见的位字段包括:

    • 连接状态:用于指示PHY是否与连接的设备建立了链接。
    • 自动协商完成:用于指示PHY的自动协商功能是否完成,即是否成功协商了最佳的通信速率和双工模式。
    • 速率支持:用于指示PHY支持的通信速率。
    • 双工支持:用于指示PHY支持的通信双工模式。

在这里插入图片描述
寄存器很多,需要用到的时候再进行查找即可。

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

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

相关文章

CLIP(Contrastive Language-Image Pre-training)

《Learning Transferable Visual Models From Natural Language Supervision》 从自然语言监督中学习可迁移的视觉模型 贡献:利用自然语言信号监督,打破了固定类别的范式。 方法简单,效果好。从文本中得到监督信号,引导视觉分类的任务。 它是一个 zero-shot 的视觉分类…

深度研究:ASEMI快恢复二极管APT60DQ20BG

编辑-Z 在众多电子元件中&#xff0c;快恢复二极管APT60DQ20BG因其独特属性和广泛应用&#xff0c;吸引了广大电子爱好者和工程师的目光。本文将为您进行全面、深入的剖析。 首先&#xff0c;我们需要理解APT60DQ20BG是什么。APT60DQ20BG是一种快恢复二极管。二极管作为一个电…

【MySQL系列】Select语句单表查询详解(一)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

搭建AI智能问答的这些前期工作可不要忘了

在搭建AI智能问答之前&#xff0c;我们需要做好相应的前期准备工作&#xff0c;不能盲目地去搭建模型。这样很容易导致我们模型后续的不完整性。所以looklook今天就基于搭建AI智能问答最基础的思路&#xff0c;带领大家一起去理顺一下我们需要做什么前期工作才能保证AI智能问答…

【数据结构】C语言实现栈(详细解读)

前言: &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨专栏:http://t.csdn.cn/oXkBa ⛳⛳本篇内容:c语言数据结构--C语言实现栈 目录 什么是栈 栈的概念及结构 实现栈的方式 链表的优缺点: 顺序表的优缺点: 栈…

使用端口映射实现Spring Boot服务端接口的公网远程调试:详细配置与步骤解析

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

【每日一招小技巧】编译安装提升系统自带的java版本

hello&#xff0c;大家好&#xff0c;又到了每日一招的环节&#xff0c;今天要给大家介绍的是&#xff0c;如何用源码安装的方式&#xff0c;升级系统自带的ava版本&#xff01; 首先&#xff0c;我们要查看一下我们系统自带的java版本是多少&#xff0c;怎么查看呢&#xff1…

『PyQt5-基础篇』| 02 Pyqt5开发环境+安装配置QtDesigner

02 Pyqt5开发环境安装配置QtDesigner 1 Pycharm安装2 Python安装3 Pip安装4 PyQt5安装5 Pycharm中编译工具设置及pyqt5包的导入6 指定Qt Designer7 指定PyUIC58 指定PyRcc59 PyInstaller安装10 查看是否配置OK 1 Pycharm安装 安装教程请参考&#xff1a;安装教程 2 Python安装…

Linux Day11---mbash项目(二)

观看本文之前请先阅读Linux Day10的相关内容 1.touch 1.1 open系统调用 int open(const char*path,int oflags,mode_t mode); oflags参数&#xff1a; O_APPEND:把写入数据追加在文件的末尾 O_TRUNC:把文件长度设置为0&#xff0c;丢弃已有的内容 O_CREAT:如果需要&#…

Oracle数据库sqlplus命令行执行sql语句时,语句有中文报错解决

在Oracle数据库sqlplus命令行执行sql语句时&#xff0c;语句有中文报错解决 -- 建表语句 create table T_ADEV_SCLG_YXDXMB (obj_id VARCHAR2(42) not null,xmmc VARCHAR2(400),xmbh VARCHAR2(100),jhnd INTEGER,gsmc VARCHAR2(50),xmssdwmc VARCHAR2…

如何从用户视角搭建可观测体系?阿里云ECS业务团队的设计思路

一分钟精华速览 互联网平台以业务为中心&#xff0c;以用户为中心&#xff0c;平台的功能服务、质量和用户体验等是关键的目标&#xff0c;仅仅关注后台系统的可用性是不够的&#xff0c;以传统运维的视角来解决故障、做监控会比较被动。 本文以阿里云 ECS 业务为例&#xff…

医院设备电力中断?如何改善UPS系统?教你一招

当今医疗体系紧密依赖于电力供应的稳定性&#xff0c;以保障医疗设备的正常运行和患者的安全。然而&#xff0c;电力中断或波动可能会带来严重的风险&#xff0c;因此&#xff0c;不间断电源&#xff08;UPS&#xff09;系统在医院中扮演着至关重要的角色。 为确保UPS系统的高效…

Java在项目中覆盖Jar包中的类

import cn.hutool.core.util.StrUtil;public class CoverJarTest {public static void main(String[] args) {System.out.println(StrUtil.toString("1"));} }输出1 我们将hutool的包名在我们的项目中创建一个&#xff0c;并且将对应类的源码复制一份过来&#xff0c…

Echarts图表坐标轴文字太长,省略显示,鼠标放上显示全部(vue)

注意&#xff1a;记得加上这个&#xff0c;触发事件&#xff0c; triggerEvent: true,重点&#xff1a;下面就是处理函数&#xff0c;在实例化图表的时候使用&#xff0c;传入参数是echarts的实例 // 渲染echartsfirstBarChart() {const that thislet columnar echarts.init…

Typecho博客搭建 实现公网访问内网站点

文章目录 前言1. 环境安装2.安装Typecho3.安装cpolar内网穿透4. 固定公网地址5.配置Typecho 前言 Typecho是一款PHP语言编写的开源博客程序&#xff0c;它是一个轻量级的内容管理系统&#xff0c;专注于博客领域。支持多用户、多站点、多语言等功能&#xff0c;可以满足不同用…

多模态(文本、图片)数据融合模型(含公开数据集、文献及开源代码汇总)

多模态&#xff08;文本、图片&#xff09;数据融合模型&#xff08;含公开数据集、文献及开源代码汇总&#xff09; <center>多模态模型的应用跑代码普遍存在的问题 <center>多模态公开数据集<center>文献及开源代码 多模态模型的应用 多模态模型的应用按照…

zabbix3.4配置客户端

1.安装agent yum -y install zabbix zabbix-agent如果下载不动或者无外网环境请看 https://download.csdn.net/download/qq_45748758/88228235?spm1001.2014.3001.5501 免费自取 2、配置zabbix-agent&#xff0c;修改图片三个参数 vi /etc/zabbix/zabbix_agentd.conf3、启动…

WebDAV之葫芦儿·派盘+柚子记账

柚子记账是一个手机记账的软件,这个软件主要是给那些懒人进行设计的,这里有很多关于记账的模板可以让你直接在线使用,你只需要导入相关的数据就可以了,整个操作是非常简单的,而且你也可以进行自定义的图表制作,生成你自己的记账模式。每当你记完之后,系统都会自动给你总…

【excel密码】加密excel工作表的3种方法

Excel文件经常用于处理数据文件&#xff0c;在完成编辑之后&#xff0c;对文件进行加密可以更好的保护数据&#xff0c;今天分享加密excel工作表的3种方法。 打开密码 设置了打开密码的excel文件&#xff0c;打开文件就会提示输入密码才能打开excel文件&#xff0c;只有输入了…

档案馆库房温湿度监控系统技术性【解决方案】

档案存储环境会受诸多因素的影响,其中最为主要的因素就是档案库房的温度与湿度。其中&#xff0c;库房的温度指得是档案库房内大气的冷热程度&#xff1b;湿度是指库房大气中的水分含量。保持档案库房内环境恒温恒湿,不仅可以保障档案的保存质量&#xff0c;而且可以延长档案保…