How to configure U-Boot for your board

Revision as of 11:50, 30 April 2020 by Registered User

This page explains how to configure the U-Boot source for your board.

1. introduction[edit source]

Ressources [1] [2] already explain the porting U-Boot on a new board, this page is only a basic guideline.

To summarize, you need to configure U-Boot:

  1. add your board #device tree
  2. add TARGET_<board> in #Kconfig
  3. create your own board support subdirectory
  4. add your #config file
  5. create your board #defconfig

2. device tree[edit source]

See U-Boot_overview#Device_tree for details.

  • copy the kernel device tree in arch/arm/dts directory: <board>.dts
  • update arch/arm/dts/Makefile to compile your device tree, for example:
 dtb-$(CONFIG_STM32MP15x) += \
 	<board>.dtb 
  • add a U-Boot devicetree for your board n arch/arm/dts directory: <board>-u-boot.dtsi
    This file with all the U-Boot update on kernel device tree is automatically inlcude during <board>.dts

At this point you can already check boot using the generic ST defconfig with the ST board.

For example, on STM32PM15

But board specific could be not correctly managed.

3. board directory[edit source]

4. config file[edit source]

5. board subdirectory[edit source]

6. Kconfig[edit source]

7. defconfig[edit source]