设备树里读出来 mac基地址0xcac80000,phy号为1,但是去扫描phy操作读它的第二位第三位寄存器,一直读的都是0,读不到正常数值?是不是基地址不对?我扫了很多phy号都读不到正常值,而且操作各个寄存器读写也操作不了。
void synopGMAC_attach(synopGMACdevice gmacdev, UINT64 macBase, UINT64 dmaBase, UINT32 phyBase)
{
/ 清理设备数据结构 */
utilsMemSet((void *)gmacdev, 0, sizeof(synopGMACdevice));
/* 填充MAC和DMA基地址 */
gmacdev->MacBase = 0xcac80000; // GMAC寄存器基地址
gmacdev->DmaBase = dmaBase; // DMA基地址(需要确认)
gmacdev->PhyBase = phyBase; // PHY地址(设备树中为1)
printk("macBase = 0x%llx; DmaBase = 0x%llx; PhyBase = 0x%x\n",
gmacdev->MacBase, gmacdev->DmaBase, gmacdev->PhyBase);
// 继续初始化...
}
我现在就不做扫phy操作直接这么去写phy的设备了。
dma的偏移可以给一下吗 我看设备树里没给,我用普通的0x1000/0x2000/0x3000偏移好像也不能进行reset和读写等的操作?
就是0xcac81000/0xcac82000/0xcac83000按照普通dma的寄存器偏移和寄存器操作都操作不了?
能否确认一下dma偏移



