
Hi, Thanks all for quick response.
Sorry, I forgot to tell that we are using MPC8349E processor with a "e300 core". And it is clearly mentioned in the e300 core datasheet that, it supports "True little-endian mode for compatibility with other true little-endian devices".
So, according to data sheet I have done following changes in U-Boot to configure it in true little endian mode: RCWH for little endian mode and enable the Little-endian mode in e300 core registers MSR bit LE and HID2 registers bit LET.
After doing these settings core is able to fetch RCW from flash and execute some assembly code in Start.S. But I am not able to understand why e300 core(i.e. MPC8349E in True) is not executing branch instruction(b , bl) only and jumping to alignment exception vector handler(0x600).
Do, I need to enable some -m alignment flag in U-Boot build so that e300-core can execute branch instructions. Is the e300-core is not able to interpret branch instruction(b , bl) in true little endian mode...?
Has any one tried to configure and run U-Boot for MPC8349E processor(e300 core) in true little endian mode...? Are missing any other setting in U-Boot for little endian operation...?
We want to configure MPC8349E in little endian as some other PCI devices(DSPs) are operating in little endian.
Any help/suggestion will be appreciated.
Thanks, Vivek Trivedi
In message 47230CE166B64744B0120173E4C2161E04D531CF@BLR-EC-MBX01.wipro.com you wrote:
We are using MPC8349E based board in big endian mode. It is working fine with U-Boot 1.1.3 .
Yes. Big endian is the natural byte order for PowerPC.
Now due to some reason we have to configure 8349E in little endian
mode.
Don't. You're on the road to trouble. Stop now.
Figure out what "some reason" is, and how to solve it differently, i. e. in a sane way.
Best regards,
Wolfgang Denk