PHY芯片的使用(三)在linux下网络PHY的移植

2023-10-29

1 前言

配置设备树请参考上一章。此次说明还是以裕太的YT8511芯片为例。

2 需要配置的文件及路径

a. 在 .. /drivers/net/phy 目录下添加 yt_phy.c 文件(一般来说该驱动文件由厂家提供);

b. 修改.. /drivers/net/phy 目录下的 Kconfig 文件,如下图所示。

c. 修改.. /drivers/net/phy 目录下的 Makefile 文件,如下图所示。

3 驱动添加

完成 以上内容后,进入 Linux 内核目录下执行 make menuconfig 进行内核配置,添加 YT PHY 驱动,如下图所示。

4. 移植关注点分析

a. u-boot 和 Linux 内核 PHY 驱动移植都是基于标准软件框架, u-boot 和 Linux 内核都是通过 PHY ID 来完成 PHY 设备 device 和驱动 driver 的匹配,匹配成功后通过函数(ytphy8511_config)调用完成设备树解析及 PHY 配置操作;

b. u-boot 移植过程中要注意 phy_device->dev(struct udevice *dev,图1所示)不是自身的 udevice 而是 gmac 的设备信息(如图2所示),设备树节点解析时要注意!

图1

图2

c. 设备树中 gmac、 mdio、 phy 设备节点及属性PS 端有两路 gmac(gmac0、gmac1), gamc 下分别有一路 mdio(mdio0、 mdio1)。网络相关设备树节点配置方法为: root 节点下包含 gmac 节点, gamc 节点包含子节点 mdio,mdio 节点包含子节点 phy,其中 mdio 节点下可包含多个 phy 子节点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHY芯片的使用(三)在linux下网络PHY的移植 的相关文章

