• In progress
  • U-Boot, Trizeps VIII Mini

    Since Trizeps VIII Mini and Myon II are software compatible, the same bootloader may be used for both modules.

    http://gitlab.keith-koep.com/imx/uboot-imx
    http://gitlab.keith-koep.com/imx/imx-mkimage

    U-Boot based on NXP 4.14.98_2.0.0_ga

    ssh://git@git.seco.com:seco-ne/3rd-party/kuk/uboot-imx-kuk.git
    https://git.seco.com/seco-ne/3rd-party/kuk/uboot-imx-kuk.git

    kuk_imx_v2018.03_4.14.98_2.0.0_ga

    imx_mkimage based on NXP imx_4.14.98_2.0.0_ga

    ssh://git@git.seco.com:seco-ne/3rd-party/kuk/imx-mkimage-kuk.git
    https://git.seco.com/seco-ne/3rd-party/kuk/imx-mkimage-kuk.git

    kuk_imx_4.14.98_2.0.0_ga

    Previous Versions:

    U-Boot

    imx_mkimage

    Notes

    U-Boot

    imx_mkimage

    Notes

    kuk_imx_v2020.04

    kuk_imx_4.14.98_2.0.0_ga

    Use for Android 11. (Development Status)

    kuk_imx_v2019.04_5.4.3_2.0.0

    kuk_imx_4.14.98_2.0.0_ga

    Use for all current OS, except Android 11

    kuk_imx_v2018.03_4.14.98_2.0.0_ga

    kuk_imx_4.14.98_2.0.0_ga

    Not compatible with Linux 5.4 and later

    U-Boot Binaries

    Trizeps VIII Mini

    Date

    Notes

    Download

    Date

    Notes

    Download

    03.08.2023

    5458581fbe

    tr8mini_flash_20230803.bin

    18.03.2022

    U-Boot 2019.04-00179-g9d842fe992

    tr8mm_uboot_20220318.bin

    21.01.2021

    U-Boot 2019.04-00133-gaf324b156b

    flash.tr8m.bin

    14.01.2020

    U-Boot 2018.03-00071-ga93ecbbefe

    tr8mm_uboot_20200114.bin

    14.01.2020

    U-Boot 2018.03 Limit RAM to 3GB (old GPU)

    tr8mm_uboot_3gb_20200114.bin

    How to Make U-Boot for Trizeps VIII Mini

    This is only a quick-reference on how to build the U-Boot bootloader including Seco specific changes.
    For details please view the NXP i.MX8M Mini documentation.

    Get the source code of U-Boot and imx_mkimage tool from git repository:

    $ mkdir uboot $ cd uboot ~/uboot$ git clone https://git.seco.com/seco-ne/3rd-party/kuk/imx-mkimage-kuk.git -b kuk_lf-5.10.52_2.1.0 ~/uboot$ mv imx-mkimage-kuk/ imx-mkimage/ ~/uboot$ git clone https://git.seco.com/seco-ne/3rd-party/kuk/uboot-imx-kuk.git -b kuk_imx_v2020.04

    Setup Cross-Build environment (View Software-Development-Kit on how to install.):

    Ubuntu 18.04 is recommended for fsl-imx-wayland-glibc-x86_64-core-image-minimal-cortexa53-crypto-trizeps8mini-toolchain-5.10-hardknott.sh.zip

    $ . /opt/fsl-imx-wayland/5.10-hardknott/environment-setup-cortexa53-crypto-poky-linux

    Build U-Boot from source Code:

    ~/uboot/uboot-imx$ make clean ~/uboot/uboot-imx$ make trizeps8mini_defconfig ~/uboot/uboot-imx$ make

    This will generate the SPL, U-Boot and device-tree binary.
    Note that this minimal device-tree binary will only be used by U-Boot and is not intended for use by the Linux kernel!
    After these binaries have been created, they must be packed together with other components to form the bootloader:
    SCU-Firmware: This NXP firmware is loaded into the Cortex-M4 (SCU: System Controller Unit).
    ATF-Firmware: The SCU will load the ARM trusted firmware.
    SPL / U-Boot: The ATF will load the primary loader, which will initialize the LPDDR4 and load U-Boot.

    Which will create

    If you run

    this will build the bootloader and run uuu to download the bootloader to the module.

    How to Make U-Boot for Trizeps VIII Mini using imx_firmware

    This will generate the uboot with all needed components atf, optee, spl and uboot. Also you can create an uefi image.

    Update and install build tools:

    Clone the imx-firmware repo:

    Build uboot and uefi:

    Update uboot and uefi on mounted sd card:

    Update uboot and uefi using fastboot:

    Update Bootloader using UUU

    To deploy software to Trizeps VIII Mini, you may use the NXP Universal Update Utility (UUU).
    Steps needed:

    Update Bootloader on uSD-card

    If you have a module with uSD-card-slot, you can deploy software directly using your PC.
    Steps needed:

    • Identify the uSD-Slot (/dev/sd<x>) by using 'lsblk' command.

    • Run:

    Update Bootloader on Trizeps VIII Mini running Linux

    Copy bootloader (flash.bin) to a filesystem accessible by Linux.

    This will:

    • clear U-Boot environment-area,

    • disable read-only access to the boot partition,

    • write flash.bin to offset 33k and

    • reenable read-only access.

    How to enter Bootloader Command Console

    To enter the bootloader command console attach a serial cable to the first COM-port ( SODIMM-pins: 33, 35) with 115k2 Baud, 8N1.
    Press any key while the device is powering up.
    The output should look something like this:

    Device-Tree

    The Linux-kernel will use a Device-Tree-Binary file (.dtb) to determine how the Trizeps module is used in a system (i.e. which drivers to load).
    How the device-tree is generated might depend on the used kernel-version and it is recommended to view the articles to the respective OS in this wiki.
    For Linux 4.14 the device-tree files can be found at:

    When building the Linux-kernel .dts source-files are converted to .dtb binary files.

    kuk-trizeps8mini

    Basic Device-Tree for the Trizeps VIII Mini module itself, which is included by all other Device-Tree baseboard files

    kuk-trizeps8mini-pconxs-edt7

    Trizeps VIII Mini in pConXS with capacitive touch EDT 7inch display

    kuk-trizeps8mini-pconxs-edt7-pcie

    Trizeps VIII Mini in pConXS with capacitive touch EDT 7inch display and PCIE-slot

    kuk-trizeps8mini-pconxs-edt7res

    Trizeps VIII Mini in pConXS with resistive touch EDT 7inch display

    kuk-trizeps8mini-pconxs-edt7res-pcie

    Trizeps VIII Mini in pConXS with resistive touch EDT 7inch display and PCIE-slot

    kuk-trizeps8mini-ipant7

    Trizeps VIII Mini in i-PAN T7 panel

    kuk-trizeps8mini-ipant10

    Trizeps VIII Mini in i-PAN T10 panel

    When you open the u-boot command prompt and output the environment, you can determine which device-tree is used:

    To change this you can i.e. call:

    'env save' will store this setting for subsequent boots.

    Hints on using U-Boot

    Enter USB Serial Download Mode

    The USB Serial Download Mode (manufacturing mode) is a mode by which the i.MX8M Mini processor loads its internal ROM-firmware instead of the bootloader stored in eMMC or SD-card.
    It will use the USB-OTG port to enumerate as HID-device on a connected PC.
    In this mode the NXP Universal Update Utility (UUU) can be used to deploy software.

    Using Hardware RESET_IN

    The default Kinetis MCU firmware will enter Serial Download Mode after RESET_IN (SODIMM-pin 26) has been asserted for more than 10s.

    Using Bootloader

    To enter the USB Serial Download Mode of the NXP boot-ROM issue following commands:

    This will write to REG_CONTROL of the Trizeps VIII MCU, which will than reset the i.MX8M processor into this mode.

    Using Linux

    To enter the USB Serial Download Mode of the NXP boot-ROM issue the following command:

    This will write to REG_CONTROL of the Trizeps VIII MCU, which will than reset the i.MX8M processor into this mode.

    Notes on eMMC Boot Partition

    Whereas SD-cards got memory organized in one user-space, eMMC have two additional boot-spaces.
    The spaces are often referred to as partitions. But this might be confusing, since they are not the typical partition, one would create through a partition-table/master-boot-record.
    A boot-space can overlay the first megabytes of normal user-space. After the bootloader got booted, it will fade-out the boot-space and so prevent any subsequent operating-system to be able to mess with the bootloader.
    When using eMMC it needs to be decided, wether to use the boot-space or the user-space for the bootloader.
    Following commands may be used to switch between the different modes (this is kept after power-cycle):

    When using different tools for updating the flash-content, a situation may arise, where the bootloader is written into the „wrong“ partition – the flash-space, which is not used for booting.

    If you use

    to view the default-script used by uuu, you should note the line

    , which will configure the eMMC to use the boot-space after it has completed the update. If you want to use the user-space simply call

    after running uuu or run uuu with a custom-script.

    Errors

    To remove this error you Need the device-tree-compiler