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.

Interaction between RXACTIVE in pad control and OUTPUTEN in GPIO_OE

Can anyone enlighten me on the interaction between the receiver disable/enabled control in the pad control registers and the output data enable/disable control in the GPIO_OE register?

If you configure a pad as a GPIO does the RXACTIVE bit matter - i.e. do you have to set RXACTIVE=1 and OUTPUTEN[n]=1 for an input and RXACTIVE=0 and OUTPUTEN[n] for an output? If not, which one take precedence?

  • Hi JCM,
     
    The RXACTIVE bit only enables/disables the pad receiver circuitry. It's not a direction bit. A pad can be configured as an output with receiver enabled. I have seen this frequently used with OMAP processors, where output clocks need to be resampled by the processor from the pad itself.
     
    On the other hand, the GPIO_OE register is used to output data on the pad, when pinmuxed as GPIO.  When configured as an output (the desired bit reset in GPIO_OE), the value of the corresponding bit in the GPIO_DATAOUT register is driven on the corresponding GPIO pin (AM335X TRM section 25.3.4.3).
     
    Best Regards
    Biser
  • Hi Biser,

    Thanks for the information, however this doesn't really answer my question. To put it another way:

    I want to configure a pad as a GPIO input and read data from it. Do I have to set both RXACTIVE=1 and OUTPUTEN=1?

    Or another way:

    If a pad is multiplexed as a GPIO, does RXACTIVE have any effect?

    Thanks,

    Jonathan

  • Hi Jonathan,
     
    I would say yes, because RXACTIVE functions on the pad I/O cell level. So for a GPIO input RXACTIVE=1 (which is default value at reset) and OUTPUTEN[X]=1 (which also is default value at reset).
     
    Best Regards
    Biser
  • Thanks Biser, that makes sense.

    One final question: Is there anything to be gained from turning off the receiver (for example in a situation where the pad is a GPIO output and never read)?

  • Probably a very small power saving (from receiver circuitry power and input current). Please note that pad internal pull-up/pull-down should be also disabled when the pad is configured as an output (again in order to reduce output current).

    Best Regards
    Biser