新闻详情

新闻详情

首页 / 资讯中心 / 详情

Linux网络驱动之Fixed-Link(34)

发布时间:2026/9/17 14:05:25来源:尧图网络
Linux网络驱动之Fixed-Link(34)
接前一篇文章Linux网络驱动之Fixed-Link33本文内容参考RK3588TRL8367s 四网口千兆交换机配置与性能优化实战-CSDN博客嵌入式Linux驱动开发指南 —— 设备树语法与编译工具 —— 读懂这张“藏宝图“3-CSDN博客特此致谢上一回对瑞芯微RK3588 SDK的dts文件和全志T113 SDK的dts文件中涉及到RTL8367交换机芯片的内容做了对比本回来具体解析一下两个版本dts文件相应部分的内容。通过此过程一方面对于涉及到的硬件和寄存器能够有较为深入的了解另一方面对于设备树的语法也是一次理论结合实践的过程。RK3588的dts// 这是假设你的RK3588 GMAC0控制器对应的MDIO总线节点是 mdio0 mdio0 { status okay; // 删除可能自动生成的PHY节点因为我们接的是交换机不是直接PHY /delete-node/ phy0; // 定义我们的交换机节点 switch: switch0 { compatible realtek,rtl8367s; // 驱动匹配的关键字 reg 0; // 在MDIO总线上的地址通常是0 reset-gpios gpio3 RK_PC0 GPIO_ACTIVE_LOW; // 复位引脚低电平有效 // ldo-gpios gpio2 RK_PD3 GPIO_ACTIVE_HIGH; // 如果芯片有外部LDO控制则启用 realtek,disable-leds; // 可选禁用交换机的LED指示如果硬件没接LED可以加上避免报错 // DSA相关表明这是交换机成员 dsa,member 0 0; // 中断控制器可选但推荐 switch_intc: interrupt-controller { interrupt-parent gpio3; interrupts 16 IRQ_TYPE_LEVEL_LOW; // 连接的中断GPIO interrupt-controller; #interrupt-cells 1; }; // 端口定义这是核心 ports { #address-cells 1; #size-cells 0; // 定义连接到内部PHY的4个LAN口 port1 { reg 1; // 端口号对应芯片物理端口 label lan1; // 系统内显示的接口名如 sw0p1 phy-handle phy1; // 指向下面MDIO总线定义的PHY // interrupt-parent switch_intc; // 如果需要端口中断则关联 // interrupts 1; }; port2 { reg 2; label lan2; phy-handle phy2; }; port3 { reg 3; label lan3; phy-handle phy3; }; port4 { reg 4; label lan4; phy-handle phy4; }; // 定义CPU口连接RK3588的GMAC port6 { // 注意RTL8367S的扩展口1通常映射为端口6 reg 6; label cpu; ethernet gmac0; // 指向RK3588的以太网控制器节点 phy-mode rgmii; // 连接模式必须与硬件一致 fixed-link { // 因为直连MAC所以是固定链接无需协商 speed 1000; // 强制千兆也可设为100测试 full-duplex; pause; // 启用流控推荐 }; }; }; // 定义交换机内部的MDIO总线用于管理其内部的PHY mdio { compatible realtek,smi-mdio; #address-cells 1; #size-cells 0; phy1: phy1 { reg 1; // 可以关联中断 interrupt-parent switch_intc; interrupts 1; }; phy2: phy2 { reg 2; interrupt-parent switch_intc; interrupts 2; }; phy3: phy3 { reg 3; interrupt-parent switch_intc; interrupts 3; }; phy4: phy4 { reg 4; interrupt-parent switch_intc; interrupts 4; }; }; }; };1第1段mdio0 { …… };mdio0引用gmac0内置的MDIO总线MDC/MDIO由GMAC0 引出。也就是注释中所说的RK3588 GMAC0控制器对应的MDIO总线节点是mdio0。2第2段status okay;在设备树语法中status是设备的生死开关决定了设备的启用/禁止。其取值如下okay设备可操作内核加载驱动。disabled设备禁用内核忽略它。fail/fail-sss设备有严重错误。这里的作用是启用MDIO总线内核加载dwmac-mdio驱动。3第3段/delete-node/ phy0;在设备树语法中/delete-node/的作用是把不需要的节点彻底删除而不是让它以disabled状态存在。这里的作用是芯片dtsi或板级dts可能默认预定义了phy0单PHY节点现在外接交换机删除旧PHY节点避免冲突、驱动匹配混乱。正如注释所说删除可能自动生成的PHY节点因为接的是交换机不是直接PHY。4第4段switch: switch0 { …… };switch0挂载在mdio0下。这里switch是标签可以在文件其它地方通过switch引用。5第5段compatible realtek,rtl8367s; // 驱动匹配的关键字compatible是设备树中最重要的属性格式为manufacturer,model它是驱动和硬件绑定的红娘内核会拿着这个字符串去驱动的of_match_table里匹配。这里的作用是内核DSA驱动匹配标识加载rtl8367s专用交换机驱动。6第6段reg 0; // 在MDIO总线上的地址通常是0在设备树语法中描述设备寄存器的地址与长度格式由父节点的#address-cells和#size-cells决定。这里的作用是代表交换机芯片外部MDIO总线地址 0RK3588 GMAC通过这条MDIO读写交换机全局寄存器。7第7段reset-gpios gpio3 RK_PC0 GPIO_ACTIVE_LOW; // 复位引脚低电平有效交换机硬件复位脚内核probe时拉低复位、延时释放。8第8段// ldo-gpios gpio2 RK_PD3 GPIO_ACTIVE_HIGH; // 如果芯片有外部LDO控制则启用虽然这行被注释掉了也来看一下。交换机外部供电使能脚如果芯片有外部LDO控制则启用。9第9段realtek,disable-leds; // 可选禁用交换机的LED指示如果硬件没接LED可以加上避免报错rtl8367s私有属性禁用Switch的LED硬件未焊接LED时消除内核probe警告。更多内容请看下回。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

