| 221 | === Upstream mainline U-Boot Support === |
| 222 | Gateworks is an active participant in the development of U-Boot in order to best support our products. By submitting code to the U-Boot project we ensure: |
| 223 | - our code is peer reviewed |
| 224 | - our users can keep up to date with the latest U-Boot bootloader even if we are not |
| 225 | - nothing is kept proprietary |
| 226 | |
| 227 | The only patches that we have not mainlined is a small set of patches that allow combined NAND and MMC support in a single SPL/U-Boot. These patches need a bit more work before they would be considered elegant enough for the mainline U-Boot but also they do not add much value for the end user. The reason we use them is so that we can distribute a single SPL/U-Boot image which avoids user confusion determining if they need a **nand** version or **mmc** version of the bootloader. |
| 228 | |
| 229 | To build the upstream Bootloader you can following the [#building instructions above] with the following differences: |
| 230 | 1. clone the mainline U-Boot repo: |
| 231 | {{{#!bash |
| 232 | git://git.denx.de/u-boot.git |
| 233 | }}} |
| 234 | 2. choose either the **nand** defconfig or the **emmc** defconfig depending on the flash storage on your Ventana board: |
| 235 | * NAND based boards: GW54xx/GW53xx/GW52xx/GW51xx/GW551x/GW552x/GW553x |
| 236 | {{{#!bash |
| 237 | make gwventana_nand_defconfig |
| 238 | }}} |
| 239 | * eMMC based boards: |
| 240 | {{{#!bash |
| 241 | make gwventana_emmc_defconfig |
| 242 | }}} |
| 243 | |
| 244 | The primary reasons for using the mainline U-Boot over the Gateworks branches would be: |
| 245 | * if you need a newer feature |
| 246 | * if you are using HAB for secure boot and need a smaller SPL for code signing purposes |
| 247 | |
| 248 | |