随机推荐

  • 无监督学习分类

    目录 1 聚类 1 1 K 均值算法 K Means 1 2 层次聚类 Hierarchical Clustering 1 3 基于密度聚类Mean Shift 1 4 基于密度聚类DBSCAN 1 5 高斯混合模型 GMM 与EM 1 6
  • 加密算法 AES和RSA

    一 加密 一 加密基础 通过互联网发送数据 数据可能会被第三者恶意窃听 造成损失 因此需要给重要的数据进行加密 加密后的数据被称为 密文 接收方通过解除加密或得原本的数据 把密文恢复为原本数据的操作叫做 解密 像这样就减少了数据被恶意窃听的
  • HBuilder运行项目到IOS真机设备

    公司项目 开发多端应用 在此记录下开发后在ios端真机测试的步骤 在Hbuilder点击运行 gt 运行到手机或模拟器 gt 运行到IOS App基座 连上ios设备 这里需要设置一下Apple证书签名才可以使用 点击 使用Apple证书签
  • Python安装及环境配置

    编程语言分类 编译型 go语言 c语言 一次性把源代码进行翻译 特点是 执行效率高 平台依赖性一般比较高 解释型 js语言 python语言 ruby语言 逐行地对源代码进行翻译和运行 特点是 执行效率相对较低 平台的依赖性不高 安装各个平
  • 4 Swagger3 接口测试

    swagger ui图形客户端提供了接口测试功能 默认情况下 这些参数都不能填写 禁用的 我们点击 Try it out 按钮 即可开启接口测试功能 输入请求参数后 点击 Execute 按钮 即可执行 下方是后端返回信息 类似的 我们可以
  • QT插件开发(3)-- 插件之间相互通信

    插件的通信通过插件管理器来管理 插件管理器转发插件的消息 首先 改一下接口 增加一个插件间通信的结构体 增加插件发送消息和接收消息的纯虚函数供插件实现 ifndef PLUGININTERFACE H define PLUGININTERF
  • Nginx安装步骤——离线安装与在线安装详解

    目录 Linux环境下Nginx的离线安装与在线安装详细步骤 一 离线安装 1 安装环境 2 安装nginx 二 在线安装 1 安装相关依赖 2 安装nginx nginx相关命令 1 查看nginx是否在运行 2 测试配置文件是否正确 3
  • 整数反转(三种解法)——leetcode

    题目描述 给出一个 32 位的有符号整数 你需要将这个整数中每位上的数字进行反转 示例 1 输入 123 输出 321 示例 2 输入 123 输出 321 示例 3 输入 120 输出 21 注意 假设我们的环境只能存储得下 32 位的有
  • HEVC学习之码流分析

    一 从分层编解码框架到NAL单元 以H 264为例 H 264适应不同网络之间的传输 主要原因是引入了分层结构 分为视频编码层 VCL 与网络抽象层 NAL 从而实现压缩编码与网络传输分离 通过H 264算法压缩的后的数据通过NAL VCL
  • 使用Compose构建Docker多容器应用及数据卷(一键环境及代码)

    首先安装compose 下载并移动到 usr local bin目录下 curl L https github com docker compose releases download 1 23 1 docker compose uname
  • Docker之私有镜像仓库Harbor搭建

    简介 Docker离不开可靠的镜像管理 官方默认的DockHub 虽然Docker官方也提供了公共的镜像仓库Registry 但是功能略显简单 Harbor是由VMware公司开源的企业级的Docker Registry管理项目 它包括权限
  • 【C#基础详解】(十五)面向对象 多态

    15 1 多态简介 1 多态的概念 让一个对象能够表现出多种的状态 类型 意味着有多重形式 在面向对象编程范式中 多态性往往表现为 一个接口 多个功能 假设有一个主人类 喂食不同的动物 不同动物对象调用方法的时候 对重复的代码频繁的修改 代
  • ES6 变量解构赋值的用途

    以下内容整理自 阮一峰 的 ECMAScript 6 入门 第三章 变量的解构赋值 解构赋值的用法 数组 let a b c 1 2 3 let foo true 对象 let foo bar foo aaa bar bbb let foo
  • 【NOIP2017普及组】甲、乙、丙三位同学选修课程,从 4 门课程中,甲选修 2 门,乙、丙各选修3 门,则不同的选修方案共有( )种。

    题目 NOIP2017普及组 甲 乙 丙三位同学选修课程 从 4 门课程中 甲选修 2 门 乙 丙各选修3 门 则不同的选修方案共有 种 A 36 B 48 C 96 D 192 解答 C 4 2
  • 如何开发企业微信小程序,和小程序有啥区别?

    很多人不知道企业微信小程序也是可以开发的 和小程序有啥区别 企业微信小程序和小程序的开发程序其实是没啥区别 都是去微信开发社区看开发文档就行 主要区别在于前面的配置上面 小程序开发是直接下载一个微信开发者工具 然后导入或者新建一个小程序就行
  • ffmpeg android jni端调用mediaCodec实现硬解码

    硬解码 用的是cpu上面固化的一段芯片 专门用来处理音视频的 硬解码不会大量占用cpu 也不会占用gpu 但解码的帧率是固化的 ffmpeg是c库 而android只在java端抛出mediaCodec 来实现硬解码 ffmepg已经为an
  • vector基本功能

    vector基本概念 功能 vector数据结构和数组非常相似 也称为单端数组 vector与普通数组区别 不同之处在于数组是静态空间 而vector可以动态扩展 动态扩展 并不是在原空间之后续接新空间 而是找更大的内存空间 然后将原数据拷
  • 「Electron|问题记录」解决npm install electron --save-dev 各种下载速度过慢、超时或者报错等问题

    本文主要记录安装electron时遇到的问题以及最终帮助我解决这些问题的方案 文章目录 背景 解决方案 验证是否安装成功 背景 开始捣鼓桌面端 想着希望web端和桌面端同时迭代 代码复用性可以强一点 选择了Electron作为技术选型 可惜
  • Java-实现Callable接口创建多线程

    Java 实现Callable接口创建多线程 1 实现Callable接口和实现Runnable比较 call方法可以有返回值 call方法可以抛出异常 被外部操作捕获异常 callable支持泛型 2 代码举例 实现Callable接口创
  • PHY芯片的使用(三)在linux下网络PHY的移植

    1 前言 配置设备树请参考上一章 此次说明还是以裕太的YT8511芯片为例 2 需要配置的文件及路径 a 在 drivers net phy 目录下添加 yt phy c 文件 一般来说该驱动文件由厂家提供 b 修改 drivers net