linux以太网(二)

内核版本:linux-3.14.16
基于imx6

一、文件fec_main.c分析

路径:drivers\net\ethernet\freescale\fec_main.c

1、platform总线

标准的平台总线使用方式
在这里插入图片描述
设备树匹配
在这里插入图片描述
设备树节点

2、平台总线probe

1)分配net_device相关结构

分配
与平台设备指向同一个device(struct device)
初始化net_device私有数据指针
在这里插入图片描述

2)获取硬件资源

获取平台设备的寄存器地址,映射出来,放到net_device私有数据保存
??Linux 内核:设备驱动模型(6)设备资源管理

在这里插入图片描述
???devm_regulator_get
硬件复位phy芯片,gpio
net_device初始化
请求注册中断
在这里插入图片描述

3)初始化mdio总线

在这里插入图片描述

4)注册网络设备

注册网络设备
初始化工作队列
在这里插入图片描述

3、net_device初始化

1)dma相关内存分配

在这里插入图片描述

2)设置mac地址

在这里插入图片描述

3)执行接收和发送的缓存地址

刚刚dma分配的地址分成2部分使用
在这里插入图片描述

4)初始化操作函数集

在这里插入图片描述
做一些寄存器的设置操作
在这里插入图片描述

4、初始化mdio总线

设置了一些寄存器,比如speed
创建mdio总线并注册
对于phy来说就可以用mdio总线了
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值