doc/README.kconfig
Tips to add/remove boards
-------------------------
When adding a new board, the following steps are generally needed:
[1] Add a header file include/configs/<target>.h
[2] Make sure to define necessary CONFIG_SYS_* in Kconfig:
Define CONFIG_SYS_CPU="cpu" to compile arch/<arch>/cpu/<cpu>
Define CONFIG_SYS_SOC="soc" to compile arch/<arch>/cpu/<cpu>/<soc>
Define CONFIG_SYS_VENDOR="vendor" to compile board/<vendor>/common/*
and board/<vendor>/<board>/*
Define CONFIG_SYS_BOARD="board" to compile board/<board>/*
(or board/<vendor>/<board>/* if CONFIG_SYS_VENDOR is defined)
Define CONFIG_SYS_CONFIG_NAME="target" to include
include/configs/<target>.h
[3] Add a new entry to the board select menu in Kconfig.
The board select menu is located in arch/<arch>/Kconfig or
arch/<arch>/*/Kconfig.
[4] Add a MAINTAINERS file
It is generally placed at board/<board>/MAINTAINERS or
board/<vendor>/<board>/MAINTAINERS
[5] Add configs/<target>_defconfig
When removing an obsolete board, the following steps are generally needed:
[1] Remove configs/<target>_defconfig
[2] Remove include/configs/<target>.h if it is not used by any other boards
[3] Remove board/<vendor>/<board>/* or board/<board>/* if it is not used
by any other boards
[4] Update MAINTAINERS if necessary
[5] Remove the unused entry from the board select menu in Kconfig
[6] Add an entry to doc/README.scrapyard
以Kconfig為主線
1. /u-boot-2019.07/arch/arm/Kconfig
config ARCH_FMXXQL
bool "fmxx ql"
select CPU_V7A
endchoice
source "arch/arm/mach-fmxx/Kconfig"
source "arch/arm/mach-fmxx/ql/Kconfig"
Define CONFIG_SYS_CPU="cpu" to compile arch/<arch>/cpu/<cpu>
arch/arm/cpu/armv7
2.arch/arm/mach-fmxx/Kconfig
空着
3. arch/arm/mach-fmxx/ql/Kconfig
if ARCH_FMXXQL
choice
prompt "fmxx ql board select"
default TARGET_QL10_DEMO
config TARGET_QL10_DEMO
bool "fmxx ql10 demo"
endchoice
config SYS_SOC
default "fmxxql"
source "board/fmxx/ql10_demo/Kconfig"
endif
Define CONFIG_SYS_SOC="soc" to compile arch/<arch>/cpu/<cpu>/<soc>
arch/arm/cpu/armv7/fmxxql 我們並沒有這個文件夾
4.board/fmxx/ql10_demo/Kconfig
if TARGET_QL10_DEMO
config SYS_BOARD
default "ql10_demo"
config SYS_VENDOR
default "fmxx"
config SYS_CONFIG_NAME
default "ql10_demo"
endif
Define CONFIG_SYS_VENDOR="vendor" to compile board/<vendor>/common/*
and board/<vendor>/<board>/*
Define CONFIG_SYS_BOARD="board" to compile board/<board>/*
(or board/<vendor>/<board>/* if CONFIG_SYS_VENDOR is defined)
board/fmxx/ql10_demo
Define CONFIG_SYS_CONFIG_NAME="target" to include
include/configs/<target>.h
include/configs/ql10_demo.h
Add configs/<target>_defconfig
configs/ql10_demo_defconfig