summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-07-05 18:02:12 +0200
committerSascha Hauer <sha@octopus.labnet.pengutronix.de>2007-07-05 18:02:12 +0200
commit784fa014e2bbfa0ae15abbb386670e4af6440d48 (patch)
tree4211ee9ee7bbe13c8c1b6f9ecc632884c41201c1 /Documentation
parent2af5209ba8f1632f35809caf573da596d26ceeb8 (diff)
downloadbarebox-784fa014e2bbfa0ae15abbb386670e4af6440d48.tar.gz
barebox-784fa014e2bbfa0ae15abbb386670e4af6440d48.tar.xz
svn_rev_636
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/porting.txt25
1 files changed, 20 insertions, 5 deletions
diff --git a/Documentation/porting.txt b/Documentation/porting.txt
index 167a11c4b2..adbbb6ce5b 100644
--- a/Documentation/porting.txt
+++ b/Documentation/porting.txt
@@ -73,6 +73,17 @@ console_initcall(scb9328_console_init);
EEPROM just return -1. set_mac_address() shall set the MAC address in
the device. All magic previously done with getenv/setenv(ethaddr) must be
removed.
+ During startup U-Boot calls get_mac_address() to see if an EEPROM is
+ connected. If so, it calls set_mac_address() with this address. This
+ is done even if networking is not used during startup. This makes sure
+ that the MAC address is set in the device and Linux can pick it up later.
+ - There is now (the beginning of) generic phy support. When porting drivers
+ it is recommended to use it. The phy support currently only starts generic
+ autonegotiation, so if you have some fancy things to do (or have gigabit
+ ethernet) you'll have to extend the phy layer first. Although this is
+ extra work, it will pay off some day, as phy support is a great source
+ of duplicated code. see drivers/net/dm9000.c or drivers/net/fec_mpc5200.c
+ for examples.
- Add a clocksource for your system. PowerPCs have a generic decrementer
counter, so if you have a PowerPC aou have nothing to do here. on ARM
@@ -97,10 +108,14 @@ calc_source:
subi r4, r4, 0x100
(I'm almost sure that PowerPC has a dedicated instruction for this, un-
- fortunately I know next to nothing of PowerPC assembler)
+ fortunately I know next to nothing of PowerPC assembler, so if you have
+ a better way to archieve this, please write to the list)
- U-Boot runs now from the address it was linked to, so on PowerPC you have
- to adjust TEXT_BASE to be in RAM. This makes the various fixup functions
- unnecessary. It also simplifies debugging because you will see the
- correct addresses in the objdump.
+ On PowerPC U-Boot now runs at the address it was linked to, so you have
+ to adjust TEXT_BASE to be in RAM. This makes the various fixup relocation
+ functions unnecessary. On PowerPC the removal of -fPIC saves around 10% of
+ binary space. It also simplifies debugging because you will see the correct
+ addresses in the objdump without doing offset calculation.
+- On arm most of the duplicate code under cpu/arm* is already merged into
+ arch/arm/cpu. the start.S files are missing though.