Linux内核移植之网络驱动更改说明二

一.  简介

本文继续学习 NXP官方Linux内核移植网络驱动的更改。

在学习 uboot 移植的时候就已经说过了,正点原子开发板的网络和 NXP 官方的网络硬件上不同,网络 PHY 芯片由 KSZ8081 换为了 LAN8720A,两个网络 PHY 芯片的复位 IO 也不同。 所以,Linux 内核自带的网络驱动是驱动不起来 I.MX6U-ALPHA 开发板上的网络的,需要做修改。

本文继上一篇文章的学习,文章地址如下:

Linux内核移植之网络驱动更改说明一-CSDN博客

二.   Linux内核移植之网络驱动更改

之前网络驱动更改中,修改网络复位IO和PHY 地址以后,Linux 内核内部通用 PHY驱动已经正常工作。上一篇文章已经可以 ping通 ubuntu系统了。

但是,正点原子视频学习中,左神说网络可能还会存在问题,还需要做网络其他方面的更改。

这里在之前更改的基础上,再进行网络驱动其他方面的更改。具体如下:

4. 修改 fec_main.c 文件

要 在 I.MX6ULL 上 使 用 LAN8720A , 需 要 修 改 一 下 Linux 内 核 源 码 , 打 开
drivers/net/ethernet/freescale/fec_main.c,找到 fec_probe() 函数,在 fec_probe()函数 中加入如下代码:
static int fec_probe(struct platform_device *pdev)
{struct fec_enet_private *fep;struct fec_platform_data *pdata;struct net_device *ndev;int i, irq, ret = 0;struct resource *r;const struct of_device_id *of_id;static int dev_id;struct device_node *np = pdev->dev.of_node, *phy_node;int num_tx_qs;int num_rx_qs;/* zuozhongkai 2019/2/20 设置MX6UL_PAD_ENET1_TX_CLK和* MX6UL_PAD_ENET2_TX_CLK这两个IO的复用寄存器的SION位* 为1。*/void __iomem *IMX6U_ENET1_TX_CLK;void __iomem *IMX6U_ENET2_TX_CLK;IMX6U_ENET1_TX_CLK = ioremap(0X020E00DC, 4);writel(0X14, IMX6U_ENET1_TX_CLK);IMX6U_ENET2_TX_CLK = ioremap(0X020E00FC, 4);writel(0X14, IMX6U_ENET2_TX_CLK);...........................................return 0;
}

第18行 ~ 第 25行,是新添加的代码,如果要在 I.MX6ULL 上使用 LAN8720A 就需要设置 ENET1 ENET2 TX_CLK 引脚复位寄存器的 SION 位为 1

5. 修改 smsc.c 文件

6. 配置 Linux 内核,使能 LAN8720 驱动

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

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

相关文章

麒麟信安与MatrixOne完成兼容互认

近日,超融合异构云原生数据库MatrixOne企业版软件V1.0完成了与欧拉开源操作系统(openEuler简称“欧拉”)、麒麟信安操作系统系列产品和虚拟化平台的相互兼容认证,通过了欧拉兼容性测评,获得了《openEuler技术测评证书》…

环保回收信息展示预约小程序的效果如何

人们每天在线上的时间非常多,他们会通过线上寻找信息,而环保回收企业也在通过线上寻找客户,但受限于平台限制,无论引流获客还是营销互动、或是数据分析及全面管理方面都面对难题,其中微信/百度/快手/抖音/支付宝/快手等…

kolla 安装多节点openstack kolla部署openstack

Kolla 概述: Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署和管理。Kolla实际上分为两部分:Kolla部分提供了生产环境级…

系列十三、分支合并框架

一、概述 Fork:把一个复杂任务进行分拆,大事化小,Join:把分拆任务的结果进行合并 二、相关类 2.1、ForkJoinPool 分支合并池,类比线程池。 2.2、ForkJoinTask ForkJoinTask,类比 FutureTask。 2.3、Recur…

[C++11]可变参数模板和参数包展开

