summaryrefslogtreecommitdiffstats
path: root/arch/m68k/mach-mcfv4e.dox
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/mach-mcfv4e.dox')
-rw-r--r--arch/m68k/mach-mcfv4e.dox39
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/m68k/mach-mcfv4e.dox b/arch/m68k/mach-mcfv4e.dox
new file mode 100644
index 0000000000..0ecfbc2c9d
--- /dev/null
+++ b/arch/m68k/mach-mcfv4e.dox
@@ -0,0 +1,39 @@
+/* This document is intended to provide the developer with information
+ * how to integrate a new CPU (MACH) into this part of the U-Boot tree
+ */
+
+/** @page dev_m68k_mach M68k/Coldfire based CPU (MACH) into the tree
+
+FIXME - fill in further info about Coldfire and so on. Check code
+ for compliance with the specs given below - move code otherwise.
+
+@par What's happens when the reset signal is gone
+
+@note Code running immediately after reset runs at an address it is not linked
+ to: "runtime address != link address". You should only use branches and
+ do not refer to fixed data. This implies the use of assembler code only.
+
+The M68k CPU starts at lable \<reset\> in one of the corresponding start-*.S
+files. After some basic hardware setup it can call a function
+\<arch_init_lowlevel\> if not disabled. This call is intended to give all
+developers a chance to use a standard reset vector file, but also do some
+special things required only on their specific CPU.
+
+After handling some MMU, Stack or similiar issues, \<board_init_lowlevel\> can
+be called (if not disabled). This is a board specific function for SDRAM setup
+for example. As its board specific, your can do whatever you need to bring
+your board up. As stack is already set to internal core RAM, this routine can
+be C.
+
+@note: You are not allowed to call other code here, because we are not running
+ at link address.
+
+When \<board_init_lowlevel\> returns it will be assumed that there is now
+working RAM that can be used for all further steps.
+
+Next step is relocation of U-Boot itself. It gets copied to the end of
+available RAM and the last assembly instruction is a jump to \<start_uboot\>.
+
+At this point of time: "runtime address == link address".
+
+*/