Republishing the patchset as a submission as the RFC did not meet any comment so far.
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 four atomic commits. the first commit separates the file renames from the content changes so that the renaming remains visible in git at 100% similarity. The second commit removes functional dependencies (calls to kirkwood functions from egiga; these were RAM base and size functions, actually accessible via the global gd variable, just like other drivers do). The third commit deals with mostly cosmetic changes by removing any "KIRKWOOD", "KW", "kirkwood" or "kw" from egiga symbols which are not actually kirkwood-related, and renames kirkwood_egiga_initialize to egiga_initialize in the egiga driver, in netdev.h and in cpu.c of the kirkwood SoC support code. These three commits together perform the separation of egiga from kirkwood. The last commit adds the actual orion5s support. Note that it contains an important change to egiga: the addition of the 'volatile' qualifier to members of the structs representing egiga registers and descriptors. This was needed on orion5x, as without the volatile qualifiers, reads and writes th 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. 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 (4): ARM: Rename kirkwood_egiga driver to egiga egiga: Remove functional dependency on kirkwood egiga: remove references to kirkwood SoC egiga: add support for orion5x arch/arm/cpu/arm926ejs/kirkwood/cpu.c | 4 +- arch/arm/cpu/arm926ejs/orion5x/cpu.c | 18 + arch/arm/include/asm/arch-kirkwood/kirkwood.h | 10 + 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/egiga.c | 728 +++++++++++++++++++++++++ drivers/net/egiga.h | 505 +++++++++++++++++ drivers/net/kirkwood_egiga.c | 719 ------------------------ drivers/net/kirkwood_egiga.h | 505 ----------------- include/configs/edminiv2.h | 30 +- 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 +- 19 files changed, 1382 insertions(+), 1247 deletions(-) create mode 100644 board/LaCie/edminiv2/edminiv2.h create mode 100644 drivers/net/egiga.c create mode 100644 drivers/net/egiga.h delete mode 100644 drivers/net/kirkwood_egiga.c delete mode 100644 drivers/net/kirkwood_egiga.h _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot