LS1028使用原生RGMII软件修改方案

2023-11-16

LS1028的网络拓扑结构

forlinx的开发板目前只做了五路网口,原生的RGMII并没有配置出来,默认将相关引脚功能用作了音频信号,若将该引脚功能用作了RGMII,音频功能就不能使用了。本人主要介绍软件上的修改,对于硬件原理部分是有硬件工程师设计的,在此不做概述。
在这里插入图片描述
原有引脚用作音频信号,如下所示:
在这里插入图片描述
RGMII网口需要用到的引脚
第一列代表RCW字段;第二列表示RCW字段的值;第三列表示引脚功能。
在这里插入图片描述

软件配置

第一步修改RCW

RCW路径:OK1028-linux-fs/packages/firmware/rcw/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw

修改RCW配置引脚功能

GTX_CLK125_PMUX=0
EC1_SAI3_6_PMUX=0
EC1_SAI4_5_PMUX=0

第二步修改uboot设备树

设备树路径:OK1028-linux-fs/packages/firmware/u-boot/arch/arm/dts/fsl-ls1028a-rdb.dts

软件上修改以物理PHY芯片地址为6为例,进行phy地址的注册,后续根据实际原理做修改。

&enetc0 {
        status = "okay";
        phy-mode = "sgmii";
        phy-handle = <&rdb_phy0>;
};

+&enetc1 {
+        status = "okay";
+        phy-mode = "rgmii";
+        phy-handle = <&rgm_phy0>;
+};
&ethsw_ports {
        port@0 {
                status = "okay";
                phy-mode = "qsgmii";
                phy-handle = <&sw_phy0>;
        };
        port@1 {
                status = "okay";
                phy-mode = "qsgmii";
                phy-handle = <&sw_phy1>;
        };
         port@2 {
                status = "okay";
                phy-mode = "qsgmii";
                phy-handle = <&sw_phy2>;
        };
        port@3 {
                status = "okay";
                phy-mode = "qsgmii";
                phy-handle = <&sw_phy3>;
        };
};

&mdio0 {
        status = "okay";
+         rgm_phy0: phy@6 {
+                reg = <6>;
+        };

       rdb_phy0: phy@2 {
                reg = <2>;
        };

        sw_phy0: phy@8 {
                reg = <0x08>;
        };
        sw_phy1: phy@9 {
                reg = <0x09>;
        };
        sw_phy2: phy@a {
                reg = <0x0a>;
        };
        sw_phy3: phy@b {
                reg = <0x0b>;
        };
};

第三步修改内核设备树

内核设备树路径:OK1028-linux-fs/packages/linux/linux/arch/arm64/boot/dts/freescale/OK1028A-C.dts
&enetc_port0 {
        phy-handle = <&sgmii_phy0>;
        phy-connection-type = "sgmii";
        mdio {
                #address-cells = <1>;
                #size-cells = <0>;
                sgmii_phy0: ethernet-phy@2 {
                        reg = <0x2>;
                };
        };
};

+&enetc_port1 {
+       phy-handle = <&rgmii_phy0>;
+        phy-connection-type = "rgmii";
+        mdio {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                rgmii_phy0: ethernet-phy@6 {
+                        reg = <0x6>;
+                };
+        };
+};

软件验证

查看MDIO总线上挂载的phy芯片

在这里插入图片描述

查看设备节点

RGMII生成的设备节点名字为eno1
在这里插入图片描述

网卡ping测试

配置IP、网关、DNS,进行ping测试,网卡能够正常上网,到此RGMII调试成功。
在这里插入图片描述

其他

RCW引脚功能复用

在这里插入图片描述
1)RCW :GTX_CLK125_PMUX
当RCW字段GTX_CLK125_PMUX=0时该引脚被用作EC1_GTX_CLK125功能
在这里插入图片描述
2)RCW:EC1_SAI3_6_PMUX
当RCW字段EC1_SAI3_6_PMUX=0时,引脚被复用为ENETC RGMII(EC1_TXD[1:0],EC1_RXD[1:0],EC1_RX_CLK,EC1_RX_DV)功能。
在这里插入图片描述
3)RCW:EC1_SAI4_5_PMUX
当RCW字段EC1_SAI4_5_PMUX=0时,引脚被复用为 EC1_TXD[3:2], EC1_TX_EN, EC1_GTX_CLK, EC1_RXD[3:2]
在这里插入图片描述

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

