[U-Boot] [PATCH V2 0/6] Marvell egiga multiple SoC support

Albert Aribaud albert.aribaud at free.fr
Fri Jul 9 08:34:13 CEST 2010


NOTE

This patchset depends on the previously posted and Acked-by patch
"kirkwood_egiga: updates: fix DRAM mapping and typo", originally
part of V1 and available on the mailing list archives at
<http://lists.denx.de/pipermail/u-boot/2010-July/073590.html>.

PATCHSET HISTORY

V1:	First submission.
V2:	Reorganization as per Prafulla Wadasakar's suggestion.
	Used -C in format-patch to render renames correctly.
	Removal of DRAM patch posted standalone.
	Removal of unrelated changes.

SHORT STORY

This patchset separates egiga from kirkwood then adds orion5x support
in egiga. It has been duly, and successfully, tested on an OpenRD-Client
after each of the four commits and on an EDMini V2 after the last commit.

LONG STORY

This is a set of six atomic commits.

the first commit renames kirkwood_egiga.[ch] to mv_egiga.[ch] in
drivers/net/ (also modifies Makefile) to make sur the renaming
remains visible in git at 100% similarity.

The second commit makes removes all dependency of mv_egiga on kirkwood.
Kirkwood references in all mv_egiga symbols are replaced with mv_egiga
references throughout the source tree.

The third commit adds the "volatile" qualifier to several mv_egiga
structures representing the controller registers and descriptors.

This is needed on orion5x, as without the volatile qualifiers, reads
and writes to these structs could happen in unexpected order; in
egiga_send() this caused the egiga DMA engine to get started before
the DMA TX descriptor was actually filled in, with the effect that
the actual sent packet was all zeroes. I cannot explain why this did
not happen on kirkwood, except that maybe the CPU speed difference made
it possible for the core to finish writing the descriptor before the DMA
engine could start.

The fourth commit limits the randomization of local MAC addresses to the
kirkwood SoC case, because not all SoCs have random number generation
(orion5x has not).

The fifth commit adds orion5x support to mv_egiga.

The sixth commit adds edminiv2 support for the orion5x egiga controller.

All commits were tested on a kirkwood-based OpenRD Client for regression
avoidance; the last commit was also tested on an orion5x-based ED Mini V2
for functionality validation.

Albert Aribaud (6):
  net: rename: kirkwood_egiga as mv_egiga
  mv_egiga: support SoCs other than kirkwood
  mv_egiga: bugfix: DMA issue fixed using volatile
  mv_egiga: only randomize MAC on kirkwood
  mv_egiga: add support for orion5x egiga controller
  edminiv2: add ethernet support

 arch/arm/cpu/arm926ejs/kirkwood/cpu.c         |    4 +-
 arch/arm/cpu/arm926ejs/orion5x/cpu.c          |    8 +
 arch/arm/include/asm/arch-kirkwood/kirkwood.h |    5 +
 arch/arm/include/asm/arch-orion5x/orion5x.h   |    5 +
 board/LaCie/edminiv2/edminiv2.c               |   36 ++
 board/LaCie/edminiv2/edminiv2.h               |   41 ++
 drivers/net/Makefile                          |    2 +-
 drivers/net/kirkwood_egiga.h                  |  505 -------------------------
 drivers/net/{kirkwood_egiga.c => mv_egiga.c}  |  338 +++++++++--------
 drivers/net/mv_egiga.h                        |  505 +++++++++++++++++++++++++
 include/configs/edminiv2.h                    |   22 +-
 include/configs/guruplug.h                    |    4 +-
 include/configs/km_arm.h                      |    4 +-
 include/configs/mv88f6281gtw_ge.h             |    4 +-
 include/configs/openrd_base.h                 |    4 +-
 include/configs/rd6281a.h                     |    4 +-
 include/configs/sheevaplug.h                  |    4 +-
 include/netdev.h                              |    2 +-
 18 files changed, 809 insertions(+), 688 deletions(-)
 create mode 100644 board/LaCie/edminiv2/edminiv2.h
 delete mode 100644 drivers/net/kirkwood_egiga.h
 rename drivers/net/{kirkwood_egiga.c => mv_egiga.c} (60%)
 create mode 100644 drivers/net/mv_egiga.h



More information about the U-Boot mailing list