可变参数模板 文章目录 可变参数模板可变参数模板的概念可变参数模板的定义方式 模板参数包的展开递归展开参数包sizeof...计算参数包大小 逗号表达式展开参数包enable_if方式展开折叠表达式展开 总结 可变参数模板的概念 可变参数模板(Variadic templates&#xf…

leetcode——设计循环队列

设计循环队列 这个题目在这里小编只分享一个解题思路,因为还有一个思路小编还在尝试,一直过不了,还在这里不断尝试,等我试出来的时候我在分享给大家,首先我们在这里给出的是数组的形式,后面在分享单链表的思…

开发盲盒商城的意义

开发盲盒商城的意义在于为电商行业带来新的增长机会,满足消费者对购物方式趣味性的需求,同时提升用户的参与度,为商家带来更多销售机会和增强影响力的机遇。 盲盒商城系统通过独特的盲盒玩法,为用户带来了全新的趣味购物体验&…

ProTable高级表格获取表单数据

隐藏高级表格中的收起按钮 手动控制高级表格中的搜索按钮 获取高级表格中的表单数据 Forminstance 引入 然后在代码中定义 const refForm useRef(); 使用 refForm.current.getFileDsValue();

单体进化微服务:拆分、注册、调用、网关、过滤、治理、分布式事务

这里写目录标题 基本介绍生产-消费-网关父依赖生产者服务消费者服务网关服务common服务 感想 基本介绍 Spring Cloud 是一个用于构建分布式系统和微服务架构的开发工具包。它提供了一系列的功能和组件,用于解决微服务架构中的常见问题,如服务注册与发现…

Git精讲

Git基本操作 创建Git本地仓库 git initgit clone 配置Git git config [--global] user.name "Your Name" git config [--global] user.email "emailexample.com"–global是一个可选项。如果使用了该选项,表示这台机器上所有的Git仓库都会使…

算法设计与分析算法实现——动态规划最大子段

输入:整数序列a1,a2,…,an 输出:序列的一个子段,其和Σak最大 注意:当所有整数都为负数时,定义最大子段和为0 使用动态规划,输入数组是a[n]; 状态转移方程dp[i]=max(dp[i-1]+a[i],a[i])——这个状态方程可以发现,使得满足“连续”这一要求的重点在于每个dp[i]都包含了当…

快时尚品牌Halara登上TikTok美国小店榜Top 5,运动健身风靡TikTok

TikTok Shop美国电商数据周榜(11/06-12)已出,具体信息如下: 上周总GMV达到5850万美元,日均出单840万美元;单日出单最高达2110万美元,是当前美国单日最高销售额; 截至11月12日&…

SpringBoot :ch01 项目结构

前言 在本系列博客中,我们将深入探讨 Spring Boot 项目结构的各个方面,并探讨如何利用这些结构来构建健壮、可扩展的应用程序。通过深入了解 Spring Boot 项目结构,我们可以更好地利用 Spring Boot 的优势,提高开发效率&#xff…

泛型编程:进阶的正确打开方式

泛型编程进阶建议书籍 《C新经典模板与泛型编程》 - 微信阅读 《C20高级编程》 - 微信阅读 《深入实践C模板编程》- 微信阅读 《C Template中文版》- 微信阅读

多目标应用:基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度(MATLAB)

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、基于非支配排序的蜣螂优化算法NSDBO 基于非支配排序的蜣螂优化算法NSDBO简介: https://blog.csdn.net/weixin46204734/article/details/128…

云服务器,你了解多少?揭秘其神秘面纱

在这个信息爆炸的时代,我们的生活已经离不开互联网。云服务器,顾名思义,就是将服务器放在云端,让用户可以通过互联网随时随地访问。那么,云服务器有哪些特点呢?让我们一起来揭开它的神秘面纱。 首先,我们…

【ARM AMBA AXI 入门 13 -- AXI 协议中 RRESP 信号详细介绍】

请阅读【ARM AMBA AXI 总线 文章专栏导读】 文章目录 AXI 协议中 RRESP 信号RRESP 使用举例RRESP 3bit 使用AXI 协议中 RRESP 信号 在 AXI (Advanced eXtensible Interface) 协议中,RRESP 信号用来表示读取事务的响应状态,它由从设备(Slave)发往主设备(Master)来通知读…

C#源代码生成器深入讲解二

在阅读本文前需掌握源代码生成器相关知识C#源代码生成器深入讲解一 C#源代码生成器深入讲解二—增量生成器 源代码生成器有个非常大的弊病,每次都会遍历所有的语法树来分析,这样就有个问题,每次可能只修改了很少一部分或者只有很少一部分的代码需要分析…

维基百科文章爬虫和聚类【二】:KMeans

维基百科是丰富的信息和知识来源。它可以方便地构建为带有类别和其他文章链接的文章,还形成了相关文档的网络。我的 NLP 项目下载、处理和应用维基百科文章上的机器学习算法。 一、说明 在我的上一篇文章中,展示了该项目的轮廓,并奠定了其基础…

C#中的is和as的使用和区别

目录 概述一、is操作符1. is操作符的语法2. is操作符的用途3. is操作符的使用示例4. is操作符与typeof操作符的区别 二、as操作符1. as操作符的语法2. as操作符的用途3. as操作符的使用示例4. as操作符与is操作符的区别和联系5. as操作符与is操作符的区别总结 概述 在C#编程语…