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.

How OMAP-L138 assign peripherals to ARM or DSP?

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

Hi people,

I can't find any information about how to configure OMAP-L138 to assign peripherals.

I have installed linux on the ARM and I am using DSPLINK to control the DSP. The problem is I need some peripherals (i2c, upp...) to work with the DSP, but It can't access them.

Other problem I have is using CCS v3.3 I can't run any example program. Both stop after executing functions upp_init() and i2c_init().

Thanks for your help.

Regards,

Cerilet.

  • Cerilet,

    The SUSPSRC register of the SYSCFG registers will allow you to modify which CPU controls individual peripherals.

    Please review Ch.11 of the OMAPL138 System Reference Guide for more details on the SUSPSRC register.

    http://www.ti.com/litv/pdf/sprugm7d

    Hope this helps.

    -Kevin

  • Thanks for your response Kevin.

    I thought there were other way to do this via DSPLINK or via CCS with DSP/BIOS. I just have to change the corresponding bit of the SUSPSRC in the DSP program?

    If I compile a new kernel without I2C and UPP support, it will set the configuration register properly?

  • Cerilet,

    What is the behavior when DSP cannot "access" the peripherals?  Is the OS blocking you out or is there unexpected hardware behavior?

    -Tommy

  • Hi Tommy,

    the linux stops when I open CCS and connect to the board.

    when I run a sample program (I tried with I2C and UPP) the programs stops somewhere. At the beggining it get into the uppUserInit() then exit the function and didn't get into any function more.

    On the I2C program it do the same: get into user_i2c_init() and then nothing.

    The S7 switch has to be in any special configuration, or all in off position?

  • Cerilet,

    Connecting through CCS can be a fairly intrusive action which may disrupt software activity.  Please make sure that the DSP GEL file is not touching any system registers which may conflict with Linux.

    As Kevin mentioned, it would be a good idea to inspect the SUSPSRC registers.  If any peripherals are configured to suspend with the DSP, they will freeze when the DSP is halted by CCS.  Such behavior may create problems in Linux.

    I would recommend checking the Linux forum for dual-core development tips: http://e2e.ti.com/support/embedded/default.aspx

    -Tommy