
My BDI2000 is due to arrive today, I'm just waiting for FedEx to show up. In the meantime, I managed to get u-boot to run from RAM, so I wanted to get a head start on booting from Compact Flash. I have a 256MB CF card in a PCMCIA adapter. When I insert this in a Linux Laptop, it properly reports it as a SanDisk 256MB CF card. I managed to get u-boot to build Little Endian, and in that mode when I insert the PCMCIA it reports it as:
Reset IDE: Bus 0: OK Device 0: Model: aSDnsi kDSFC-B52 6 Firm: dV g.812. Ser#: 1144901E09P30101 Type: Removable Hard Disk Capacity: 117964.8 MB = 115.2 GB (-1476395001 x 512)
Obviousle the endian-ness is wrong. I tracked to the code in common/cmd_ide.c where there is a note:
/* We only need to swap data if we are running on a big endian cpu. */ /* But Au1x00 cpu:s already swaps data in big endian mode! */ #if defined(__LITTLE_ENDIAN) || defined(CONFIG_AU1X00) #define input_swap_data(x,y,z) input_data(x,y,z)
Where is the bit getting set that tells the Au1500 to swap bytes? If I build u-boot as big endian, it properly recognizes the CF card.
I am using the BdAu1500 board.
Is there a discussion somewhere about the pros/cons of running in big/little endian mode?
Ed Okerson