完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们在 qbase2 karo 板上有一个工作项目,它使用了 SoM QS8M-MQ00 (i.MX8MM) 和 KSZ9131RNX RGMII,并且一直没有问题。我们正在使用 yocto linux。
当尝试使 yocto 项目适应我们的定制板时,我们在使用 DP83867IR/CR (eth0) 时遇到问题,我们已经设法使用板上的另一个芯片 ping 到网络,USB-Eth 芯片使用 eth1。 为了配置使用,我们在内核中添加了以下配置。 CONFIG_MII=y CONFIG_DP83867_PHY=y 我们还修改了 u-boot 和 linux 的设备树文件。这是我们的内核 .dts,我们在 u-boot 中有相同的文件。 #include "imx8mm-qs8m-mq00.dts" #include / { model = "TEST"; }; &fec1 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_fec1_b &pinctrl_etnphy_rst_b>; pinctrl-1 = <&pinctrl_fec1_b_sleep>; phy-mode = "rgmii"; phy-handle = <ðphy1>; phy-supply = <®_vdd_3v3>; // phy-reset-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; // phy-reset-duration-us = <25000>; // phy-reset-post-delay-us = <250000>; status = "okay"; mdio0 { #address-cells = <1>; #size-cells = <0>; ethphy1: ethernet-phy@0 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <0>; tx-fifo-depth = //rx-fifo-depth = ti,clk-output-sel = ti,rx-internal-delay = ti,tx-internal-delay = }; }; }; &iomuxc { // pinctrl_etnphy_int_b: etnphy-int-bgrp { // fsl,pins = < // MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x90 // >; // }; pinctrl_etnphy_rst_b: etnphy-rst-bgrp { fsl,pins = < MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x140 >; }; pinctrl_fec1_b: fec1-bgrp { fsl,pins = < MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x142 MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x142 MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x010 MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x016 MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x016 MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x016 MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x016 MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x150 /* MODE0 */ MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x150 /* MODE1 */ MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x150 /* MODE2 */ MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x150 /* MODE3 */ MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x116 /*qbase 4 0x156 */ MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x116 /*qbase 4 0x156 */ MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x016 >; }; pinctrl_fec1_b_sleep: fec1-b-sleep-grp { fsl,pins = < MX8MM_IOMUXC_ENET_MDC_GPIO1_IO16 0x120 MX8MM_IOMUXC_ENET_MDIO_GPIO1_IO17 0x120 MX8MM_IOMUXC_ENET_TXC_GPIO1_IO23 0x120 MX8MM_IOMUXC_ENET_TD0_GPIO1_IO21 0x120 MX8MM_IOMUXC_ENET_TD1_GPIO1_IO20 0x120 MX8MM_IOMUXC_ENET_TD2_GPIO1_IO19 0x120 MX8MM_IOMUXC_ENET_TD3_GPIO1_IO18 0x120 MX8MM_IOMUXC_ENET_RD0_GPIO1_IO26 0x120 MX8MM_IOMUXC_ENET_RD1_GPIO1_IO27 0x120 MX8MM_IOMUXC_ENET_RD2_GPIO1_IO28 0x120 MX8MM_IOMUXC_ENET_RD3_GPIO1_IO29 0x120 MX8MM_IOMUXC_ENET_RXC_GPIO1_IO25 0x120 MX8MM_IOMUXC_ENET_RX_CTL_GPIO1_IO24 0x120 MX8MM_IOMUXC_ENET_TX_CTL_GPIO1_IO22 0x120 >; }; }; 我们知道 RGMII 芯片正在工作,因为我们实际上可以从 u-boot 访问 mdio 并读取所有寄存器。但是linux好像找不到PHY。我试图将静态 IP 添加到 u-boot 并从那里 ping,但这也不起作用。此外,当将其余部分添加到 .dts 时,u-boot 停止检测 PHY,但复位引脚似乎没问题。有任何想法吗? 0 - Generic PHY <--> ethernet@30be0000 QS8M U-Boot > mdio list FEC0: 0 - Generic PHY <--> ethernet@30be0000 QS8M U-Boot > mii device MII devices: 'FEC0' Current device: 'FEC0' |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1907个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36358 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4395 浏览 0 评论
6050 浏览 1 评论
6763 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4212 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
614浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
606浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
798浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:44 , Processed in 0.920840 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号