Hi everyone,
I got the ZOOM OMAP-L138 EVM DEVELOPMENT KIT and DaVinci-PSP-SDK-03.20.00.06
with Arago distribution developed by TI for OMAP processor.
I'm trying to communicate with an external spi device. I configured my
kernel to support spi and modified arch source file to add "spidev" to /dev
directory.
*Here’s what I changed in board-da850-evm.c :*
*static struct spi_board_info da850_spi_board_info[] = {*
* [0] = {*
* // .modalias = "m25p80",*
* .modalias = "spidev",*
* // .platform_data = &spi_flash_data,*
* // .controller_data = &m25p64_spi_cfg,*
* .mode = SPI_MODE_0,*
* .max_speed_hz = 30000000, /* max sample rate at 3V */
*
* .bus_num = 1,*
* .chip_select = 0,*
* },*
*};*
Also, in the menuconfig I added support for SPI and Device Drivers ---> SPI
support ---> User mode SPI device driver support.
I currently have spidev1.0 in /dev directory. There are a lot of ioctl
command with the SPI, I successfully executed few of them: SPI_IOC_RD_MODE,
SPI_IOC_RD_BITS_PER_WORD, SPI_IOC_RD_MAX_SPEED_HZ.
The problem is when I execute ioctl(.., SPI_IOC_MESSAGE(1), ..) the board
crash.
*Here’s what happens when I execute SPI_IOC_MESSAGE:*
*Unable to handle kernel NULL pointer dereference at virtual address
00000010*
*pgd = c0004000*
*[00000010] *pgd=00000000*
*Internal error: Oops: 17 [#1] PREEMPT*
*CPU: 0 Not tainted (2.6.31-rc7-davinci1 #2)*
*PC is at davinci_spi_bufs_prep+0xc/0x47c*
*LR is at davinci_spi_bufs_pio+0x68/0x2b4*
*pc : [<c01ab0f4>] lr : [<c01abb7c>] psr: 60000013*
*sp : c1dcbf04 ip : c1dcbf18 fp : c1dcbf14*
*r10: c1d042b8 r9 : 00000001 r8 : c1ddbf00*
*r7 : 00000000 r6 : c02a06dc r5 : c1ce7300 r4 : c1d042b8*
*r3 : 00000000 r2 : 00000000 r1 : c1d042b8 r0 : c1ce7300*
*Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel*
*Control: 0005317f Table: c1e30000 DAC: 00000017*
*Process dm_spi.1 (pid: 236, stack limit = 0xc1dca270)*
*Stack: (0xc1dcbf04 to 0xc1dcc000)*
*bf00: c1d042b8 c1dcbf44 c1dcbf18 c01abb7c c01ab0f8 00000000
c1ddbf00*
*bf20: 00000000 c1c6de9c c1c6debc c1dca000 00000000 c1d042b8 c1dcbf84
c1dcbf48*
*bf40: c01aacfc c01abb24 c1d042cc ffffffff c01ac3b0 c1ce7300 00000000
c1d042c0*
*bf60: c1d042bc c1dca000 c1dcdf80 c01aab74 00000000 c1dcdf88 c1dcbfc4
c1dcbf88*
*bf80: c0049b30 c01aab84 c0234400 00000000 c1cd4000 c004d750 c1dcbf98
c1dcbf98*
*bfa0: c1dcbfcc c1c21d78 c1dcdf80 c00499e8 00000000 00000000 c1dcbff4
c1dcbfc8*
*bfc0: c004d4e0 c00499f8 00000000 00000000 c1dcbfd0 c1dcbfd0 00000000
00000000*
*bfe0: 00000000 00000000 00000000 c1dcbff8 c003ac50 c004d468 00000000
00000000*
*Backtrace:*
*[<c01ab0e8>] (davinci_spi_bufs_prep+0x0/0x47c) from [<c01abb7c>]
(davinci_spi_bufs_pio+0x68/0x2b4)*
* r4:c1d042b8*
*[<c01abb14>] (davinci_spi_bufs_pio+0x0/0x2b4) from [<c01aacfc>]
(bitbang_work+0x188/0x2ec)*
*[<c01aab74>] (bitbang_work+0x0/0x2ec) from [<c0049b30>]
(worker_thread+0x148/0x20c)*
*[<c00499e8>] (worker_thread+0x0/0x20c) from [<c004d4e0>]
(kthread+0x88/0x90)*
*[<c004d458>] (kthread+0x0/0x90) from [<c003ac50>] (do_exit+0x0/0x650)*
* r7:00000000 r6:00000000 r5:00000000 r4:00000000*
*Code: e89da800 e1a0c00d e92dd810 e24cb004 (e5923010)*
*---[ end trace 4f0e16f9f2f85b61 ]---*
Do you have any idea why the board is crashing?
Thanks
Nicolas
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source