RAM Configuration at PHYTEC i.MX8M Mini
02 17, 2026 09:31
PHYTEC’s i.MX8M Mini modules (e.g., phyCORE-i.MX8M Mini) use external RAM chips connected to the processor’s DDR controller. While the designs vary, here are the key details based on their product documentation and typical implementations:
Design-Specific Details
Memory Layout:
PHYTEC modules pre-configure DDR timings and voltages in U-Boot/device tree to match their PCB design and DRAM chips.Validation:
PHYTEC rigorously tests RAM stability using NXP’s DDR Stress Test Tool before release.SOM Integration:
RAM is soldered directly onto the System-on-Module (SOM), ensuring signal integrity and reducing design complexity for customers.
Comparison of RAM Types
| Feature | DDR3L | DDR4 | LPDDR4 |
|---|---|---|---|
| Max data rate | 2133 MT/s | 3200 MT/s | 4266 MT/s |
| Bandwidth | 17 GB/s | 25.6 GB/s | 34.1 GB/s |
| Latency | Lower | Lower | High |
| Power Consumption | > DDR4 | < DDR3L | Lowest |
| Special Features | Lower voltage than DDR3 | Higher density, speed | Deep power-down, PASR |
RAM support on the NXP i.MX8M Mini
| Feature | i.MX 8M Mini RAM Support |
|---|---|
| Data Bus Width | 16-bit or 32-bit |
| Max DDR3L Speed | 1600 MT/s |
| Max DDR4 Speed | 2400 MT/s |
| Max LPDDR4 Speed | 1.5 GHz (3000 MT/s) |
| Max RAM Capacity | 8 GB - assumes dual-rank, 32-bit bus and 17-row DRAM |
| Supported RAM Types | LPDDR4, DDR3, DDR3L |
| Typical Board Configs | 2 GB, 4 GB, 8 GB |
| Voltage (I/O) | 1.1 V - LPDDR4 1.2 V - DDR4 1.35 V - DDR3L |
Specific RAM Timings for i.MX8M M
RAM timings are not fixed values for every CPU. It depends on:
- Specific DRAM chip (RAM Type)
- Board design and layout
- Memory controller configuration
- Bootloader
Automatic RAM size detection
Normally, every different RAM size with it's specific timings need to be build in a different U-boot. At Phytec, we modified the U-boot to be able to build all possible RAM-Timings (for standard products). This means, you can use the same U-boot image for 2GB as well as for 4 GB. At SPL level, the Hardware introspection is read out and this will tell the U-boot which RAM-timings should be loaded.
Locate PHYTEC-Specific DDR Configuration Files
Find PHYTEC-Specific RAM Info
Product Datasheets:
Check the phyCORE-i.MX8M Mini datasheet for exact RAM size, type, and speed.PHYTEC Documentation:
Hardware Manual: Lists DRAM part numbers
BSP (U-Boot) Sources: uboot/board/phytec/phycore_imx8mm/lpddr4_timing.c
U-Boot Source Code
For i.MX8M Mini you can find the RAM timings in the U-boot bootloader. Open the U-boot sources via Yocto devshell or clone the git repository and navigate to u-boot-phytec-dev/board/phytec/phycore_imx8mm/.
Here you can find the lpddr4_timing.c. You can also take a deeper look into the spl.c, the boardfile (phycore_imx8mm.c) and also the ../common/imx8m_som_detection.c.
Linux Device Tree
PHYTEC defines DDR settings in the device tree (e.g., phytec-imx8mm-phycore.dtsi):
&ddrc {
ddr-type = <0x1>; // LPDDR4=0x1, DDR4=0x2, DDR3L=0x3
operating-points-v2 = <&ddrc_opp_table>;
dram-timing = <&dram_timing>; // Points to timing structure };
/* PHYTEC-specific values */
&dram_timing {
clk = <1500>; // 1.5 GHz
tcl = <18>; // CAS latency (cycles)
trcd_rd = <21>; // RAS-to-CAS delay (read)
trcd_wr = <21>; // RAS-to-CAS delay (write)
tras = <42>; // Row active time
trfc = <630>; // Refresh cycle time
txs = <32>; // Self-refresh exit time
};Where to Find Configuration Data
Official Docs:
i.MX8M Mini Reference Manual (NXP Doc: IMX8MMRM)
DRAM Datasheet (from your RAM vendor, e.g., Micron, Samsung, etc.)
Tools:
NXP DDR Stress Test Tool (validation)
Linux Device Tree Bindings (
imx8mm-ddrcnode for timing parameters)
Tools for Validation
NXP DDR Stress Test Tool:
PHYTEC uses this to validate timings. You can re-run tests with their configuration.PHYTEC RPA (Register Programming Aid):
A custom spreadsheet provided by PHYTEC to generate DDR register values. Contact support for the RPA (mentioned earlier).
Verify via Boot Logs
In U-Boot, enable DDR debug messages:
=> setenv ddr_debug 1 => reset
Look for lines like:
DRAM: 2 GiB (effective 1.5 GHz, 32-bit, LPDDR4) ddr_init: tCL=18, tRP=21, tRCD=21, tRAS=42
Key PHYTEC-Specific Settings
| Parameter | Typical Value (LPDDR4) | Notes |
|---|---|---|
| dram-type | 0x1 | LPDDR4 |
| clk | 1500 | 1.5 GHz |
| tCL | 18 | CAS latency |
| tRP | 21 | Row precharge time |
| tRCD | 21 | Row-to-column delay |
| tRAS | 42 | Row active time (~42 ns at 1.5 GHz) |
| tRFC | 630 | Refresh timing (simplified value) |
Security
Resource Domain Controller (RDC) supports four domains up to eight regions of DDR
Arm TrustZone (TZ) architecture
- Support Arm Cortex-A53 MPCore TrustZone
- On-chip RAM (OCRAM) secure region protection using OCRAM controller
- On-Chip Memory controller
- OCRAM module is designed as an interface between the system's AXI bus and the internal on-chip= SRAM memory module
- OCRAM is used for controlling the 256 KB multimedia RAM trough a 64-bit AXI bus
- OCRAM module is designed as an interface between the system's AXI bus and the internal on-chip= SRAM memory module
- On-Chip Memory controller
- TZASC (Trust-Zone Address Space Controller)
- TZASC (TZC-380 by Arm) provides security address region control functions required for intended application.
Maximal supply currents
NVCC_DRAM (Imax = N x C x V x (0.5 x F)
N - Number of IO pins supplied by the power line
C - Equivalent external capacitive load
V - IO voltage
(0.5 x F) - Data change rate. Up to 0.5 of the clock rate (F)
DDR I/O DC electrical characteristics
- DDR Memory Controller (DDRMC) is designed to be compiled with JEDEC-compliant SDRAMs
No On-Chip RAM:
The i.MX8M Mini relies entirely on external DRAM chips (soldered onto the PCB).Tightly Coupled Memory (TCM): Only available for the Cortex-M4 core (256 KB IRAM/OCRAM).
L1/L2/L3 Caches: Shared among Cortex-A53 cores (32 KB/64 KB/1 MB).
Timing Configuration:
Board-Specific: Timings (tCL, tRCD, etc.) depend on the DRAM vendor’s datasheet and PCB layout.
Configuration Tools: Use NXP’s DDR Register Programming Aid (RPA) and MSCALE DDR Tool to generate register values for U-Boot/device tree.
Comparison: PHYTEC vs NXP Reference Designs
| Feature | PHYTEC phyCORE-i.MX8M Mini | NXP EVK Board |
|---|---|---|
| Typical RAM Size | 2GB/4GB LPDDR4 | 2GB/4GB LPDDR4 |
| DRAM Part Numbers | Custom (varies by revision) | NXP-recommended chips |
| Configuration | Pre-validated for industrial use | Requires manual DDR tuning |
Need More Help?
Contact PHYTEC Support: They provide tailored DDR timing files for custom designs.
Check Schematics: If you have access to PHYTEC’s SOM schematics, trace the DDR lines to identify exact DRAM parts (e.g., Micron MT53D1024M32D4DT-053 WT:D).
PHYTEC BSP Guides: Follow their Yocto/U-Boot documentation to modify DDR parameters safely.