I try to pull up the GPIO as output high, but it can work.
I use the following command ”gpioset --mode=wait gpiofind "PQ.02"
=1”
Hardware is Thor, and Software is jp_7.0_ea_bsp.
I try to pull up the GPIO as output high, but it can work.
I use the following command ”gpioset --mode=wait gpiofind "PQ.02"
=1”
Hardware is Thor, and Software is jp_7.0_ea_bsp.
*** Please note that this reply is generated by LLM automatically ***
To troubleshoot the issue with pulling up the GPIO as output high on the Jetson AGX Orin, let’s break down the steps and considerations.
GPIO Configuration: Ensure that the GPIO pin you are trying to use is properly configured. You mentioned using the gpioset
command, which is correct for setting the mode and value of a GPIO pin. However, the command you provided seems incomplete. The typical syntax for setting a GPIO pin as output high would be:
gpioset <gpiochip> <gpio_pin>=1
Replace <gpiochip>
with the actual gpiochip number (e.g., gpiochip0, gpiochip1, etc.) and <gpio_pin>
with the actual GPIO pin number you are trying to control.
GPIO Pin Numbering: Make sure you are using the correct GPIO pin number. The GPIO pin numbers can be found in the Jetson AGX Orin pinmux table. For example, if you are trying to use SOC_GPIO08, which is GPIO3_PB.00, you would need to calculate the GPIO pin number using the formula:
base + port_offset + pin_offset
As mentioned in the context, the base is 348, the port_offset for port B is 8, and the pin_offset is 0, resulting in a GPIO pin number of 356.
GPIO Direction: Verify that the GPIO pin direction is set to output. You can check the direction using the gpioinfo
command:
gpioinfo <gpiochip> <gpio_pin>
If the direction is not set to output, you can set it using the gpioset
command with the =direction=output
option.
Hardware and Software Compatibility: You mentioned using the Thor hardware and JP 7.0 EA BSP software. Ensure that the GPIO pin you are trying to use is compatible with this hardware and software configuration.
Pinmux Configuration: Make sure that the pinmux configuration is correct. The pinmux configuration can be found in the device tree or the pinmux spreadsheet. Ensure that the pin is configured as a GPIO pin and not as some other function.
3.3V Tolerance Enable: As mentioned in the context, ensure that the 3.3V Tolerance Enable field is disabled in the pinmux register of the GPIO pin. This can be done by disabling the E_IO_HV field in the pinmux spreadsheet.
Bidirectional Pin Direction: Ensure that the pin direction is set to bidirectional. This can be done by setting the Pin Direction to Bidirectional in the pinmux spreadsheet.
If you have followed these steps and the issue persists, it may be helpful to provide more details about your setup and the exact commands you are using. Additionally, you can try checking the kernel logs for any error messages related to the GPIO pin you are trying to use.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
Hi ekeechg,
Are you using the devkit or custom board for Thor?
Have you configured the pinmux spreadsheet for PQ.02 as Output or Bidirectional before use?
I use the custom board. I have configure the pinmux and regenerate dts file as follow.
spi5_sck_pq2 {
nvidia,pins = "spi5_sck_pq2";
nvidia,function = "rsvd1";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,drv-type = <TEGRA_PIN_1X_DRIVER>;
nvidia,e-io-od = <TEGRA_PIN_DISABLE>;
nvidia,e-lpbk = <TEGRA_PIN_DISABLE>;
};
I would suggest using Thor pinmux spreadsheet to configure them and generate pinmux/gpio dtsi instead.
Some GPIO configurations are included in gpio dtsi.