Trouble driving a GPIO - GPIO3_PAA.00

Hello,

I’m trying to use GPIO3_PAA.00, GPIO3_PAA.01 as GPIO outputs - I was able to use GPIO3_PAA.01 easily, but GPIO3_PAA.00 is not driving an output signal.

I’ve used the pinmux spreadsheet to generate gpio / pinmux dtsi files, and included the relevant changes in my dtsi.

I can see in the following line in dmesg on boot:

GPIO line 296 (gpio3_paa.00) hogged as output/high

However, probing my board I do not see the output on that line being driven high.

I’ve also tried toggling the GPIO through sysfs, and while the output value gets reported as 1, I don’t see a change in voltage when probing the board.

> cd /sys/class/gpio/
/sys/class/gpio# echo 296 > export

/sys/class/gpio# cd gpio296
/sys/class/gpio/gpio296# cat direction
out
/sys/class/gpio/gpio296# cat value
1
/sys/class/gpio/gpio296# echo 0 > value
/sys/class/gpio/gpio296# echo 1 > value

Thanks.

hello vogelari,

may I know which JetPack release you’re working with,

I’ve used the pinmux spreadsheet to generate gpio / pinmux dtsi files, and included the relevant changes in my dtsi.
also, could you please also share the modification you had done,
thanks

Hi Jerry,

I’m using Jetpack 4.2.1

The changes I made to the pinmux spreadsheet for those pins:

  • Updated the ‘Customer Usage’ field to GPIO3_PAA.00 and GPIO3_PAA.01
  • Set ‘Pin Direction’ to output.
  • Set Req. Initial State to ‘Drive 1’.

Here is the current status of both of those lines:

I have

Signal Name     Pin      IC Ball Name	    GPIO	       SFIO0	  SFIO1	      SFIO2	      SFIO3	 Wake	  Strap	 Pad Category	 Pull Strength	Pin State      Customer Usage	  Pin Direction	  Req. Initial State	Wake Pin
AO_DMIC_IN_DAT	D16	 CAN_GPIO0	    GPIO3_PAA.00		  DMIC3_DAT   DMIC5_DAT		         wake44	    	 CZ	           20K	          pd	       GPIO3_PAA.00	    Output	        Drive 1	            No
AO_DMIC_IN_CLK	E16	 CAN_GPIO1	    GPIO3_PAA.01		  DMIC3_CLK   DMIC5_CLK		         wake45		 CZ	           20K	          pd	       GPIO3_PAA.01	    Output	        Drive 1	            No

hello vogelari,

could you please double check you’re working with correct pinmux spreadsheet,
you might access the latest Pinmux spreadsheet, it should be revision v1.00, release on Apr.15,2019
thanks

Hi Jerry,

Yes, the revision number is listed as 1.00 in the spreadsheet I’m using.

hello vogelari,

we’re now investigate this internally, will update to you after we have some conclusions.
thanks

Hi vogelari,

The pin you are trying to use as GPIO (GPIO 296) is restricted with direction as INPUT by hardware. So, you cannot drive it as OUTPUT. Same goes with GPIO 297, it’s direction is set to OUTPUT, so cannot set to INPUT.
Which pinmux spreadsheet you are using? It is mentioned in pinmux revision history.

Thanks,
Shubhi

Hello Shubhi,

Thanks for the clarification, that explains the behavior I’m seeing. Where can I see this pinmux revision history comment? I’d like to be able to make sure all other GPIOs I’m using are ‘valid’ configurations.

I downloaded the pinmux spreadsheet from:

https://developer.nvidia.com/embedded/dlc/jetson-tx2-series-module-pinmux

When I open the spreadsheet it is listed as ‘Current revision 1.00’, with the most recent revision history date as ‘4/15/19’.

Thanks

Hi,

Yes, the pinmux given to customers do not include history, it is for internal purpose.
You can find details about pins here:

https://developer.download.nvidia.com/assets/embedded/downloads/secure/tx2/Jetson%20TX2%20Module%20Data%20Sheet/Jetson_TX2_Series_Modules_DataSheet_v1.2.pdf?D--qzZc-HWpIsXSi4K3i7htsHl8SdqaTXUsRAAnR_ZpnKN1Ia2_srngg3r45SrmIx0NeqPGInYO5uQv5_2PCj7XwZnVcS_gTLWqupTxNbsFVI2UaynwujuAiL0jnQoEK3xs7Q-TUEMdhuZC8Ij32FWHrb8-adqgI7BUl-vZ0LZMCpSWZWK_3VPVIWYgoV66lA_Z5aVOj5g6W0NhlLPIFqAt7CAkOPLA7ulvAaPY9GF8L3TEtbg

Table 44 DMIC Signal Descriptions.

Thanks,
Shubhi

Hi Shubhi,

Should I be able to download the file at that URL? I’m getting a 403 error when I follow the link.

Thanks.

Hi,

Can you please try this link if you are able to access?
http://developer.nvidia.com/embedded/dlc/jetson-tx2-series-modules-data-sheet
For me, both the links are working. Link will directly download the file.

Thanks,
Shubhi

Hi Shubhi,

Thanks, yes that link works now.

I see table 44 where AO_DMIC_IN_DAT is listed as an input, and further I see that in table 57 the pin is also listed as an input. Are the pin directions listed in table 57 restrictive? For example, all pins with ‘Input’ in the direction column are input only? Or is this direction just the default / power up state?

I ask because there is a previous statement in section 5.0 which seemed to me to suggest all GPIOs could be inputs or outputs:

"The Jetson TX2 series module has multiple dedicated GPIOs; each GPIO is individually configurable as Output/Input/Interrupt sources with level/edge controls. "

Thanks

Hi vogelari,

As these particular pins AO_DMIC_IN_DAT and AO_DMIC_IN_CLK are connected to level shifter which is restricting their directions. But other GPIO pins as you said could be inputs/outputs. GPIO basic feature is this that they should be configured both ways.

Thanks,
Shubhi