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.

AM335x rxactive bit in pinmux

Hi,

I was wondering exactly what does a "reciever enabled" GPIO in AM335x processors does differently from a "reciever disabled" one... When I set this bit, how does it affect the normal GPIO behaviour?

Regards,

Guilherme

  • This bit impacts the IO cell. By default the input signal at the IO cell will not propagate to the peripheral function (like gpio). You must configure rxactive=1 for that to occur.
  • Dear Brad or the other gurus,
    Nowadays I am playing with beaglebone black.
    Since I am not so much familiar with processor architecture, I have difficulties to understand this RX concept.
    To me, if RXACTIVE is not set, the pin should be output. I am properly configuring the pin as 0x07 or 0x17 with device tree overlay.
    But after I exported the pin and check the direction I see it as "in". That is, why am I not seeing "out"?
    I learned that this direction is handled by GPIO_OE register, I guess that it has no direct relation with RXACTIVE.
    If there was no mistake I understand that RXACTIVE is something different than being input or output interms of gpio look.
    Ok, I may fulfill my needs by gpio_oe register, but I see that beagle developers are defining pin as output by disabling rxactive.
    Is there a meaning to define a gpio as output by disabling rxactive bit, even if you have to set the direction as "out" manually?
    Briefly I mixed the concept of rxactive and direction.
    Could you please explain the logic behind?
    Bests,
  • The rxactive bit is just an enable pin to the input buffer. It is NOT for direction control. If you are using a pin that is an output then there is no use in enabling this buffer.

  • Thanks Brad,
    than it means that even if I assign the pin as output, I have to designate its direction as "out" seperatelly, And
    I cannot use the same pin as input, even if I assign its direction as "in", right?
  • Are you talking about using a pin as GPIO specifically? The GPIO peripheral is 100% independent of anything being programmed in the pin mux configuration register. The GPIO_OE register should be programmed appropriately depending on whether you're trying to have an input or an output. In the case of an input, you must also set rxactive=1 in the pin mux configuration register.
  • I am using the pin as output and connected it to a relay.
    I can control the relay as long as I directed the gpio_oe register as "out", in any case, rxactive bit enabled or diasbled.
    I just wander that when I disable this bit (that is I am not using it as input) why processor automatically anchors _oe register as "out"?
  • Ali Kanarya said:
    I just wander that when I disable this bit (that is I am not using it as input) why processor automatically anchors _oe register as "out"?

    As mentioned, these bits are INDEPENDENT.  One lives in the control module and the other lives in the gpio module. 

  • Thanks Brad, it is more clear now