aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/board/freescale/mx6memcal/README
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/u-boot/board/freescale/mx6memcal/README
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/u-boot/board/freescale/mx6memcal/README')
-rw-r--r--roms/u-boot/board/freescale/mx6memcal/README49
1 files changed, 49 insertions, 0 deletions
diff --git a/roms/u-boot/board/freescale/mx6memcal/README b/roms/u-boot/board/freescale/mx6memcal/README
new file mode 100644
index 000000000..9fe2fe2d0
--- /dev/null
+++ b/roms/u-boot/board/freescale/mx6memcal/README
@@ -0,0 +1,49 @@
+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