Best Practices for Board Ports

In addition to the regular best practices such as using Checkpatch and following the Documentation Style and the U-Boot Coding Style there are some things which are specific to creating a new board port.

  • Implement U-Boot Standard Boot to ensure that most operating systems will be supported by the platform.

  • The platform defconfig file must be generated via make savedefconfig.

  • The Kconfig and Kbuild infrastructure supports using “fragments” that can be used to apply changes on top of a defconfig file. These can be useful for many things such as:

    • Supporting different firmware locations (e.g. eMMC, SD, QSPI).

    • Multiple board variants when runtime detection is not desired.

    • Supporting different build types such as production and development.

    Kconfig fragments should reside in the board directory itself rather than in the top-level configs/ directory.