Change GPIO/Pinmux state without reflashing

Hi,

Is there a way to set a GPIO as output without reflashing an updated pinmux table? The Jetson-IO tool seemed like a good start but it does not seem to allow me to change indiviual GPIO states.

For reference currently the GPIO pin I want to use is set to input in the pinmux.

Thanks!

Teva

Ok I’ve found some instructions in the dev guide that show you how to use busybox to adjust the pin settings but it doesnt seem to be working my steps are as follows:

Desired Outcome: Set GPIO3_PR.05 to output low

steps taken:

in the TRM locate “PADCTL_G3_UART1_CTS_0”

  • Address is 0x90
  • find address start of PADCTL_AO
  • 0x02430000
  • Add two together 0x02430090
  • using sudo busybox devmem 0x02430090 to see pin settings
  • returns 0x55
  • write 0x05
  • sudo busybox devmem 0x02430090 w 0x05
  • double checked the value and it was indeed written as 0x05
  • To check if this has done anything I ran gpioinfo but the entry there is still unused input active-high

Where have I gone wrong?

Hi teva.zanker,

Are you using the devkit or custom board for Orin Nano?
What’s the Jetpack version in use?

You can also refer to Calculating/Getting register adresses of gpio pins - #7 by jost38 for PADCTL register.
Please also note that they are only valid in runtime (i.e. you should them again after reboot)

Actually, there’re 3 device tree files(pinmux.dtsi, gpio.dtsi, padvoltage.dtsi) generated from pinmux spreadsheet. They are configured in MB1(early boot). The pinmux.dtsi can only configure the PADCTL register. gpio.dtsi would also configure the default pin state during boot.
We would still suggest configuring pinmux spreadsheet → replace related device trees → reflash the board to apply the change.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.