你(们)好。
我们在从 BeagleBone 派生的定制电路板上使用 AM3352。 它将 EMIF 与单 个 MT41K256M16HA-125内存芯片配合使用。 布线长度与 BeagleBoard 上的布线长度不同。 作为 SPL、我们使用 Uboot 加载 Linux 内核
由于 Linux 器件树文件中存在一些错误、CPU 最初以300MHz 而不是600Mhz 运行。 当 CPU 以较低的时钟速度运行时、没有内存问题。 由于时钟速度较高,我们注意到我们遇到了一些内存问题(SCP 文件传输损坏、SSH 会话中断、memtester 显示失败... )。
但是、Salve 比率搜索编程器始终仅显示0x0值。 由于我们使用与 BeagleBone 相同的存储器芯片、因此我们会获得与示例中使用的 ALLOP_DDR3_SDRAM_TIMING1-3相同的寄存器值。 仅 DATAx_PHY_RD DQS_SLAVE_RA比、DATAx_PHY_FIFO_WE_SLAVE_RA比 和 DATAx_PHY_WR DQS_SLAVE_RA比 的值不同。
在 GEL 文件中、除了错误的寄存器值外、是否还有其他用于获取0x0值的 RESON?
此外:
由于我们已经部署了一些器件、并且不想更新已部署器件上的 Uboot、因此我们考虑在确定正确的 DDR3时序时使用 EMIF Linux 内核驱动程序来更改寄存器值。 但 EMIF 驱动程序似乎没有对当前内核(4.21)执行任何操作。
内核被载入时、EMIF 驱动程序是否可被用于改变内存时序?
此致
编辑:
e2e.ti.com/.../Xenon_5F00_CPU_2D00_FPGA_2D00_Module_5F00_RatioSeed.xlsx
e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_new_5F00_rev.gel
e2e.ti.com/.../AM335x_5F00_DDR_5F00_register_5F00_calc.xls
e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_0.gel
e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_0.log
e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_1.gel
e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_1.log
