We have modified the file “tegra234-mb1-bct-pinmux-p3767-dp-a03.dtsi” under the <l4t_top>/bootloader/generic/BCT/ folder for pin number PQ05 as “Bidirectional” ( so that we can use it as both input and output ) which inturn reflects as “nvidia,tristate = <TEGRA_PIN_DISABLE>;” in the below device tree node as per pinmux sheet dtsi files generation observation:
But even after reflashing , after building DTB files, we are not able to see the modified value set to this gpio pin which is configured as “bidirectional”
we have used the below link to refer to the commands that should be used:
Note: the state of a GPIO line controlled over the character device reverts to default
when the last process referencing the file descriptor representing the device file exits.
This means that it's wrong to run gpioset, have it exit and expect the line to continue
being driven high or low. It may happen if given pin is floating but it must be interpreted
as undefined behavior.
Hence, it’s meaningless to check the pin with gpioget after gpioset returns, regardless of whether it’s turned into an input pin or not.
Use a multimeter of GPIO sysfs when gpioset is still running to check the pin status.
Please provde sample commands for this with mode parameter set to time
Because with mdoe parameter set to Wait, we see there is no change on the multimeter reading after executing gpioset command, with values changed between 0/1.
Also we are using busybox devmem method to modify register values, as pin muxing method did not work out for us.
Should the tristate should be set to “disable”, for output or birectional type?
we are observing that, even though we are configuring the register values as gpio type using busybox command, it is getting reset to SFIO after some time( which we think might be causing the problem, where values are not getting reflected in the multimeter)
the value which we wrote was “0x00000008” ( for PQ.05) and “0x00000049”( for PZ.01) but it has changed( i.e, GPIO has changed to SFIO) to “0x00000408” and “0x00000449”
any idea what may be the reason for this??
Is the device tree stuff overriding the changes performed using busybox??
In the documentation is clearly given to change the bit number 10 → to gpio as shown below:
so the value we are writing is "0x00000008’ , but it changes to “0x00000408” during our gpio set operation…
I would be informing our team that we are not able to see the updates of gpio output on multimeter due to this. We are waiting for further updates from Nvidia support team to fix this issue.
Please confirm if this GPIO/SFIO issue is related to gpio ouput 0 and 1 updates not seen on multimeter??
Because, what i observe is, during the gpioset operation, we see the register value shows bit 10 as “gpio”, but once we exit the gpioset command, it changes to “1” - SFIO enabled. Very weird.
I also have the same problem with the Jetson Orin Nano Developer kit (8GB)… even after changing the pinmux. No voltage showed in the multimeter… but the PINs works well when they are setted as INPUT.