【NanoPi T2】 6.uboot gmac网卡驱动(2) - 寄存器介绍
1.mac控制器,phy芯片,rgmii协议
2.寄存器介绍
3.驱动源码解析
4.nanopi t2 移植rtl8211e网卡驱动(首发)
s5p4418 gmac概述
支持千兆速度,协议为RGMII。另外支持全双工,可编程控制的帧大小,MDIO主机管理接口,专用DMA控制器。图就不贴了。总架构图如下:
物理连接:
DMA相关寄存器
概括解释一下,可能有错
- register 0:总线模式寄存器,包含了数据总线的一些设置,不详细解释
- register 1:写入任何数据都可以启动DMA发送
- register 2:写入任何数据启动DMA接收
- register 3:DMA接收描述符,DMA使用这个描述符的信息进行批量数据传送,里面有状态标志和目的存放地址。
- register 4:DMA发送描述符
- register 5:状态寄存器,不解释每一位的详细含义,只读
- register 6:操作模式寄存器
- register 7:中断使能寄存器
- register 8:丢帧和缓冲区溢出控制寄存器
- register 18:当前发送描述符(由DMA再传送的时候更新这个寄存器的值)
- register 19:当前接收描述符(由DMA再传送的时候更新这个寄存器的值)
- register 20:当前发送缓冲区地址(由DMA再传送的时候更新这个寄存器的值,值来自发送描述符中的缓冲区地址)
- register 21:当前接收缓冲区地址(由DMA再传送的时候更新这个寄存器的值,值来自发送描述符中的缓冲区地址)
mac控制器相关寄存器
挑几个关键的解释(可能会说错):
- register 0:mac配置寄存器,很重要的一个配置寄存器,内容比较多,主要是配置了传输速度10M/100M/1000M、双工模式、链路使能、发送接收使能、Jabber、watchdog、CRC等等。
- register 1:帧过滤,这个可以开启网卡的混淆模式
- register 2:mac地址高32位
- register 3:mac地址低32位
- register 4:GMII管理接口,表示要访问的PHY寄存器的地址(读写PHY就靠这个)
- register 5:GMII管理接口,读写的数据
- register 16-17:需要过滤的mac地址
- register 54:主要是状态寄存器,只读,调试的时候可以读这个寄存器看看
PHY:rtl8211e寄存器
- register0:控制寄存器,有复位、loopback(回传,调试比较有用,发送的数据会发回来,验证MII接口的连通性)、速度设置(这里设置的速度不一定就是工作状态的速度,实际速度取决于PHY链路自动协商)、电源开关、双工模式。
- register1:PHY状态寄存器,主要有当前工作速度、网口连接状态、Jabber Detect(超时)
- register9-10、15:千兆状态标志,读取这个可以知道PHY是否工作在千兆模式,调整gmac速度予以匹配。
资源
rtl8211e芯片手册
【NanoPi T2】 6.uboot gmac网卡驱动(2) - 寄存器介绍相关推荐
- 【NanoPi T2】 7.uboot gmac网卡驱动(3) - 驱动源码解析
1.mac控制器,phy芯片,rgmii协议 2.寄存器介绍 3.驱动源码解析 4.nanopi t2 移植rtl8211e网卡驱动(首发) 驱动注册入口 驱动的注册分两个部分,一个部分是静态编译的时 ...
- 【NanoPi T2】 5.uboot gmac网卡驱动(1) - mac控制器,phy芯片,rgmii协议
1.mac控制器,phy芯片,rgmii协议 2.寄存器介绍 3.驱动源码解析 4.nanopi t2 移植rtl8211e网卡驱动(首发) 硬件构成部分 以太网卡或者是ARM开发板的网络部分通常由M ...
- UEFI 中的Gmac网卡驱动实现
UEFI 中的Gmac网卡驱动实现 最近在龙芯平台完成了Gmac网卡驱动的迁移,目前已经在UEFI上跑起来了,经过大量的测试,gmac搭配Rtl或者intel的网卡进行pxe启动都是没有问题的.也算是 ...
- 在rk3328上从零构建ubuntu16.04系统系列(1):sdk的环境配置和编译与uboot的网卡驱动配置
如果有问题,请加QQ群 891339868 进行交流 当前的项目是基于RK3328的硬件方案,安装ubuntu16.04系统,现在基本上告一段落,现在将这个过程记录下来,以备以后查阅,今天先描述一下怎 ...
- Dm9000aep在u-boot下网卡驱动调试笔记
作者:杨硕,华清远见嵌入式培训中心讲师. 最近在将u-boot1.3.4移植到三星s5pc100 SOC平台发现u-boot启动之后无法ping通主机,也不能用tftp下载内核.硬件平台用的网卡芯片是 ...
- gmac网卡驱动1-------mac与phy基础知识
GMAC简介 网卡 用于报文控制,一般有mac和phy组成. mac: 一般用于数据的过滤 phy: 操作数据实际的收发 mac 分类: mac按最大传输速率可以分为emac,gmac组成: 帧发送( ...
- 2015版uboot的启动过程及网卡驱动结构分析
启动流程和上篇博文介绍的rtems类似 首先是start.s: 在这里选择arm的arm7作为例子分析,代码:/arch/arm/cpu/armv7/start.s /** armboot - Sta ...
- linux怎么每次都要手动启动网卡驱动,Linux系统如何快速安装网卡驱动_Shell script即可解决 - 驱动管家...
Linux系统内核在升级的时候,网卡驱动就要重新安装一次,那么有什么简单的方法进行网卡驱动的安装呢?下面小编就给大家介绍下Linux使用Shellscript安装网卡驱动的方法,一起来了解下吧. ## ...
- linux gianfar 网口驱动源码,基于MPC8313ERDB平台的Marvell88E1111型网卡驱动移植(uboot+kernel)...
最近一个月挣扎于千兆网的设备驱动移植,现在终于弄出来了,虽然有点累但是收获还是挺多的. 进入主题前,首先要感谢网友gorilla0123,他的博客给了我很多启发,在此非常感谢.我建议做网卡驱动这方面的 ...
最新文章
- 4. 编程规范和编程安全指南--go语言
- [安卓] 7、页面跳转和Intent简单用法
- 布式缓存系统Memcached简介与实践
- mysql udb_MySQL InnoDB的一些参数说明
- 检测和删除多余无用的css
- 无数踩坑系列(1)--Brightness Controller
- 【Python】玫瑰花绘制
- Python程序设计语言基础03:基本数据类型
- 安装mysql后电脑右下角_windows安装mysql方法 mysql5.7以后的安装方法
- document.documentElement.clientWidth与document.body.clientWidth在浏览器滚动条的情况
- 计算机操作常用的五大功能是,计算机操作系统的五大功能是什么
- 【教程】如何查看自己的外网ip是不是公网ip
- 《东周列国志》第五十五回 华元登床劫子反 老人结草亢杜回
- youtube批量采集-低成本解决方案-2
- uni-app实战之社区交友APP(4)首页开发
- FMI人工智能与大数据线下沙龙第869期北京场圆满落幕
- 初创软件企业如何合理避税?
- (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)
- 上海贝岭携手亚信安全治理勒索邮件 建设主动防护体系实现零感染率
- 洛谷 P2495 [SDOI2011]消耗战 题解