linux源码中ar8031驱动,AM335xd + KSZ8863RLL Linux网络底层驱动问题

开发平台AM335XD, 添加一款网络接口芯片 swith PHYs ksz8863RLL,百兆以太网模式, 接口为RMii, 原来开发版Linux内核配置的是一个千兆以太网PHY芯片 ar8031, 如果需要支持ksz8863这款芯片需要做哪些修改?  Linux内核版本是3.2.0,目前修改的内容如下:

1.网络接口定义部分,在arch/arm/mach-omap2/board-am335xevm.c中,由原来的千兆网络接口定义RGMII改为RMii接口定义如下:

{"mii1_crs.rmii1_crs_dv", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLDOWN},

{"mii1_rxerr.mii1_rxerr", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLDOWN},

{"mii1_txen.mii1_txen", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

{"mii1_txd1.mii1_txd1", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

{"mii1_txd0.mii1_txd0", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},

{"mii1_rxd1.mii1_rxd1", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLDOWN},

{"mii1_rxd0.mii1_rxd0", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLDOWN},

{"rmii1_refclk.rmii1_refclk", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLDOWN},

{"mdio_data.mdio_data", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},

{"mdio_clk.mdio_clk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT_PULLUP},

{NULL, 0},

2. 修改am33xx_cpsw_init()函数,网络模式改为百兆网口模式 am33xx_cpsw_init(AM33XX_CPSW_MODE_RMII, NULL, NULL); 即修改寄存器gmii_sel的值为0x45;

3.内核配置如下:

c5a51e04121e5e14ac133ff3bb638a4a.png

编译内核后,启动发现不能发现我们的网络芯片ksz8863, 如下:

[ 2.481844] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6

[ 2.488292] davinci_mdio davinci_mdio.0: no live phy, scanning all

[ 2.511748] davinci_mdio: probe of davinci_mdio.0 failed with error -5

请问,是不是还有需要修改内核的地方,如何让内核网络的MAC驱动支持我们的这款片子,谢谢!

致力于TI 嵌入式处理器的研究

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值