完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-21 08:46 编辑
各位好。 有没有相关的资料介绍如何在4.x的内核设备树中配置双百兆(rmii模式)网口的? |
|
相关推荐
8个回答
|
|
|
|
|
|
vuywsdfwf 发表于 2018-6-21 00:33 你好 Shine Zhang。 配置单网口为RMII模式,遇到下面的问题,请帮忙看看是哪里配置的有问题,谢谢。 cpu是am3352,phy芯片是dp83620,需要配置成百兆的RMII模式,片外晶振提供时钟,硬件配置phy地址位5,我配置的设备树如下: cpsw_default: cpsw_default [ pinctrl-single,pins = < /* Slave 1 */ AM33XX_IOPAD(0x90C, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs_dv */ AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */ AM33XX_IOPAD(0x914, PIN_OUTPUT | MUX_MODE1) /* mii1_txen.rmii1_txen */ AM33XX_IOPAD(0x924, PIN_OUTPUT | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */ AM33XX_IOPAD(0x928, PIN_OUTPUT | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */ AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_refclk.rmii1_refclk */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */ >; ]; cpsw_sleep: cpsw_sleep [ pinctrl-single,pins = < /* Slave 1 reset value */ AM33XX_IOPAD(0x90C, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7) >; ]; davinci_mdio_default: davinci_mdio_default [ pinctrl-single,pins = < /* MDIO */ AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ >; ]; davinci_mdio_sleep: davinci_mdio_sleep [ pinctrl-single,pins = < /* MDIO reset value */ AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7) AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7) >; ]; &mac [ pinctrl-names = "default", "sleep"; pinctrl-0 = <&cpsw_default>; pinctrl-1 = <&cpsw_sleep>; status = "okay"; ]; &davinci_mdio [ pinctrl-names = "default", "sleep"; pinctrl-0 = <&davinci_mdio_default>; pinctrl-1 = <&davinci_mdio_sleep>; status = "okay"; ]; &cpsw_emac0 [ phy_id = <&davinci_mdio>, <5>; phy-mode = "rmii"; ]; &phy_sel [ rmii-clock-ext; ]; 目前我的单板启动过程中会提示没有找到phy: [ 1.401063] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20 [ 1.408472] [drm] Initialized [ 1.446133] brd: module loaded [ 1.466036] loop: module loaded [ 1.475613] libphy: Fixed MDIO Bus: probed [ 1.556382] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6 [ 1.562893] davinci_mdio 4a101000.mdio: no live phy, scanning all [ 1.569968] davinci_mdio: probe of 4a101000.mdio failed with error -5 [ 1.578211] cpsw 4a100000.ethernet: No slave[1] phy_id, phy-handle, or fixed-link property [ 1.587126] cpsw 4a100000.ethernet: Detected MACID = 98:5d:ad:b6:29:04 [ 1.594314] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies) [ 1.606503] mousedev: PS/2 mouse device common for all mice [ 1.613590] i2c /dev entries driver …… [ 8.642974] net eth0: initializing cpsw version 1.12 (0) [ 8.648628] net eth0: initialized cpsw ale version 1.4 [ 8.654023] net eth0: ALE Table size 1024 [ 8.661486] libphy: PHY 4a101000.mdio:05 not found [ 8.666535] net eth0: phy "4a101000.mdio:05" not found on slave 0, err -19 [ 8.673760] libphy: PHY not found [ 8.677344] net eth0: phy "" not found on slave 1, err -19 [ 8.694482] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready 烦请帮忙看看是否哪里配置有问题,谢谢。 |
|
|
|
yx19911127 发表于 2018-6-21 00:48 参考这个: e2echina.ti.com/.../45981 确认一下GMII_SEL, 相关的PINMUX,PHY_ID都该正确是你要的配置了吗?特别是GMII_SEL和PINMUX,用寄存器回读的方法看一下生效值是不是正确的。 |
|
|
|
hwjj940056201 发表于 2018-6-21 00:58 你好,经过添加打印信息发现driver/net/ethernet/ti/cpsw-phy-sel.c文件中的cpsw_gmii_sel_am3352函数没有执行到: static const struct of_device_id cpsw_phy_sel_id_table[] = [ [ .compatible = "ti,am3352-cpsw-phy-sel", .data = &cpsw_gmii_sel_am3352, ], [ .compatible = "ti,dra7xx-cpsw-phy-sel", .data = &cpsw_gmii_sel_dra7xx, ], [ .compatible = "ti,am43xx-cpsw-phy-sel", .data = &cpsw_gmii_sel_am3352, ], [] ]; 请问 struct of_device_id结构的data成员在内核代码的什么地方会被调用? |
|
|
|
hwjj940056201 发表于 2018-6-21 00:58 更新一下: 按照提供的连接检查,读取并打印gmii-sel寄存器的值为0xC5(片外晶振模式),此配置应该没问题,pinmux的配置我检查过了应该也不存在问题才对,管脚配置如下: cpsw_default: cpsw_default [ pinctrl-single,pins = < /* Slave 1 */ AM33XX_IOPAD(0x90C, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs_dv */ AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */ AM33XX_IOPAD(0x914, PIN_OUTPUT | MUX_MODE1) /* mii1_txen.rmii1_txen */ AM33XX_IOPAD(0x924, PIN_OUTPUT | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */ AM33XX_IOPAD(0x928, PIN_OUTPUT | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */ AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_refclk.rmii1_refclk */ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */ >; ]; 还有一项是硬件连接的phy_id,我们的硬件工程师分配的phy_id是5,在设备树中配置如下(phy_id属性的第二个参数配置成5): &cpsw_emac0 [ phy_id = <&davinci_mdio>, <5>; phy-mode = "rmii"; ]; 如此对比的话,哪里存在问题吗?请指教。 |
|
|
|
yx19911127 发表于 2018-6-21 01:36 结帖,结帖,这个问题终于知道是怎么回事了: 前面关于网口的管脚配置确实是正确的,各种测试,均发现cpu有向phy发送数据,但是phy就是不回应,因为uboot时网口功能都调通了,所以否定了硬件有问题的情况,我的情况下有此错误的原因是phy芯片还有一个复位引脚,这个复位引脚我们选用的是uart1_ctsn,这个引脚在evm单板的dts文件中默认是配置成非gpio的,上电启动过程中量phy芯片的复位引脚电平一直是低电平,phy处于复位状态,这才导致了phy不响应。。。。。 |
|
|
|
yx19911127 发表于 2018-6-21 01:52 感谢分享解决方法! |
|
|
|
配置引脚后,设置复用功能
|
|
|
|
只有小组成员才能发言,加入小组>>
341 浏览 1 评论
539 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
781 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
655 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1138 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
69浏览 29评论
199浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
256浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
205浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
65浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 00:06 , Processed in 1.176614 second(s), Total 93, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号