summaryrefslogtreecommitdiffstats
path: root/board/board.dox
diff options
context:
space:
mode:
Diffstat (limited to 'board/board.dox')
-rw-r--r--board/board.dox80
1 files changed, 78 insertions, 2 deletions
diff --git a/board/board.dox b/board/board.dox
index 390a6c2f8c..4bc308d1e5 100644
--- a/board/board.dox
+++ b/board/board.dox
@@ -1,5 +1,81 @@
-/** @page dev_board Integrating a new Board
+/** @page dev_board Adapting a new Board
-Blablubb
+To add a new board to U-Boot a few steps must be done, to extend and modify
+the U-Boot source tree.
+
+@section board_add_files Files/Directories to be added
+
+ - board/<boardname>
+ - board/<boardname>/<boardname>.c
+ - board/<boardname>/<boardname>.dox
+ - board/<boardname>/Makefile
+ - include/configs/<boardname>.h
+ - arch/<architecture>/configs/<boardname>_defconfig
+
+Makefile
+
+ obj-y += all files that builds the BSP (Assembler and/or C files)
+
+@subsection board_doxygen board/<boardname>/<boardname>.dox
+
+This file should describe in short words your new board, what CPU
+it uses, what resources are provided and features it supports.
+
+Use the doxygen style for this kind of documentation. Below you find a
+template for this kind of file
+
+@code
+</>** <@>page <boardname> <Manufacturer> <Board's Name>
+
+This board uses an <architecture> based CPU. The board is shipped with:
+
+- many MiB NOR type Flash Memory
+- many MiB SDRAM
+- a very special network controller
+
+and so on.
+
+*</>
+@endcode
+
+To make your new shiny file visible in the automatically generated
+documentation you must sort in the used page lable ("<boardname>" in the
+template above) into Documentation/boards.dox as
+
+@code
+ ...
+ <@>subpage <boardname>
+ ...
+@endcode
+
+at the right architecture.
+
+@note Consider to use an unique page lable.
+
+@subsection board_lscript board/<boardname>/u-boot.ld.S
+
+If your board needs a special binary U-Boot layout, you can provide a local
+board linker script file. This will replace the generic one provided by your
+architecture or CPU support.
+
+Add this file with
+
+@code
+ extra-y += <board_linker_script>
+@endcode
+
+in your local Makefile to the list of files, forwarded to the last linking step.
+
+@section board_mod_files These files needs to be modified:
+
+ - modify board/board.doc
+ - modify arch/<architecture>/Kconfig
+ - add your board (MACH_*) to the list
+ - add your default text base address for this architecture (ARCH_TEXT_BASE)
+ - add BOARDINFO with valueable info for your board
+ - modify arch/<architecture>/Makefile:
+ - add board-$(MACH_*) = <your board_dir>
+
+First, the new board should be visible in the menu.
*/