Changes between Initial Version and Version 1 of catalina/bootloader


Ignore:
Timestamp:
04/27/2026 11:51:51 PM (2 days ago)
Author:
Tim Harvey
Comment:

initial page

Legend:

Unmodified
Added
Removed
Modified
  • catalina/bootloader

    v1 v1  
     1[[PageOutline]]
     2
     3
     4[=#u-boot]
     5= Catalina U-Boot Bootloader
     6Gateworks supports the U-Boot Bootloader for the Catalina product family.
     7
     8The purpose of a bootloader is to load the Linux kernel and execute it passing it configuration parameters such as an optional kernel command-line, an optional initial ramdisk filesystem, and a device-tree.
     9
     10The following items are supported in the Gateworks U-Boot for Catalina:
     11 - i.MX95 ENETC Ethernet (port0, port1, port2)
     12 - USB Host support
     13  * USB Mass Storage
     14  * USB Networking (for various adapters supported in U-Boot)
     15 - eMMC (mmc dev 0)
     16 - microSD (mmc dev 1)
     17
     18see [wiki:uboot] for more info
     19
     20
     21== U-Boot Environment
     22
     23=== Default environment
     24If you would like to modify the default environment you can edit the [https://github.com/Gateworks/u-boot/blob/v2026.04-catalina/board/gateworks/catalina/catalina.env catalina.env] in the Catalina BSP.
     25
     26=== Restoring defaults
     27The Catalina boot firmware default is build into the U-Boot binary. If you erase the version stored on the boot device it will be restored.
     28
     29To restore default bootloader environment variables:
     30
     31- At the "Hit any key to stop autoboot:" prompt press any key.
     32- Execute the following command:
     33{{{#!bash
     34run env_erase && reset
     35}}}
     36
     37
     38[=#bootdevs]
     39== Boot Devices
     40The Catalina U-Boot Bootloader supports the following devices and partition types:
     41 - eMMC
     42 - microSD
     43 - USB Mass Storage
     44
     45The U-Boot 'Standard Boot' is used for Catalina (vs the older legacy 'Generic Distro Config' used for previous product families):
     46 - the default bootcmd will ultimately search for boot scripts on a set of bootable devices
     47 - the 'boot_targets' env variable dictates which devices are checked and in what order (ie 'mmc0 mmc1 usb')
     48 - the 'boot_prefixes' env variable dictates what file prefixes are searched for a boot script
     49
     50Catalina boards always boot from the on-board eMMC device but once in the U-Boot environment you can load your Linux based OS from any boot media supported in U-Boot such as USB, microSD, network.
     51
     52[=#memmap]
     53== Memory Mapping
     54When working with boot firmware you are often dealing with choosing where to load in memory various components. Sometimes this is done by hard-coding addresses into U-Boot commands, using env variables, or hard coding them into the U-Boot build configuration files (ie binman node) or FIT image templates.
     55
     56Here is what we recommend for memory mapping on for the Catalina i.MX95 SoC:
     57||= address   =||= var =||= Note =||
     58|| 0x90400000  || kernel_comp_addr_r || CONFIG_TEXT_BASE ||
     59|| 0x98400000  || loadaddr,kernel_addr_r || CONFIG_SYS_LOAD_ADDR ||
     60|| 0xa0400000  || fdt_addr_r || area for loading fdt (128M above kernel) ||
     61|| 0xa0500000  || scriptaddr || area for loading a boot script (1M above fdt) ||
     62|| 0xa0580000  || ramdisk_addr_r || area for loading a ramdisk (512K above script) ||
     63|| 0xd0000000  || || 1GB boundary ||