NXP官方uboot针对ALPHA开发板网络驱动更改说明三

news2024/11/8 15:28:42

一. 简介

前几篇文章学习了 在 NXP官方uboot上做网络驱动的一部分更改。地址如下:

ALPHA开发板网络方案说明-CSDN博客

NXP官方uboot针对ALPHA开发板网络驱动更改说明一-CSDN博客

NXP官方uboot针对ALPHA开发板网络驱动更改说明二-CSDN博客

本文继续来学习在 NXP官方uboot上做网络驱动方面的更改,适用正点原子ALPHA开发板的uboot。

二.  NXP官方uboot针对ALPHA开发板网络驱动更改

前面几篇文章学习了 在 NXP官方uboot上做网络驱动方面的更改,适用正点原子ALPHA开发板的uboot。

本文继续学习:更改 网络 PHY芯片 LAN8720A驱动的更改。

4.  修改 drivers/net/phy/phy.c 文件中的函数 genphy_update_link

uboot 中的 LAN8720A 驱动有点问题,打开文件 drivers/net/phy/phy.c,找到 genphy_update_link函数 ,这是个通用 PHY 驱动函数,此函数用于更 PHY 的连接状态和速度。
使用 LAN8720A 的时需要在此函数中添加一些代码。
更改后  genphy_update_link 函数如下所示:
int genphy_update_link(struct phy_device *phydev)
{
	unsigned int mii_reg;

#ifdef CONFIG_PHY_SMSC
    static int lan8720_flag = 0;
    int bmcr_reg = 0;
    if (lan8720_flag == 0) 
    {
        bmcr_reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR); 
        phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); 
        while(phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR) & 0X8000){
        udelay(100); 
        }
        
    phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, bmcr_reg); 
    lan8720_flag = 1;
    }
 #endif
	/*
	 * Wait if the link is up, and autonegotiation is in progress
	 * (ie - we're capable and it's not done)
	 */
	mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMSR);
...................
    return 0;
}

注意:这里需要参考 网络PHY芯片 LAN8720A 的数据手册:LAN_8720A-CP_datasheet.pdf文档。

LAN8720A 数据手册所在目录:

【正点原子】阿尔法Linux开发板(A盘)-基础资料-2022 /【正点原子】阿尔法Linux开发板(A盘)-基础资料 / 硬件资料 / 芯片资料

代码分析:

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

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

相关文章

上位机通过Modbus转Profinet网关与CGV300变频器通讯配置案例

上位机通过Modbus转Profinet网关(XD-MDPN100)与CGV300变频器通讯的案例可以实现两个不同的通信协议之间的互联互通。在这个案例中,上位机通过Modbus协议与Profinet网关进行通信,然后通过Profinet协议与CGV300变频器进行通信。 通…

【C++初阶(三)引用与内联函数】

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

【做题小技巧】乘法得出的数超过int怎么办

2023.10.20 首先看一道题哈:leetcode 2525题 给你四个整数 length ,width ,height 和 mass ,分别表示一个箱子的三个维度和质量,请你返回一个表示箱子 类别 的字符串。 如果满足以下条件,那么箱子是 “B…

滚柱导轨在重型机械设备中起什么作用?

滚柱导轨是一种以滚柱为滑动元件的导轨系统,它广泛应用于各种机械领域,特别是在重型设备和精密设备中,以下是滚柱导轨的主要应用领域: 1、重型机械设备:滚柱导轨具有较高的承载能力和抗振性能,因此在各种重…

思维训练2

题目描述1 Problem - A - Codeforces 题目分析 通过题目发现a[1] d[1], a[i] d[i] a[i - 1] 由于所有的数都为正数,所以只要出现a[i - 1] - d[i] > 0这种情况a[i]就可以取为绝对值,也就是说a[i]会有一正一负两种情况,当…

如何在 Bash 脚本中添加注释

在 Bash 脚本中添加注释是保持代码整洁且易于理解的最有效方法之一。 你可能会问为什么。 假设你的脚本包含一个复杂的正则表达式或多个复杂的代码块,在这种情况下,你可以添加注释,以便其他开发人员或你可以了解该代码块的含义。 注释掉部…

【运维知识高级篇】超详细的Jenkins教程5(pipeline流水线配置+分布式构建)