LS1028使用原生RGMII软件修改方案 的相关文章

  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 内核模式下的线程(和进程)与用户模式下的线程(和进程)有什么区别?

    我的问题 1 书中现代操作系统 它说线程和进程可以处于内核模式或用户模式 但没有明确说明它们之间有什么区别 2 为什么内核态线程和进程的切换比用户态线程和进程的切换花费更多 3 现在 我正在学习Linux 我想知道如何在LINUX系统中分别
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • “make install”将库安装在 /usr/lib 而不是 /usr/lib64

    我正在尝试在 64 位 CentOS 7 2 上构建并安装一个库 为了这个目的我正在跑步 cmake DCMAKE BUILD TYPE Release DCMAKE INSTALL PREFIX usr DCMAKE C COMPILER
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • 如何在基于 Linux 的系统上的 C 程序中使用 mqueue?

    如何在基于 Linux 的系统上的 C 程序中使用 mqueue 消息队列 我正在寻找一些好的代码示例 可以展示如何以正确且正确的方式完成此操作 也许是一个操作指南 下面是一个服务器的简单示例 该服务器接收来自客户端的消息 直到收到告诉其停
  • php exec 返回的结果比直接进入命令行要少

    我有一个 exec 命令 它的行为与通过 Penguinet 给 linux 的相同命令不同 res exec cd mnt mydirectory zcat log file gz echo res 当将命令直接放入命令行时 我在日志文件
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 监控子进程的内存使用情况

    我有一个 Linux 守护进程 它分叉几个子进程并监视它们是否崩溃 根据需要重新启动 如果父进程可以监视子进程的内存使用情况 以检测内存泄漏并在超出一定大小时重新启动子进程 那就太好了 我怎样才能做到这一点 您应该能够从 proc PID
  • 警告:请求的映像平台 (linux/amd64) 与检测到的主机平台 (linux/arm64/v8) 不匹配

    警告 请求的映像平台 linux amd64 与检测到的主机平台 linux arm64 v8 不匹配 并且未请求特定平台 docker 来自守护程序的错误响应 无法选择具有功能的设备驱动程序 gpu 我在 mac 上尝试运行此命令时遇到此
  • Fedora dnf 更新不起作用?

    当我尝试使用 update 命令更新 Fedora 22 时 sudo dnf update 我收到以下错误 错误 无法同步存储库 更新 的缓存 无法准备内部镜像列表 Curl 错误 6 无法解析主机名 无法解析主机 mirrors fed
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有
  • Linux中使用管道进行进程间通信

    我已经编写了在 linux 中写入数字以进行管道传输的代码 如下所示 但显示错误 任何人都可以帮助我解决这个问题 基本上该程序的问题陈述如下 一个程序将打开一个管道 向管道写入一个数字 其他程序将打开同一管道 读取数字并打印它们 关闭两个管
  • 如何将后台作业的输出分配给 bash 变量?

    我想在 bash 中运行后台作业并将其结果分配给一个变量 我不喜欢使用临时文件 并且希望同时运行多个类似的后台任务 root root var echo hello world root root echo var hello world

