当前位置: 首页 > news >正文

乐清网站开发公司制作小诗集

乐清网站开发公司,制作小诗集,网络游戏免费加盟代理,眉山市做网站的公司一. 简介 前面文章了解到,Linux内核是有提供 PHY通用驱动的。 本文来简单了解一下ALPHA开发板上的 PHY网络芯片LAN8720的驱动。是 LAN8720芯片的公司提供的 PHY驱动。 二. ALPHA开发板上的PHY芯片驱动:LAN8720驱动 我 们 来 看 一 下 LAN8720A 的 …

一.  简介

前面文章了解到,Linux内核是有提供 PHY通用驱动的。

本文来简单了解一下ALPHA开发板上的 PHY网络芯片LAN8720的驱动。是 LAN8720芯片的公司提供的 PHY驱动。

二.  ALPHA开发板上的PHY芯片驱动:LAN8720驱动

我 们 来 看 一 下 LAN8720A Linux 驱动, LAN8720A 的 驱 动 文 件 为
drivers/net/phy/smsc.c ,这个文件是 SMSC 针对自家的一些 PHY 芯片编写的驱动文件,其中就 包含了 LAN8720A 这个 PHY 芯片。默认情况下, LAN8720A 这个驱动是没有打开的,我们需 要配置 linux 内核,打开Linux内核配置界面(运行 "make menuconfig" 命令),进入驱动选项,配置路径如下:
-> Device Drivers -> Network device support -> PHY Device support and infrastructure -> Drivers for SMSC PHYs

配置界面如下图 所示:
选中上面配置界面 中的 “ Drivers for SMSC PHYs ”,然后重新编译内核即可。

注意:这里只是暂时将新更改的配置保存到  .config文件中,当不小心 "make clean" 命令后就会删除掉更改的配置。

永久保存新配置:选中 "Drivers for SMSC PHYs"选项后,再选中上面Linux内核配置界面上的 "<Save>" 选项,可以保存到我创建自己开发板的内核配置文件 imx_v7_alientek_nand_defconfig文件中(之前移植实验):

上面输入 配置文件的路径,选中"OK" 选项即可实现永久保存新配置。可以通过查看 配置文件 imx_v7_alientek_nand_defconfig文件内容确认。

2.  LAN8720驱动

打开 smsc.c ,找到如下所示内容 ( 限于篇幅,有删减 )
static struct phy_driver smsc_phy_driver[] = {
{.phy_id		= 0x0007c0a0, /* OUI=0x00800f, Model#=0x0a */.phy_id_mask	= 0xfffffff0,.name		= "SMSC LAN83C185",
....................
}, {.phy_id		= 0x0007c0b0, /* OUI=0x00800f, Model#=0x0b */.phy_id_mask	= 0xfffffff0,.name		= "SMSC LAN8187",
....................
}, {.phy_id		= 0x0007c0c0, /* OUI=0x00800f, Model#=0x0c */.phy_id_mask	= 0xfffffff0,.name		= "SMSC LAN8700",
....................
}, {.phy_id		= 0x0007c0d0, /* OUI=0x00800f, Model#=0x0d */.phy_id_mask	= 0xfffffff0,.name		= "SMSC LAN911x Internal PHY",
....................
}, {.phy_id		= 0x0007c0f0, /* OUI=0x00800f, Model#=0x0f */.phy_id_mask	= 0xfffffff0,.name		= "SMSC LAN8710/LAN8720",.features	= (PHY_BASIC_FEATURES | SUPPORTED_Pause| SUPPORTED_Asym_Pause),.flags		= PHY_HAS_INTERRUPT | PHY_HAS_MAGICANEG,/* basic functions */.config_aneg	= genphy_config_aneg,.read_status	= lan87xx_read_status,.config_init	= smsc_phy_config_init,.soft_reset	= smsc_phy_reset,/* IRQ related */.ack_interrupt	= smsc_phy_ack_interrupt,.config_intr	= smsc_phy_config_intr,.suspend	= genphy_suspend,.resume		= genphy_resume,.driver		= { .owner = THIS_MODULE, }
} };module_phy_driver(smsc_phy_driver);

可以看出, smsc_phy_driver 还是支持了不少 SMSC 家的 PHY 芯片,
比如, LAN83C185 LAN8187 LAN8700 等等,当然了,肯定也包括了 LAN8720 系列。
22~45 ,就是 LAN8710/LAN8720 系列 PHY 驱动。

23 行,PHY ID 0X0007C0F0

24 行,PHY ID 掩码为 0XFFFFFFF0,也就是前 28 位有效,在进行匹配的时候只需要比较前 28 位,第 4 位不用比较。

25 行,驱动名字为“SMSC LAN8710/LAN8720”,系统启动以后,打开网卡就会提示当前 PHY 驱动名字为“SMSC LAN8710/LAN8720”。

47 行,使用 module_phy_driver(本质是一个宏)来完成 smsc_phy_driver 的注册。

此驱动里面的成员函数有一些是 SMSC 自己编写的,有一些是直接用的通用 PHY 驱动的, 比如,第 32 行的 genphy_config_aneg、第 41 行的 genphy_suspend 等。

关于ALPHA开发板上的 PHY网络芯片LAN8720的驱动,简单 了解到这里。


 

http://www.yayakq.cn/news/40244/

相关文章:

  • 下载网站开发创业平台排名
  • 郑州商城网站建设网站制作 呼和浩特
  • 中国建设银行河北省分行官方网站中华会计网校
  • 西安网站建设中企建站c2c的代表性电商平台
  • 免费做网站. 优帮云渠道策略的四种方式
  • 网站建设功能seowordpress 国内知名
  • 设计类的网站和简介免费素材网站pexels
  • 做网站的软件dw下载wordpress内容分页在哪改
  • 朝阳网站建设 高碑店网站建设工具品牌有哪些
  • 一个公司可以做2个网站么哈尔滨市建设工程招标信息网
  • 视频网站怎么做防盗链python合适做网站吗
  • 沈阳新民网站建设注册入口
  • 网站上常用的字体网站开发远程服务器如何设置
  • 公司网站封面怎么做谷歌浏览器怎么关闭2345网址导航
  • 专业的网站建设找聚爱电脑更新wordpress
  • 做笑话网站需要什么培训体系
  • 郑州中森网站建设开发项目的流程
  • 网站建设可用性做茶叶网站的公司
  • 参考网是正规网站吗网站建设用什么程序语言
  • 建设网站需要准备什么资料做网站设计的论文中摘要怎么写
  • 租赁商城手机网站开发中国旅游网
  • 网站建设必会的软件有哪些天津网站推广方法
  • 做网站广告经营者江阴做网站的
  • 抖音代刷网站推广快速wordpress页面怎么写
  • wordpress建站教程新手开网店卖什么好
  • 如何在工信部网站注册网页代码制作基础教程
  • 精品课程网站建设 公司wordpress免签约微信支付宝
  • 高端网站设计桂林网站建
  • 一般网站建设的流程整站seo服务
  • 广告网站建设最专业北京高端购物商场