基于zynq的mv88e6390的驱动移植开发

本文档详细介绍了如何在Zynq SoC上配置MV88e6390以太网交换机,包括内核打补丁、驱动选择和设备树配置。通过mdio和mii命令对MV88e6390进行操作,使用rgmii-id模式和固定链接速度实现Zynq与MV88e6390的连接,并解决数据收发问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、需要给内核打补丁: 

2、通过内核选择mv88e6390相关驱动:

3、配置设备树


     在zynq和mv88e6390的port0之间采用了mac to mac的连接方式,而且zynq的mdio端口直接连接到了mv88e6390,故在uboot启动中,可通过mii和mdio命令对mv88e6390直接操作。

1、需要给内核打补丁: 

patch -p1 < ../Xilinx_Answer_69132_Files_v2018_3_AR69132_Patch/0001-net-macb-Add-MDIO-driver-for-accessing-multiple-PHY-.patch

2、通过内核选择mv88e6390相关驱动:

CONFIG_NET_DSA=y
CONFIG_NET_DSA_MV88e6XXX=y
CONFIG_NET_DSA_MV88e6XXX_GLOBAL2=y
<think>好的,我需要帮用户查找关于创龙Zynq7020开发板在VxWorks7.0环境下进行以太网设备树配置的资料或教程。首先,用户提供的引用中有三篇相关文章,但主要涉及移植、emio使用和axi gpio,没有直接提到以太网或设备树配置。我需要结合这些已有的信息和VxWorks的一般知识来推断可能的配置方法。 首先,VxWorks7.0使用设备树(DTS)来管理硬件资源,这一点是关键。用户可能需要配置Zynq7020的以太网控制器,这通常涉及修改设备树源文件(.dts)。根据引用[2]提到的移植过程中复制bsp目录,推测设备树配置可能在bsp目录下的相关文件中进行。例如,在xlnx_zynq7k的bsp中,可能有关于网络接口的配置部分。 其次,创龙开发板的以太网可能基于Zynq的GEM(Gigabit Ethernet Module)控制器。需要确保设备树中正确启用了GEM节点,并配置了正确的PHY地址、时钟、中断等参数。引用[3]提到了axi gpio的使用,虽然不直接相关,但说明在设备树中配置外设是常见的步骤。 另外,VxWorks的网络驱动可能需要额外的配置,比如在sysLib.c中初始化网络接口,或者包含正确的驱动模块。用户可能需要参考VxWorks的文档,确保GEM驱动已正确集成到系统中。此外,设备树编译成dtb文件并加载到内核也是必要步骤,如引用[2]中提到的bsp修改可能涉及这部分。 由于用户提供的引用中没有直接答案,建议用户查阅创龙官方提供的VxWorks BSP文档,或联系技术支持获取设备树配置示例。同时,参考Xilinx官方关于Zynq-7000设备树的配置指南,特别是GEM部分,可能会有帮助。最后,检查VxWorks7.0的文档中关于网络驱动的配置部分,确保所有步骤正确无误。</think>根据现有资料和VxWorks7.0开发经验,创龙Zynq7020开发板的以太网设备树配置可分为以下关键步骤: ### 一、设备树基础配置 1. 在BSP包的`xlnx_zynq7k`目录中找到`.dts`设备树源文件,复制为开发板专用文件(如`tlz7x.dts`),此操作与BSP移植流程一致[^2] 2. 在`amba`节点下确认GEM控制器配置: $$ gem0: ethernet@e000b000 { compatible = "cdns,zynq-gem"; reg = <0xe000b000 0x1000>; interrupts = <0 22 4>; clocks = <&clkc 30>, <&clkc 30>; clock-names = "pclk", "hclk"; phy-mode = "rgmii-id"; phy-handle = <&ethernet_phy>; }; $$ ### 二、PHY芯片配置 1. 添加PHY设备节点(以Marvell 88E1512为例): ``` ethernet_phy: phy@7 { compatible = "marvell,88e1510"; reg = <7>; reset-gpios = <&gpio0 9 1>; }; ``` 2. 配置RGMII时序参数,需根据开发板原理图调整`txen-skew-ps`等属性 ### 三、驱动层适配 1. 在`sysLib.c`中初始化END驱动: ```c void sysEthHwInit(void) { gemConfig.boardPhyAddr = 7; // 对应设备树reg地址 gemConfig.phyInterface = PHY_INTERFACE_MODE_RGMII_ID; } ``` 2. 配置缓存描述符对齐方式(需与DMA要求一致) ### 四、VxWorks镜像构建 1. 在Workbench工程中包含`INCLUDE_END`组件 2. 添加`INCLUDE_XLNX_GEM`驱动支持 3. 编译设备树时启用GEM控制器: ```makefile DTS_FLAGS += -DGEM0_ENABLE ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

happydesigner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值