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.

AM4379: access to GPIO from PRU

Part Number: AM4379
Other Parts Discussed in Thread: TMDSIDK437X

1. I can not change the pinmux setting. I read value 0x08040007 from adress 0x44E109D8, which seems ok to configure CTRL_CONF_CAM1_VD as GPIO4_10.

2. I can not overwrite this value, it is R/W according to documentation, but I can just read

3. If i try to set GPIO4_10, I can´t measure the output pin

I am working with tmdsidk437x.  I try to access GPIO from ICSS1_PRU0.  I can overwrite other adresses related to GPIO, like

GPIO4_CLKCTRL.

  • Hello Annette,

    The PRU does not have elevated permissions, but registers in the control module (including pinmuxing) require a privileged mode to write to them.

    Do you need to change the pinmuxing at runtime? Or can it be set during bootup?

    Regards,
    Nick
  • The functionality should be changed at runtime, because the outputs (and inputs) should be multi-purpose. For example PWM could be configured, or simple binary output, or some other logic behind, like moving stepper drives or connecting some kind of encoder. The device is not a fixed functionality, but could be used in different kind of customer applications. The idea is that the PRU would receive the information from user-space application, and configure and perform the required logic.
  • Hello Annette,

    The easiest way to modify pinmuxing during runtime from the PRU would probably be to write a kernel driver that can communicate with the PRU and perform the appropriate pinmuxing for it, as is done here. The only method I have heard of other than a custom kernel driver is mentioned here, but I have not actually looked at it myself and do not know if that method is meant to be from the PRU or from the command line.

    Regards,

    Nick