This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Booting problem for OMAP3530 with SPI1 enabled

Other Parts Discussed in Thread: OMAP3530

Hi All,

I am using SBC8100 (http://www.armkits.com/download/sbc8100.pdf) with OMAP3530 processor on the board. OMAP processor have 4 SPI on it, one of the SPI, SPI2 is being used for LCD display. I am trying to use the other SPI, SPI1 and trying to enable it so that I can see the SPI on /dev/spidev1.0. I am using spidev driver and follow the documentation of spidev.

I configure the board information in /arch/arm/mach-omap2/board-omap3evm.c as follows:

struct spi_board_info omap3evm_spi_board_info1[] = {
        [0] = {
                .modalias       = "spidev",
                .bus_num        = 1,
                .chip_select    = 0,
                .max_speed_hz   = 1000000,
        },              
};

and register the SPI as follows:

spi_register_board_info(omap3evm_spi_board_info1, ARRAY_SIZE(omap3evm_spi_board_info1));

I recompile the kernel and configure the SPI to be built-in into the kernel (not as module). After I update the uImage (kernel image) into the NAND flash and reboot, the system hangs as follows:


Texas Instruments X-Loader 1.41
Starting OS Bootloader...


U-Boot 1.3.3-svn323 (Jan 14 2010 - 11:37:31)

OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
SBC8100 Board + LPDDR/NAND
DRAM:  128 MB
NAND:  128 MiB
Error: no valid bmp image at 800c0000
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x280000, size 0x210000

Reading data from 0x48f800 -- 100% complete.
 2162688 bytes read: OK
## Booting kernel from Legacy Image at 80300000 ...
   Image Name:   Linux-2.6.22.18-omap3
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2028200 Bytes =  1.9 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux.............................................................
......................................................................... done,
booting the kerne
l.

I am not sure why it hangs there. However if I change the above spi_board_info as follows (change the bus_no = 2 and chip_select = 1):

struct spi_board_info omap3evm_spi_board_info1[] = {
        [0] = {
                .modalias       = "spidev",
                .bus_num        = 2,
                .chip_select    = 1,
                .max_speed_hz   = 1000000,
        },              
};

the system can reboot and there is spidev2.1 under /dev. However what I want is to enable SPI1 which have chip select 0 or 3. I have also try using chip_select = 3 for SPI1, but it is also hangs. Do I miss something here?

Can anyone advise me regarding this?

Thank you and Best Regards,

Helmi