From 7733de908ba918ca47f13157335a100d74ba7cf1 Mon Sep 17 00:00:00 2001 From: Juergen Beisert Date: Wed, 27 May 2009 16:40:06 +0200 Subject: [PATCH] Fix some layout issues and typos. Reorganizing some files to parts of the documentation where their content matches. Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer --- Documentation/boards.dox | 3 ++ Documentation/developers_manual.dox | 6 +-- arch/architecture.dox | 50 ++++++++++++++++++++++++- arch/arm/mach-arm.dox | 13 +++++++ board/board.dox | 2 +- board/freescale-mx35-3-stack/3stack.dox | 2 +- 6 files changed, 70 insertions(+), 6 deletions(-) diff --git a/Documentation/boards.dox b/Documentation/boards.dox index 0f3268458..b42365187 100644 --- a/Documentation/boards.dox +++ b/Documentation/boards.dox @@ -10,7 +10,10 @@ ARM type: - @subpage pcm037 - @subpage pcm038 +- @subpage pcm043 +- @subpage imx21ads - @subpage imx27ads +- @subpage the3stack - @subpage scb9328 - @subpage netx - @subpage dev_omap_arch diff --git a/Documentation/developers_manual.dox b/Documentation/developers_manual.dox index 59723efbc..fc8d4596f 100644 --- a/Documentation/developers_manual.dox +++ b/Documentation/developers_manual.dox @@ -8,9 +8,9 @@ Some background knowledge for some frameworks in U-Boot v2 Hints and tips for simply adapting U-Boot v2 - - @subpage dev_board - - @subpage dev_cpu - @subpage dev_architecture + - @subpage dev_cpu + - @subpage dev_board - @subpage dev_params Various themes: @@ -19,4 +19,4 @@ Various themes: - @subpage boot_preparation - @subpage uboot_simul -*/ \ No newline at end of file +*/ diff --git a/arch/architecture.dox b/arch/architecture.dox index 3f94b3c32..9013bae1b 100644 --- a/arch/architecture.dox +++ b/arch/architecture.dox @@ -29,17 +29,65 @@ to find the right place in whatever environment and U-Boot sizes. .section ".text_entry","ax" @endcode +@section arch_files List of changes + + - create a new subdirectory in /arch +TODO + */ -/** @page dev_cpu Intergrate a new CPU (MACH) +/** @page dev_cpu Integrate a new CPU (MACH) Features required for every CPU: - clocksource - CPU reset function +@section time_keeping Time keeping + +In U-Boot-v2 we are using the clocksource mechanism from the Linux Kernel. +This makes it fairly easy to add timer functionality for a new board or +architecture. + +Apart from initialization there is only one function to be registerd: +clocksource_read(). This function returns the current value of a free running +counter. Other functions like udelay() and get_time_ns() are derived from this +function. The only thing you have to implement is a clocksource driver and +to register it at runtime. + +@code +static uint64_t mycpu_clocksource_read(void) +{ + TODO +} + +static struct clocksource cs = { + .read = mycpu_clocksource_read, + .mask = 0xffffffff, + .shift = 10, +}; + +.... + init_clock(&cs); +.... +@endcode + +See arch/arm/mach-imx/clocksource.c for an example. clocksource drivers from +the Linux Kernel can be used nearly 1:1, except for the register accesses. + +Note: For clocksources the __lshrdi3 symbol is needed. You can find the +function for your architecture in the Linux Kernel or a libc of your choice. + +Note: U-Boot-v2 expects an upward counting counter! + +@section reset_function Reset function + +TODO + - @subpage dev_arm_mach - @subpage dev_bf_mach - @subpage dev_ppc_mach */ + + diff --git a/arch/arm/mach-arm.dox b/arch/arm/mach-arm.dox index 47586dc4c..412ce3840 100644 --- a/arch/arm/mach-arm.dox +++ b/arch/arm/mach-arm.dox @@ -34,4 +34,17 @@ the first C instruction in U-Boot. At this point of time:\n For details on specific architectures: - @subpage dev_omap_arch +@section mach_arm_files List of changes + +Lets call the new MACH new_cpu. + + - create a new subdirectory in /arch/arm/new_cpu + - add /arch/arm/new_cpu/Kconfig + - add /arch/arm/new_cpu/Makfile + - add other CPU specific code into /arch/arm/new_cpu/ + - modify /arch/arm/Kconfig + - modify /arch/arm/Makfile + +TODO add more details + */ diff --git a/board/board.dox b/board/board.dox index a4c6dc5e9..cd683dd3e 100644 --- a/board/board.dox +++ b/board/board.dox @@ -78,7 +78,7 @@ TBD @section board_mod_files These files needs to be modified: - - modify board/board.doc + - modify board/board.dox - modify arch/\/Kconfig - add your board (MACH_*) to the list - add your default text base address for this architecture (ARCH_TEXT_BASE) diff --git a/board/freescale-mx35-3-stack/3stack.dox b/board/freescale-mx35-3-stack/3stack.dox index 73307219f..15c5b6e1f 100644 --- a/board/freescale-mx35-3-stack/3stack.dox +++ b/board/freescale-mx35-3-stack/3stack.dox @@ -1,4 +1,4 @@ -/** @page 3stack Freescale MX35 3-Stack Board +/** @page the3stack Freescale MX35 3-Stack Board */