I enabled GPIO for output on a number of different pins on Jetpack 6 DP, on the Jetson Orin AGX. It was working well until I used the Debian package upgrade option to upgrade to Jetpack 6.2 per the instructions. Now, GPIO isn’t working. i.e. using gpiod and gpioset to set pins high are not setting them high.
Does upgrading via apt dist-upgrade overwrite and replace the custom pinmux settings?
I really don’t want to reflash this device, I’ve put a lot of work to getting it configured as I need it…hoping that I’m wrong and there is some other issue. But it is acting like the pins are no longer enabled for output after the upgrade.
I took a look at that, but I’m not sure that is the issue. One of the GPIOs - UART1_RTS works just fine when I write out to it. That is the only pin of the eight that I’m using that was set to ‘output’ in the default pinmux. All of the others seem to have had the settings I made in the pinmux.dtsi over-written.
Looking at one of the pins that I originally set to output (let’s look at soc_gpio41_ph7) - the pinmux.dtsi that I exported from the spreadsheet and used when I flashed the device to JP6 DP
soc_gpio41_ph7 {
nvidia,pins = “soc_gpio41_ph7”;
nvidia,function = “rsvd2”;
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
The pin worked just fine in JP6 DP, but now that one fails to show any voltage on it when I set it high, and when I run , at least when I run: cat /sys/kernel/debug/pinctrl/2430000.pinmux/pinconf-groups
I get the output below, which seems to tell me that the in place apt based update to JP6.2 overrides the custom pinmux I put in place.
Is there any way to re-run the apt based upgrade but give it a custom pinmux so that when it creates the new image on-device it uses that instead of the default?
Hi,
Since the issue is in kernel, you would need to rebuild and re-flash kernel to apply the fix. Please check developer guide to apply the path and rebuild kernel image: