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.

programming I2C, SPI driver in DSP side (OMAP3530 evm)

Other Parts Discussed in Thread: OMAP3530

Hi, I'm in hard time for using I2C , SPI protocol in DSP side of OMAP3530 EVM.

I used the driver code of ITBOK provided in mistralsolution.com, and I could find that the driver code worked well when I tested LEDs on or off using gpio.

First, I configured the pin mux setting for gpio (at the address 0x4800216C, 0x48002170), and then I initialized the gpio pin output enable (at the addr. 0x49056034), and the last, I set the gpio output data (1 or 0) (at 0x4905 603C). So I found the LEDs were on or off. It works well.

However, when I try the same action for the I2C, or SPI protocol, I couldn't get a right result. 

The following is what I did for I2C controlling:

1. I2C3 pin configuration mux setting 

2. Clear the I2C status register

3. Setting the SCL clock for 400kbps. I tried to set the value to the I2C_PSC_OFFSET, SCLL, SCLH register (at addr. 0x48060030, 0x48060034, 0x48060038), but I couldn't modify the value of this address. It seems to deny the external access to the memory address. What can I do for that? In OMAP3530 Technical Reference Manual, the address space of L4_Core and L4_Periperal is about 0x48000000, 0x49000000, and I modified the $DSPLINK\config\all\CFG_OMAP3530_SHMEM.c for adding the L4_CORE and L4_Periperal memory region to the LINKCFG_memTable. 

  • Hi Jooyeon Lee,

    First of all, i am not aware of the settings done in the ITBOK tool, anyway by running the tool you have confirmed the hardware interface is fine.

    If you are using any of the BIOS PSP(platform support package) to configure the peripheral then i can help you.

    If you have any specific question on hardware configuration, then post your question in the forum OMAP35x Processors

    Thanks and Regards,

    Sandeep K

  • Jooyeon,

    Your issue does not actually seem to be BIOS related, so I am going to move this thread to a different forum in hopes of getting a faster response.

    Dave

  • Hi Sandeep Krishnaswamy,

    I think that my hardware interface is fine. 

    and I'm using the WinCE 6.0 BSP in the gpp side of the OMAP3530, but I want to drive the I2C in the dsp side, so I don't need the device driver code in WINCE BSP.

    What I'm wondering is that if the user can access the register address of I2C periperals directly. I wanted to write a value to the address 0x48060030, 0x48060034, 0x48060038 for setting the I2C clock, but the data of the address wasn't changed though i tried to write on. 

    I did confirm that the address of the gpio periperal was accessible, so I could control the LEDs on my external board being on/off using GPIO register setting.

    I don't know why i couldn't change the I2C register value. 

    Thank you, sir