CI/CD是持续集成,持续部署,集成就是开发人员通过自动化编译,发布,测试的手段集成软件,在开发的测试环境上测试发现自己的错误;持续部署是自动化构建,部署,通常也是在测试环境上进行&…

Android问题笔记 - NoSuchmethodException: could not find Fragment constructor

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

UiPath:一家由生成式AI驱动的流程自动化软件公司

来源:猛兽财经 作者:猛兽财经 总结: (1)UiPath(PATH)的股价并没有因为生成式AI的炒作而上涨,但很可能会成为主要受益者。 (2)即使在严峻的宏观环境下,UiPath的收入还在不…

实现Linux下Word转PDF、Java调用命令方式

使用 LibreOffice 实现 Word 转 PDF 和 Java 调用命令 1、 安装 LibreOffice 外网安装 # 一键安装 yum install -y libreoffice # 验证版本 libreoffice --version # Warning: -version is deprecated. Use --version instead. # LibreOffice 7.5.6.2 f654817fb68d6d4600d7…

深入理解 Python 虚拟机:进程、线程和协程

深入理解 Python 虚拟机:进程、线程和协程 在本篇文章当中深入分析在 Python 当中 进程、线程和协程的区别,这三个概念会让人非常迷惑。如果没有深入了解这三者的实现原理,只是看一些文字说明,也很难理解。在本篇文章当中我们将通…

智慧图书馆视频监控系统方案——助力图书信息化管理

图书馆的藏书一般都是较为宝贵和珍重的,但图书馆的读者较多且复杂,为保护十分珍贵的图书资源,防止图书馆图书的丢失和损坏,TSINGSEE青犀智能视频监控系统应运而生。 1、视频监控系统 安装高清摄像头覆盖图书馆内的关键区域&#…

PMP考试中的常见翻译问题

1、题目中出现的“启动会议”或“启动大会”开工会议(kick-off meeting) 2、题目中出现的“回报期” 回收期(项目选择的经济模型) 3、题目中出现的“增强” 提高(风险应对策略) 4、题目中出现的“缓解” 减轻&#…

电源模块直流稳压电源不知道如何调试?纳米软件为您科普

调试是一个查错和排错的过程。电源模块调试就是在正常使用之前先通过调试检测其是否存在一些故障,确保在后期使用中整个电路可以稳定运行。直流稳压电源是常用的一种电源供应装置,今天纳米软件将介绍直流稳压电源调试方法。 直流稳压电源调试步骤 稳定直…

29 “select *“ 或者 “select field1, field2“ 的实现

前言 这里我们来探究一下 “select *” 或者 “select 字段列表“ 的相关实现 当然 这一部分在 “mysql union” 里面有具体的体现, 只是 可能没有那么细致 这里 来概览一下 这里的整个流程 select * from tz_test; setup_wild 的地方是处理 “select *” 的地方 外层迭代…

从北京到南京:偶数在能源行业的数据迁移实践

能源行业的数字化转型 当前,大数据技术在以电力为代表的能源行业不断推进,同时,分布式能源、储能、电网技术不断改进,电力行业的数字化转型充满了机遇和挑战。 一方面,电力行业本身自动化程度高、信息化基础好、系统…

去水印app有哪些?这三款良心推荐

如今图片的使用越来越普遍,因此我们经常需要对图片进行编辑和修改。但有些图片可能带有水印,这会影响图片的美观和应用效果。你知道有哪些推荐的图片去水印app吗?以下是介绍的三款可以去水印app,让你的素材更加专业和美观&#xf…

Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()正确使用方法!

关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作! 对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove 、del相关方法…

优化销售策略,突破企业全面预算管理难题

传统的企业年度销售计划往往会消耗企业内部人员很多精力和时间,比如需要收集数据、处理电子表格、确定项目优先级、预测未来发展以及为次年的费用制定预算等。然而随着这些繁琐的工作不断进行,其中的准确性和价值也受到了一定的怀疑。虽然销售计划仍按着…

经纬恒润推出全新一代智能电动座椅模块

随着智能驾驶、智能座舱的广泛应用,人们对于汽车的定位不再局限于代步工具,对于汽车座舱这个私密空间也有了不一样的期待。更安全、更舒适、更智能化的体验将成为未来智能座椅的发展方向,而传统的座椅控制系统已无法满足人们新的需求。 为了…