
Being able to alias 0xfff00000 to 0xfe000000 would keep our port very close to your port (and as such working); but I am missing the initial boot step:
If I have a look at the RCWH of the EMDS port, it boots from 0x00000100 and not from 0xfff00100; which is mapped to RAM.
My fault (as expected); we did too much configuration in our bdi config: by the time it booted, the ORn and BRn registers were set with the final values, remapping flash and memory and not the default power on values.
Still work in progress, but the EDMS port works almost out of the box; though the cs for DDR needed to be configurable in the config file instead of 2/3; support for some spansion flash and BCSR in board initialisation is only compiled when it is used/defined in the config file.
Great work for the EDMS/ADS port.
Next hurdle: TSEC0: PHY id ffffffff is not supported! :)
What is the proper approach for a board variation: keep a single port that is configured with different config/*.h files; possibly adding/compiling more commands in the board directory based on the define (e.g. flash support); or simply branching the port with quite some code duplication that diverge? The first option might clutter the *.c code with ifdefs while the second one keeps the code clearly/cleanly seperate.