| .. SPDX-License-Identifier: GPL-2.0+: |
| |
| Best Practices for Board Ports |
| ============================== |
| |
| In addition to the regular best practices such as using :doc:`checkpatch` and |
| following the :doc:`docstyle` and the :doc:`codingstyle` there are some things |
| which are specific to creating a new board port. |
| |
| * Implement :doc:`bootstd` 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. |