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.

GPIO Pin Usage on C6655/7

Other Parts Discussed in Thread: AB15, OMAP-L138

Simple question... I am would like too utilize some of the pins ( GPIO 17 to 27)    which are shared for UART and Timers functions for GPIO only.   I  understand the PIN_CONTROL_0) register defines the usage.  How to I set  direction , data, and  interrupt usage, etc.  ? The  registers described in the KEYSTONE Usage manual for GPIO sprugv1.pdf  only pertain to GPIO (0 to 15) and indicates the other upper bits are reserved.   Also,  if an the other use for the pin is an input  ( ie.  UARTRXD on pin AB15) , can it be used as a GPIO output ?  Thank you

  • Larry,

    Your best source of information in a case like this will be the CSL in the PDK that comes with the MCSDK 2.x. After a quick read through the inline functions in csl_gpioaux.h, it appears to me that the GPIOs are implemented similar to those in the OMAP-L138. Interrupts are based on 16-GPIO banks, and the control registers are 32-bits wide comprising 2 banks.

    My recommendation is to try some tests on your EVM using that assumption. It is unfortunate that I need to ask you to that verification, but it will get you an answer in the quickest way.

    Since the CSL is tested prior to release, that is often the most reliable way to learn about our devices when the documentation is lacking. We obviously have not updated the GPIO User Guide for the C6657's additional GPIO resources. But the CSL does seem to have more generalized code, and that is what my assumption here are based on.

    Please let us know what you find, if anything.

    Regards,
    RandyP

  • Hi,

      I am looking for similar requirement. I used CSL APIs to set direction and set output and clear output functions for GPIOs 16-31. I do not see any transaction. Can anyone advise what care we should take? If the registers described only for 0-15 bits (16 GPIOs), how do we access higher 16 GPIOs? 

    I need GPIO_22, GPIO_25, GPIO_23, GPIO_27 and GPIO_16. I do not see any effect on any of these pins. 

    Processor: C6657

    APIs used:

    void gpioSetDirection(uint32_t uiNumber, GpioDirection direction);
    void gpioSetOutput(uint32_t uiNumber);
    void gpioClearOutput(uint32_t uiNumber);