1 /** @page dev_board Adapting a new Board
3 To add a new board to @a barebox a few steps must be done, to extend and modify
4 the @a barebox source tree.
6 @section board_add_files Files/Directories to be added
8 - arch/\<architecture\>/boards/\<boardname\>
9 - arch/\<architecture\>/boards/\<boardname\>/Makefile
10 - arch/\<architecture\>/boards/\<boardname\>/\<boardname\>.c
11 - arch/\<architecture\>/boards/\<boardname\>/\<boardname\>.dox
12 - include/configs/\<boardname\>.h
13 - arch/\<architecture\>/configs/\<boardname\>_defconfig
15 @subsection board_makefile arch/\<architecture\>/boards/\<boardname\>Makefile
18 obj-y += all files that builds the BSP (Assembler and/or C files)
21 @subsection board_basefile arch/\<architecture\>/boards/\<boardname\>\<boardname\>.c
25 @subsection board_doxygen arch/\<architecture\>/boards/\<boardname\>/\<boardname\>.dox
27 This file should describe in short words your new board, what CPU
28 it uses, what resources are provided and features it supports.
30 Use the doxygen style for this kind of documentation. Below you find a
31 template for this kind of file:
34 /** @page <boardname> <Manufacturer> <Board's Name>
36 This board uses an <architecture> based CPU. The board is shipped with:
38 - many MiB NOR type Flash Memory
40 - a very special network controller
47 To make your new shiny file visible in the automatically generated
48 documentation you must sort in the used page lable ("<boardname>" in the
49 template above) into Documentation/boards.dox as:
57 at the right architecture.
59 @note Consider to use an unique page lable.
61 @subsection board_lscript arch/\<architecture\>/boards/\<boardname\>/barebox.lds.S
63 If your board needs a special binary @a barebox layout, you can provide a local
64 board linker script file. This will replace the generic one provided by your
65 architecture or CPU support.
70 extra-y += <board_linker_script>
73 in your local \b Makefile to the list of files, forwarded to the last linking step.
75 @section board_defconfig arch/\<architecture\>/configs/\<boardname\>_defconfig
79 @section board_mod_files These files needs to be modified:
81 - modify board/board.dox
82 - modify arch/\<architecture\>/Kconfig
83 - add your board (MACH_*) to the list
84 - add your default text base address for this architecture (ARCH_TEXT_BASE)
85 - add BOARDINFO with valueable info for your board
86 - modify arch/\<architecture\>/Makefile:
87 - add board-$(MACH_*) = \<your board_dir\>
89 First, the new board should be visible in the menu.
91 @section board_specific_cpu Porting hints for specific CPUs
93 @li @subpage dev_s3c24xx_mach