随机推荐

  • MobaXterm无法调出图形界面问题

    在安装部署达梦数据库过程中 常常会使用远程图形化安装 有的时候无法远程调用出图形界面 以下列出一种解决办法 Kylin系统无xclock命令 需要使用xterm测试图形界面 使用root用户登录 首先修改sshd配置文件设置 vi etc
  • maven工程依赖的jar包,在本地仓库有,但是pom.xml文件却报错找不到jar包;IDEA运行项目类文件报错:java: 错误: 无效的源发行版:16

    1 maven项目依赖的jar包 在本地仓库有 但是pom文件却报错找不到jar包 window10 Maven3 8 3 jdk1 8 Intellj IDEA2021 2 2 maven项目依赖的jar包 在本地仓库有 但是pom文件却
  • 语义分割-CityScapes数据集

    前言 常见的语义分割数据集有VOC2012 MS COCO以及Cityscapes等 今天我们介绍Cityscapes数据集 1 数据集简介 Cityscapes数据集 即城市景观数据集 其中包含从50个不同城市的街景中记录的各种立体视频序
  • 关于suitesparse在windows平台下速度极慢以及奇奇怪怪的问题解决

    前言 好像suitesparse原本没有windows版本 然后国外一个大佬写了cmake搞出来的 所以可能存在一些奇奇怪怪的问题吧 主要是一下两点 1 windows相比linux环境速度奇慢 2 新手编译这个库经常会下载suitespa
  • C#求排列组合数

    using System using System Collections Generic namespace Algorithms public class PermutationAndCombination
  • Golang RPC性能测试

    最近刚好要使用Golang的RPC 因此对Golang标准库的RPC进行了一下测试 看看其性能到底如何 RPC服务端和客户端的实现完全使用RPC的net rpc标准库 没有经过特殊的优化 主要针对下面三个场景进行测试 测试之前需要先说明一下
  • 数据结构:顺序栈的基本操作

    目录 顺序栈 顺序栈特点 操作 定义结构体 创建一个空的顺序栈 增 删 计算长度 获取栈顶数据 清空顺序栈 销毁 完整代码 顺序栈 栈的特点 只能在一个端进行数据的插入和删除 先入栈的数据后出栈 后入栈的数据先出栈 FILO first i
  • python 查看列名_Pandas 库之 DataFrame - Python学习笔记

    1 简介DataFrame是Python中Pandas库中的一种数据结构 它类似excel 是一种二维表 或许说它可能有点像matlab的矩阵 但是matlab的矩阵只能放数值型值 当然matlab也可以用cell存放多类型数据 DataF
  • C#枚举 及其API C#学习杂记(九)

    C 中有两种基本类型 值类型 引用类型 本文要说的是值类型中的 枚举 1 枚举的意义 我们玩角色扮演游戏的时候 角色一般来说有多种 战士 法师 射手等 我们可以用 0 1 2来分别代表这三种角色类型 角色类型 类型编号 战士 0 法师 1
  • 如何使用Pip卸载软件包?

    Python Pip command provides search install update uninstall packages We can use pip command to uninstall packages easily
  • 收集到的 hls rtmp rtsp 视频流测试地址

    收集到的 hls rtmp rtsp 视频流测试地址 hls https video dev github io streams x36xhzz x36xhzz m3u8 http live hkstv hk lxdns com live
  • JS常用方法

    以下为web开发中常用到的js方法 收集并整理出来 简单的就不写出来了 1 2 lt HTML gt 3 lt HEAD gt 4 lt TITLE gt New Document 5 lt META N
  • 机器学习——线性模型之Softmax回归

    问 Softmax回归模型是一种典型处理多分类任务的非线性分类模型 答 错误 Softmax回归是线性分类模型 实际上是逻辑回归的拓展 它将逻辑回归的二分类推广到了多分类 用逻辑回归的方法解决多分类问题 线性模型 Softmax回归 Sof
  • Python常见面试题

    Python 30道高频面试题及详细解答 1 如何用一行代码生成 1 3 5 7 9 11 13 15 17 19 2 写一个等差数列 产生一个首项为8 公差为12 末项不大于100的列表 3 一行代码求1到1000内的整数和 4 字典按V
  • 工业智能网关在热交换站管理中的应用

    随着城镇化进程的推进 我国供暖行业的集中供暖需求不断增加 中央供暖热源一般是将热源供应站生产出来的高温蒸汽或温水通过一次热管输送到热交换站 热交换站则是通过热交换器的热交换循环进行热交换 然后再通过二次供应管向家家户户输送热量 热水通过室内
  • Selenium教程__获取元素文本、属性值、尺寸(8)

    本文将介绍如何使用Selenium来获取元素的文本内容 属性值和尺寸 并展示一些实际应用场景 学习本文内容将能够轻松地获取并利用元素的相关信息 从而更好地进行元素的验证 操作和断言 from selenium import webdrive
  • jmeter获取图片验证码-解密图片并识别

    说明 关于图片验证码的处理方式有三种方法 一是让开发屏蔽验证码 二是让开发后端指定一个万能验证码 三是使用OCR工具进行图片验证码的解密及识别 推荐使用前两种方法最省事 OCRServer工具识别图片验证码 由于没有对图片进行降噪 所以识别
  • 泰迪杯数据挖掘挑战赛C题 通用论坛正文提取

    参与第五届泰迪杯 侥幸获得二等奖 简单记录一下 一 问题的背景 在当今的大数据时代里 伴随着互联网和移动互联网的高速发展 人们产生的数据总量呈现急剧增长的趋势 当前大约每六个月互联网中产生的数据总量就会翻一番 互联网产生的海量数据中蕴含着大
  • 1. VC6.0致命错误 RC1015: 无法打开包含文件 'afxres.h'.解决方案

    引起此错误一般是因为运行库路径设置错误 导致找不到头文件 afxres h 解决方案 1 运行VC 选择 工具 按钮 选择 选项 如图 VC6 0致命错误
  • LS1028使用原生RGMII软件修改方案

    LS1028的网络拓扑结构 forlinx的开发板目前只做了五路网口 原生的RGMII并没有配置出来 默认将相关引脚功能用作了音频信号 若将该引脚功能用作了RGMII 音频功能就不能使用了 本人主要介绍软件上的修改 对于硬件原理部分是有硬件