• Ready for review
  • U-Boot, Trizeps VIII

    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

    U-Boot

    imx_mkimage

    kuk_imx_v2018.03_4.14.98_2.0.0_ga

    kuk_imx_4.14.98_2.0.0_ga

    kuk_imx_v2018.03_4.14.78_1.0.0_ga

    kuk_imx_4.14.78_1.0.0_ga

    kuk_imx_v2017.03_4.9.88_2.0.0_ga

    kuk_imx_4.9.51_imx8m_ga

    U-Boot Binaries

    Trizeps VIII

    Date

    Changelog

    Download

    Date

    Changelog

    Download

    12.04.2019

    U-Boot 2018.03-00009-gea0e2e7 (Apr 12 2019 - 11:07:02 +0200)

    tr8_uboot_2018.03-00009-gea0e2e7_20190412.zip

    How to Make U-Boot for Trizeps VIII

    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 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_imx_4.14.98_2.0.0_ga ~/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_v2018.03_4.14.98_2.0.0_ga

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

    $ . /opt/fsl-imx-fb/4.14-sumo/environment-setup-aarch64-poky-linux

    Build U-Boot from source Code:

    ~/uboot/uboot-imx$ make clean ~/uboot/uboot-imx$ make trizeps8_defconfig ; for Trizeps VIII ~/uboot/uboot-imx$ make trizeps8mini_defconfig ; for Trizeps VIII Mini ~/uboot/uboot-imx$ make all

    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.

    For Trizeps VIII:

    For Trizeps VIII Mini:

    This will create

    which should be saved at offset 33kB of the eMMC or SD-card.

    As shortcut for Trizeps VIII Mini you may call:

    Which will create

    If you run

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

    Update Bootloader using UUU

    To deploy software to Trizeps VIII, 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 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-trizeps8

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

    kuk-trizeps8-pconxs-edt7

    Trizeps VIII in pConXS with EDT 7inch display

    kuk-trizeps8-pconxs-hdmi

    Trizeps VIII in pConXS using HDMI output

    kuk-trizeps8-ipant7

    Trizeps VIII in i-PAN T7 panel

    kuk-trizeps8-ipant10

    Trizeps VIII in i-PAN T10 panel

    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 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 then reset the i.MX8M processor into this mode.