您好!
我尝试开发 uBoot 驱动程序。 我按照处理器用户手册中指定的规则来初始化时钟、网桥....
我将大多数寄存器与运行 Linux 驱动程序时得到的值进行了比较。 Linux 驱动程序运行良好。
PCI 桥接器应为 RC 并驱动 PCIExpress。
我在 AM5718-IDK 上工作
我成功:
在获取100MHz 时钟时、通过测量进行检查、
正在建立 PHY 链路
在 PCI 端点配置中读取/写入,以便我可以读取设备供应商 ID,设置其条形图... 所有器件配置读/写工作正常。
我的器件 BAR0为0x20300000
My Bridge PCIECTRL_RC_DBICS2_MEM_BASE_LIMIT 寄存器设置为20502030
在0x20300000处首次读取访问时,我在0x5100101c 处获得主设备中止。 结果是0xffffffff。
我将以下寄存器与 Linux 进行了比较、并检查它们是否一致:
0x4A0026c0 CTRL_CORE_PCIe_POWER_STATE
0x4A003c14至 0x4A003c44 CTRL_MODULE_CORE
0x4A008200至 0x4A008220 CM_CORE_CKGEN
0x4A009300至 0x4A0093e8 CM_CORE_L3INIT
0x4A090010至 0x4A090018 OCP2SCP 寄存器
0x51002000至 0x5100203c PCIe_SS1_TI_CONF (1)
0x51002100至 0x5100210c PCIe_SS1_TI_CONF (2)
0x51002124至 0x5100212c PCIe_SS1_TI_CONF (3)
0x51002140至 0x51002148 PCIe_SS1_TI_CONF (4)
0x51000000至0x51000100 PCIe_SS_RC_CFG_DBICS 寄存器
0x51000700至0x51000750 PCIe_SS1_PL_CONF 寄存器(1)
0x5100080c 至0x51000814 PCIe_SS1_PL_CONF 寄存器(2)
0x51000900至0x51000920 PCIe_SS1_PL_CONF 寄存器(3)
0x20001000至0x20001100 器件配置
什么可以在器件配置空间中生成此主中止?
谢谢你