doc: Begin adding a best practices document for board ports

To help guide developers down the right path, begin a document that
lists some best practices to follow when creating a new board port.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Tom Rini 2023-08-08 16:36:16 -04:00 committed by Heinrich Schuchardt
parent 8134043dad
commit fa43709b8d
2 changed files with 27 additions and 0 deletions

View file

@ -0,0 +1,26 @@
.. 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.

View file

@ -9,6 +9,7 @@ General
.. toctree::
:maxdepth: 1
board_best_practices
codingstyle
designprinciples
docstyle