
On 01/21/2014 09:29 AM, Scott Wood wrote:
On Tue, 2014-01-21 at 10:14 +0100, Wolfgang Denk wrote:
Dear York,
In message F1D691E4-180A-4A2D-BE07-812547D46419@freescale.com you wrote:
On second thought, I also think we should avoid solutions where the BE/LE test has to be done for each and every I/O accessor call again and again. We should rather do this just once, and for example set function pointers as needed (hoping that this driver will only be needed after relocation, so we have writable data segment).
I like the idea of setting it just once, but I don't see how to implement it. A pointer is probably not the solution, because we do need some drivers before relocation.
"some drivers before relocation" - how many which are these?
IFC, DDR, I2C (only 32-bit controller is concerned), GUT
Also, is it really necessary to make the decision about endianess at runtime? We don't have multi-board support in U-Boot yet, so when you build an image you know exactly which SoC you are building for, so you should be able to make the selection at compile time?
It is done at compile time in this patch.
No. It is not necessary to do it at run time. It would be easier to use a switch to decide at compiling time. It does involve many changes to implement the wrapper.
York