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.

SYSCFG / PINMUX registers on DSP C6748

I'm looking for an education...  How does one configure the PINMUX registers on a C6748 DSP?  I have the OMAP-L1X8 / 6748 Pin multiplexing Utility that tells me what to set the PINMUX 0--19 registers to configuration wise, and I can create a .h file.   But how do I pull that information in?  It would appear that it has to go into the gel file somewhere / somehow.  But is there any documentation on how one does that?  And is there any documentation that identifies what each bit in the PINMUX 0 -- 19 registers actually do?

Thank you in advance for any help you can give!

Randy Mitchell

Design Engineer

Spectral Dynamics

  • Randy Mitchell said:
    How does one configure the PINMUX registers on a C6748 DSP?  I have the OMAP-L1X8 / 6748 Pin multiplexing Utility that tells me what to set the PINMUX 0--19 registers to configuration wise, and I can create a .h file.   But how do I pull that information in?

    You can include it in your project and reference the defined values to set the pinmux registers.  Or you can ignore the header file and directly write the values into pinmux registers.

    Randy Mitchell said:
    And is there any documentation that identifies what each bit in the PINMUX 0 -- 19 registers actually do?

    Section 11 of the system reference guide (http://www.ti.com/lit/pdf/sprugm7) has more detail about the pinmux registers, including its memory location and what each field means.

    --Christina

  • Randy,

    You can write the code into your gel file but I recommend just putting it in main() since you'll need to do that eventually anyway.  On the c6747 I did something like:

    #include <ti/pspiom/cslr/cslr_syscfg_C6747.h>

    #include "mymux.h"  // this is your outout from PinMux utility

     CSL_SyscfgRegsOvly sysRegs = (CSL_SyscfgRegsOvly)(CSL_SYSCFG_0_REGS);

     void main() {

    /* Key to be written to enable the pin mux registers to be written - may be different on c6748*/

    sysRegs->KICK0R = 0x83e70b13;

    sysRegs->KICK1R = 0x95A4F1E0;

    sysRegs->PINMUX0 = MYPINMUX0;

    sysRegs->PINMUX1 = MYPINMUX1;

    sysRegs->PINMUX2 = MYPINMUX2;

    sysRegs->PINMUX3 = MYPINMUX3;

    sysRegs->PINMUX4 = MYPINMUX4;

    sysRegs->PINMUX5 = MYPINMUX5;

    sysRegs->PINMUX6 = MYPINMUX6;

    sysRegs->PINMUX7 = MYPINMUX7;

    sysRegs->PINMUX8 = MYPINMUX8;

    sysRegs->PINMUX9 = MYPINMUX9;

    sysRegs->PINMUX10 = MYPINMUX10;

    sysRegs->PINMUX11 = MYPINMUX11;

    sysRegs->PINMUX12 = MYPINMUX12;

    sysRegs->PINMUX13 = MYPINMUX13;

    sysRegs->PINMUX14 = MYPINMUX14;

    sysRegs->PINMUX15 = MYPINMUX15;

    sysRegs->PINMUX16 = MYPINMUX16;

    sysRegs->PINMUX17 = MYPINMUX17;

    sysRegs->PINMUX18 = MYPINMUX18;

    sysRegs->PINMUX19 = MYPINMUX19;

     // lock the pinmux registers

    sysRegs->KICK0R = 0x00000000;

    sysRegs->KICK1R = 0x00000000;

    }

    Good luck,

    Lori