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
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
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
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
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 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 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. "
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.