diff options
| author | Frieder Schrempf <[email protected]> | 2025-11-11 17:54:18 +0100 |
|---|---|---|
| committer | Fabio Estevam <[email protected]> | 2025-11-29 14:42:24 -0300 |
| commit | dfafac3207b4e590c52d7ceed00850a1e542c886 (patch) | |
| tree | 4baca5002ec9064b2a0ccfbae0fe03ce7ca42f38 /doc | |
| parent | 1817467e4838aab9a86237cfb5076d9fc2b5b24e (diff) | |
imx: Add support for Kontron i.MX8MP OSM-S SoM and BL carrier board
This adds support for the Kontron Electronics OSM-S i.MX8MP SoM
and the matching baseboard BL i.MX8MP.
The SoM hardware complies to the Open Standard Module (OSM) 1.1
specification, size S (https://sget.org/standards/osm).
Signed-off-by: Frieder Schrempf <[email protected]>
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/board/kontron/index.rst | 1 | ||||
| -rw-r--r-- | doc/board/kontron/osm-s-mx8mp.rst | 104 |
2 files changed, 105 insertions, 0 deletions
diff --git a/doc/board/kontron/index.rst b/doc/board/kontron/index.rst index cb1906e626b..2f103773f63 100644 --- a/doc/board/kontron/index.rst +++ b/doc/board/kontron/index.rst @@ -6,6 +6,7 @@ Kontron .. toctree:: :maxdepth: 2 + osm-s-mx8mp pitx-imx8m sl28 sl-mx6ul diff --git a/doc/board/kontron/osm-s-mx8mp.rst b/doc/board/kontron/osm-s-mx8mp.rst new file mode 100644 index 00000000000..37fb0f7b917 --- /dev/null +++ b/doc/board/kontron/osm-s-mx8mp.rst @@ -0,0 +1,104 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +Kontron Electronics i.MX8MP SoMs and Boards +=========================================== + +The OSM-S i.MX8MP by Kontron Electronics GmbH is a SoM module with an +i.MX8M-Plus SoC, up to 8 GB LPDDR4 RAM, eMMC, PMIC, RTC. + +The matching evaluation boards (Board-Line, BL) have two Ethernet ports, +USB 2.0, HDMI/LVDS, SD card, CAN, RS485, RS232 and much more. + +The OSM-S i.MX8MP is compliant to the Open Standard Module (OSM) 1.1 +specification, size S (https://sget.org/standards/osm). + +Quick Start +----------- + +- Get and Build the Trusted Firmware-A (TF-A) +- Get the DDR firmware +- Build U-Boot +- Boot + +.. note:: + + To build on a x86-64 host machine, you need a GNU cross toolchain for the + target architecture (aarch64). Check your distros package manager or + download and install the necessary tools (``aarch64-linux-gnu-*``) manually. + +Get and Build the Trusted Firmware-A (TF-A) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are two sources for the TF-A. Mainline and NXP. Get the one you prefer +(support and features might differ). + +.. note:: + + If you are using GCC 12 and you get compiler/linker errors, try to add the + following arguments to your make command as workaround: + ``CFLAGS="-Wno-array-bounds" LDFLAGS="--no-warn-rwx-segments"`` + +**NXP's imx-atf** + +1. Get TF-A from: https://github.com/nxp-imx/imx-atf, branch: lf_v2.6 +2. Build + + .. code-block:: bash + + $ make PLAT=imx8mp CROSS_COMPILE=aarch64-linux-gnu- IMX_BOOT_UART_BASE="0x30880000" bl31 + $ cp build/imx8mp/release/bl31.bin $(builddir) + +.. note:: + + *builddir* is U-Boot's build directory (source directory for in-tree builds) + +**Mainline TF-A** + +1. Get TF-A from: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/, tag: v2.4 +2. Build + + .. code-block:: bash + + $ make PLAT=imx8mp CROSS_COMPILE=aarch64-linux-gnu- IMX_BOOT_UART_BASE="0x30880000" bl31 + $ cp build/imx8mp/release/bl31.bin $(builddir) + +Get the DDR firmware +^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.18.bin + $ chmod +x firmware-imx-8.18.bin + $ ./firmware-imx-8.18.bin + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem_202006.bin $(builddir) + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem_202006.bin $(builddir) + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem_202006.bin $(builddir) + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem_202006.bin $(builddir) + +Build U-Boot +^^^^^^^^^^^^ + +.. code-block:: bash + + $ make kontron-osm-s-mx8mp_defconfig + $ make CROSS_COMPILE=aarch64-linux-gnu- + +Copy the flash.bin to SD card at an offset of 32 KiB: + +.. code-block:: bash + + $ dd if=flash.bin of=/dev/sd[x] bs=1K seek=32 conv=notrunc + +Boot +^^^^ + +Put the SD card in the slot on the board and apply power. Check the serial +console for output. + +Further Information +------------------- + +The bootloader configuration is setup to be used with kernel FIT images. Legacy +images might not be working out of the box. + +Please see https://docs.kontron-electronics.de for further vendor documentation. |
