diff options
author | Juergen Beisert <j.beisert@pengutronix.de> | 2009-05-27 16:40:06 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-06-10 12:47:20 +0200 |
commit | 7733de908ba918ca47f13157335a100d74ba7cf1 (patch) | |
tree | 6c1cd8eb60a2c63422705c4e95e9b63cb9433b4c /arch | |
parent | bf725a2945a31d81d1d686d36bc755c115a7ee8f (diff) | |
download | barebox-7733de908ba918ca47f13157335a100d74ba7cf1.tar.gz barebox-7733de908ba918ca47f13157335a100d74ba7cf1.tar.xz |
Fix some layout issues and typos.
Reorganizing some files to parts of the
documentation where their content matches.
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/architecture.dox | 50 | ||||
-rw-r--r-- | arch/arm/mach-arm.dox | 13 |
2 files changed, 62 insertions, 1 deletions
diff --git a/arch/architecture.dox b/arch/architecture.dox index 3f94b3c321..9013bae1b2 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 47586dc4ca..412ce3840f 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 + */ |