Config Tool Introduction and Use
From i.MX93 using the Config Tool for the DDR configure. The Config Tools for i.MX is a suite of evaluation and configuration tools that help users from initial evaluation to production software development. Config Tools for i.MX is an easy-to-use way to configure the pins and DDR of the i.MX processor devices.
The software, in general, enables you to create, inspect, change, and modify any aspect of the pin configuration and muxing of the device. It also allows you to configure and validate DDR settings.
1 Download and install
The link in website:
https://www.nxp.com/design/design-center/software/i-mx-developer-resources:IMXSW_HOME
The Config Tools for i.MX is installed as a desktop tool which then loads additional device information through a network connection, but does otherwise not need internet connection. It does not require a project setup, as all the settings are stored in text and generated source files, which then can be easily stored in a version control system or exchanged with other users.
Config Tool function
For the Config Tool have two function, one is the Pins tool another is the DDR tool functions.
1.1 Pins tool
The Pins Tool makes pin configuration easier and faster with an intuitive and easy user interface, which then generates normal C code that can then be used in any C and C++ application. The Pins Tool configures pin signals from multiplexing (muxing) to the electrical properties of pins, and it also creates Device Tree Snippets Include (.dtsi) files and reports in CSV format.
Pins Tool
1.2 DDR Tool
The DDR tool provides two main functionalities: configuration and validation. The DDR configuration provides a user-friendly graphical interface to configure the DDR controller and the DDR PHY. It can be used for tweaking some of the configuration parameters when you want to use different memory modules than the ones received with the board or when you want to optimize the configuration. DDR validation provides different scenarios to verify the DDR performance, by downloading a test image to the processor’s internal RAM through a USB connection. The result is sent to the DDR tool via the UART. DDR validation can help verify DDR stability on the board in a non-OS environment.
DDR Tool
The DDR tool is designed for:
The DDR tool allows you to view and configure basic DDR attributes, such as memory type, frequency, number of channels and others and test the DDR configuration by a variety of tests. After you have specified the connection type, you can choose scenarios, tests to run in these scenarios, and view the test results, logs, and summary.
2 Install Download Config_Tools_for_i.MX_v16_x64.exe
Note: In our company PC we need to apply the Admin Manage:
Config Tools for i.MX is available offline (local) Minimum system requirements
– Microsoft Windows 10 (64-bit)
– Ubuntu 22.04 LTS
Note: Linux-hosted variants of tools are distributed on Linux as 64-bit binaries, which may not work on 32-bit systems.
– Supported desktop environments: GNOME
– Mac OS X (12.x)
Note: If the MacOS is set to Traditional Chinese, Config Tools for i.MX starts in English and not Chinese. This is intended.
2 The use of the Config tool
Configuration of DDR controllers
2.1 Creating a new configuration
create a configuration from the Start development wizard or by selecting File > New from the Menubar.
If you start creating your development for any NXP board or kit, we recommended you start with example to create a configuration for a board or a kit. Such configuration contains board-specific settings. If you select a processor, the configuration will be empty.
2.2 Run the Config tool
Open the Config tool, choose the Creating a new standalone configuration for a processor, board, or kit
Choose the Processor
Choose the i.MX93 part number product
Choose DDR
Under the tool select the tools---->DDR
Three sections need to mentioned:
Make DDR configure right and make the DDR is enabled already.
Two sections are very important the same as the tool we supply before in the old product:
DDR paramaters configuration
DDR stress test(Validation)
DDR parameters configuration:
This is the UART Port configure, for the i.MX93 EVK Board default use the UART1 for A55 core debug, if in customer’s design use others port can choose here and also need modify the register settings manually.
Advanced parameters config, it is very important:
General advice
The I2C connection between MX and PMIC should be consistent with the development board, using the same pad. If choose different , Need to modify I2C
Validation of DDR configuration
In the previous DDR stress test tool, only two functions were provided: DDR calibration and stress test.
In the new Config tool, more testing items are provided for customers to debug DDR, totaling four items.
When finished the DDR configuration then go to do the validation.
Test DDR initialization script, Perform basic read and write operations
If pass the test, it will be OK. If failed, we need to fail shooting for it.
According to the log output information, check boot mode/UART/USB, etc
If the test fails, first check the boot mode configuration and UART/USB interface.
Test on the i.MX93 EVK Board, if the boot mode not right and the USB is not connected, when do the test there will be the ERROR Messages in the logs:
Test on the i.MX93 EVK Board, if not with proper UART port, the ERROR Messages in the logs:
Optimization test
This requires detailed ODT, driver strength testing, and scanning of all DQ IO configuration options,
Test whether each configuration is passed or failed. Finally, output the mapping between the read/write drive strength and ODT output.
For the test result when reading, the impedance of DRAM driven strength and PHY ODT cannot be set too big, (Green - pass, Orange - fail)
VTSA (Virtual Timing Signal Analysis)
DDR Stress Test
The last step, stress test, customer can choose long time test:
Code generate
3 i.MX93 UBOOT and Kernel DDR configuration
3.1 The DDR configuration in the Uboot
(1) Copy the generated lpddr4x_timing.c to uboot path:
board/freescale/imx93_evk/lpddr4x_timing.c
(2) DDR Size setting
uboot-imx/include/configs/imx93_evk.h
The default size is 2GB for the i.MX93 EVK board.
For the i.MX93EVK uses 2GB LPDDR4X. If using 1GB/512MB LPDDR4, it is important to note that the size of the DDR is related to the memory map address.
According to the Memory map, starting from 0xC000_0000 is 1GB of DRAM space, and starting from 0xA000_0000 is 512MB of DRAM space.
3.2 The DDR configuration align in the Kernel
For the 1GB LDDR4/4X device tree modify
For the i.MX93 the NPU is accessed through M-core, so a section of DRAM memory is reserved. Regardless of whether NPU is used or not, ethos must be changed here, otherwise starting the kernel may result in errors. Change the address space to within 1GB and appropriately reduce the memory allocation size.
arch/arm64/boot/dts/freescale$ vi imx93-11x11-evk.dts
Summary:
Config tool is NXP's new DDR script generation/stress testing/OMUX allocation tool, which is required for i.MX93. Other i MX chips can also use this tool.
The Config tool provides more DDR testing projects, including testing ODT/driver capabilities and outputting mapping maps, generating DDR virtual eye diagrams, etc., making it easy to test DDR conditions from multiple perspectives.
It is recommended to use the Config tool to debug ODT/driver capabilities and other parameters, which is also applicable to all i MX chip, as a debugging tool for reference. The theoretical parameters of the actual board should refer to the simulation results of the board or the measured results of DDR signals.
Any questions contact us freely.