12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- mx6memcal - a tool for calibrating DDR on i.MX6 boards.
- The mx6memcal board isn't a real board, but a tool for use in bring-up of
- new i.MX6 board designs.
- It provides a similar function to the tool from NXP([1]) with a number
- of advantages:
- 1. It's open-source, so it's easier to change if needed.
- Typical reasons for needing to change include the use of alternate
- UARTs and PMIC initialization.
- 2. It produces an image that's directly loadable with imx_usb [2] or
- SB_LOADER.exe [3].
- The NXP tool requires either a cumbersome JTAG connection that
- makes running the DDR very slow or a working U-Boot image that
- suffers from a chicken-and-egg problem (i.e. where do you get the
- DDR parameters for U-Boot?).
- 3. It doesn't prompt for parameters, so it's much faster to gather
- data from multiple boards.
- 4. Parameters to the calibration process can be chosen through
- 'make menuconfig'.
- When booted, the mx6memcal board will run the DDR calibration
- routines and display the result in a form suitable for cut and
- paste into struct mx6_mmdc_calibration. It can also optionally
- produce output in a form usable in a DCD-style .cfg file.
- Selections in Kconfig allow most system design settings to be chosen:
- 1. The UART number and pad configuration for the UART. Options
- include support for the most frequent reference designs on
- i.MX6DQ/SDL (SABRE Lite and SABRESD designs).
- 2. The memory bus width (64 and 32-bit)
- 3. The number of chip-selects in use
- 4. The type of DDR (DDR3 or LPDDR2). Note that LPDDR2 support
- is incomplete as of this writing.
- 5. The type of DDR chips in use. This selection allows re-use of common
- parts and four DDR3 and two LPDDR2 parts are currently defined
- 6. The On-die termination value for the DRAM lines
- 7. The DRAM drive strength
- 8. The RTT_NOM and RTT_WR termination settings
- 9. RALAT/WALAT latency values
- References:
- [1] - NXP DDR Stress Test Tool - https://community.nxp.com/docs/DOC-105652
- [2] - Boundary Devices imx_usb_loader
- https://github.com/boundarydevices/imx_usb_loader
- [3] - Use of SB_Loader.exe
- https://boundarydevices.com/windows-users-and-unbricking
|