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.

TMS570LC4357: Writes to IOMM KICKER0 & KICKER1 has no effect

Part Number: TMS570LC4357

Hello everyone, 

I'am trying to pinmux EMIF pins but I can't write to KICK registers to unlock pinmuxing. Is there something I need to setup prior to be able to modify the value of these registers? 

I'am pretty sure Iam missing something obvious but I can't figure it out. 

Thanks in advance.

  • Hello Zakaria,

    Reading of KICK_REG0 and KICK_REG1 always will return 0. You just need to write:

        pinMuxReg->KICKER0 = 0x83E70B13U;
        pinMuxReg->KICKER1 = 0x95A4F1E0U;

    in this order to enable pin muxing.

    It is recommended to disable write access to the PINMMRs once the I/O multiplexing configuration is completed. This can be done by:
    • writing any other data value to either of the kick registers, or
    • restarting the unlock sequence by writing 0x83e70b13 to the kick0 register

    For example:   

    pinMuxReg->KICKER0 = 0x00000000U;
    pinMuxReg->KICKER1 = 0x00000000U;

    Best regards,
    Miro

  • Thank you Miro for your reply,

    Sorry I wasn't precise with my question.

    This was actually what I was trying to write to kicker registers . But reading the values from the debugger returned always zero. I its that the expected behavior?

    How can I verify that the multiplexing is now enabled.

    Thank you.

  • Hello,

    Yes, KICK_REG0 and KICK_REG1 will always return 0 when reading.

    You can read corresponding PINMMR to check whether new PINMUX settings are written.

    Best regards,
    Miro

  • Thank you Miro, this solved my issue.