This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/52243.aspx
王工:
参考电路原理图我发给eric了,他应该转给你了。
建议先在u-boot下调试,对应要修改的驱动在:
\board\ti\am335x\board.c和\board\ti\am335x\mux.c
检查下:
static struct cpsw_slave_data cpsw_slaves[] 结构体;
board_eth_init()函数;
enable_board_pin_mux()函数;
周工:
感谢您的回复,目前已经解决问题,硬件电路没有问题,问题出在软件的配置上
问题就出在static struct cpsw_slave_data cpsw_slaves[] 结构体,结构体原来的初始化如下
static struct cpsw_slave_data cpsw_slaves[] = {
{
.slave_reg_ofs = 0x208,
.sliver_reg_ofs = 0xd80,
.phy_id = 0,
},
{
.slave_reg_ofs = 0x308,
.sliver_reg_ofs = 0xdc0,
.phy_id = 1,
},
};
将其改为
static struct cpsw_slave_data cpsw_slaves[] = {
{
.slave_reg_ofs = 0x208,
.sliver_reg_ofs = 0xd80,
.phy_id = 1,
},
{
.slave_reg_ofs = 0x308,
.sliver_reg_ofs = 0xdc0,
.phy_id = 0,
},
};
问题解决,网口可以正常工作,是因为DP83848这颗芯片id为0时工作于隔离模式的问题吗?
周工:
感谢您的帮助,目前网口已经调试通过,硬件没有问题,问题在软件的配置上
就是static struct cpsw_slave_data cpsw_slaves[] 结构体的问题
该结构体默认配置为
static struct cpsw_slave_data cpsw_slaves[] = {
{
.slave_reg_ofs = 0x208,
.sliver_reg_ofs = 0xd80,
.phy_id = 0,
},
{
.slave_reg_ofs = 0x308,
.sliver_reg_ofs = 0xdc0,
.phy_id = 1,
},
};
将其改为
static struct cpsw_slave_data cpsw_slaves[] = {
{
.slave_reg_ofs = 0x208,
.sliver_reg_ofs = 0xd80,
.phy_id = 1,
},
{
.slave_reg_ofs = 0x308,
.sliver_reg_ofs = 0xdc0,
.phy_id = 0,
},
};
修改后,网口可以正常通信,问题是不是ID 0对于DP83848工作于隔离模式,所以不能正常工作?
在U-boot下和kernel下网络都可以正常工作了么?