二阶锥松弛在配电网最优潮流计算中的Matlab实现与实战 2026/9/17 18:19:31

二阶锥松弛在配电网最优潮流计算中的Matlab实现与实战

做配电网络优化的人,大概率都会遇到同一个问题:潮流方程是非线性的,甚至是非凸的。这套方程放在输电网里,因为有足够的无功支撑和较高的电压等级,很多近似手段都还能用;可一旦落到配电网,高R/X比…

阅读更多 →
移动通信课后答案PDF高效处理:OCR提取、公式验证与复习笔记构建 2026/9/17 18:19:31

移动通信课后答案PDF高效处理:OCR提取、公式验证与复习笔记构建

简介:移动通信课后答案PDF是一份面向通信工程、电子信息类专业学生的课程复习资料,重点围绕课后思考题与典型计算题展开,适合备考期末或考研复试阶段使用。资源共1个PDF文件,压缩包整体261KB,文档结构紧凑,…

阅读更多 →
AI大模型驱动的运维监控平台:从异常检测到根因定位的落地实践 2026/9/17 18:19:31

AI大模型驱动的运维监控平台:从异常检测到根因定位的落地实践

简介:面向制造业数字化转型场景的AI大模型运维监控平台整体建设方案,以PPT形式呈现,适合制造业信息化/运维负责人、架构师及技术管理者参考。方案先梳理项目背景与建设目标,指出价值闭环缺失、ROI难量化、系统孤岛、传统运维规则依…

阅读更多 →
高层建筑智慧监管物联网消防综合预警建设方案与工程化交付 2026/9/17 18:19:31

高层建筑智慧监管物联网消防综合预警建设方案与工程化交付

简介:这份资源是2022年高层建筑智慧监管物联网消防综合预警服务项目的建设方案文档,面向智慧城市与消防安全领域的方案编制人员、系统集成商及项目管理人员,可用于理解高层建筑消防物联网监管的整体架构与落地路径。方案以惠山经济技术开发区…

阅读更多 →
Node.js 18 版本发布全解析:全局 fetch、node:test 原生测试模块与 V8 10.1 核心特性实战指南 2026/9/17 18:19:31

Node.js 18 版本发布全解析:全局 fetch、node:test 原生测试模块与 V8 10.1 核心特性实战指南

Node.js 18 版本发布全解析:全局 fetch、node:test 原生测试模块与 V8 10.1 核心特性实战指南 【免费下载链接】nodejs.org The Node.js Website 项目地址: https://gitcode.com/GitHub_Trending/no/nodejs.org 本篇技术指南基于 nodejs.org 仓库中的官方发布…

阅读更多 →
从ARP到HTTP:Wireshark抓包实操与网络协议报文分析 2026/9/17 18:16:29

从ARP到HTTP:Wireshark抓包实操与网络协议报文分析

简介:计算机网络实验报告,聚焦使用Wireshark/Ethereal捕捉与分析协议数据包。实验覆盖以太网帧、IP数据报、TCP段格式验证,以及ARP、ICMP(ping/tracert)、TCP三次握手、FTP工作过程、WWW应用报文等典型协议交互&#x…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