要配置NSS,于是先配置MDIO_DATA和MDIO_CLK这两个引脚,发现对应的PAD_CONFIG分别是PAD_CONFG[98]和PAD_CONFIG[99],再配置之前特意去看了下GEL文件,发现里面有个ReadEth0PHYRegs()函数是处于屏蔽状态,于是加入这个函数,这个函数里又调用了的MDIO_Init()初始化函数,函数如下:
MDIO_Init()
{
MDIO_CTL = 0x411400ff;
GEL_TextOut( "MDIO is enabled\n");
//MDIO_CLK_PADCONFIG= DEVICE_PIN_MUX_VALUE (DEVICE_PIN_MUX_BUFFER_CLASS_00, DEVICE_PIN_MUX_RX_DISABLED, DEVICE_PIN_MUX_PULL_UP, DEVICE_PIN_MUX_PULL_ENABLE, DEVICE_PIN_MUX_MODE_PRIMARY)
PADCONFIG98 = 0x00060000;
//MDIO_DATA_PADCONFIG= DEVICE_PIN_MUX_VALUE (DEVICE_PIN_MUX_BUFFER_CLASS_00, DEVICE_PIN_MUX_RX_ENABLED, DEVICE_PIN_MUX_PULL_UP, DEVICE_PIN_MUX_PULL_ENABLE, DEVICE_PIN_MUX_MODE_PRIMARY)
PADCONFIG99 = 0x00020000;
GEL_TextOut( "MDIO pinmux is enabled\n");
}
可见,这里已经对MDIO的两个引脚进行配置了,那么调用了GEL文件后,我的代码里就不用在配置了吧。于是进入调试模式,console里面提示的都是配置正确,然后进入寄存器窗口,查看MDIO两个引脚的配置寄存器,发现复用功能根本没有变化,任然是GPIO功能,不死心,在代码里手动配置,再调试,还是GPIO功能,就走不动了,就来求助了,这个是怎么回事?是在配置PAD_CONFIG功能前还需要什么必要的操作吗,比如是不是有什么解锁的操作啥的?但看了文档手册,似乎也没说有什么必要操作啊。如果这里无法修改PAD_CONFIG对应的引脚复用功能,估计其它引脚的复用也没法修改了。
Nancy Wang:
用pinmux tool生成的文件试一下。
processors.wiki.ti.com/…/TI_PinMux_Tool
Nancy Wang:
回复 user18914063:
感谢分享!