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.

MT41K256M16 DDR3 with AM437X

Other Parts Discussed in Thread: AM4376

I spent a long time getting the MT41K256M16 DDR3 working with an AM4376 on a custom board and I'd like to share my experience. As a disclaimer, I'm a firmware guy and know some but not a lot about hardware in general and very little about DDR3.

I started modifying U-Boot from the Eval board software development kit to create a new MLO and U-Boot. The code contains some #defines starting with MT41K256M16HA125E, which looked promising. I also had the GEL file AM43xx_EMIFconfig_HWlvl.gel. Both of these turned out to be misleading. Eventually, I found the configuration structure for the Starter kit board, which uses MT41K256M16, though in a 32-bit mode while my custom board uses it in 16-bit mode.

The bottom line is that the key register that only the Starter kit's ddr3_sk_emif_regs_440Mhz structure configured correctly for my board is the EMIF4D_DDR_PHY_CTRL_1 register (p 1408 in the TRM SPRUHL7D revised August 2015). The fields in this mysterious register are described by "see phy spec for description", without any indication as to what "phy spec" it's talking about, so I still don't know how the values for this were determined for the Starter kit.

In any case, if you're trying to get MT41K256M16 DDR3 to work, start with the Starter kit configuration in am43xx/board.c and not the GEL file.