Activate alternate functions of I2C1 & UART pins on 40-Pin Header (J6) - Jetson AGX Xavier

Hello all,

for our application it is necessary to use all available pins on our Jetson AGX Xavier (Developer Edition). Currently we get the error message “ValueError: Channel 8 is invalid” as soon as we try to define (GPIO.BOARD) pins 3,5,8,10,13 & 28 (Based on this structure) as output or input.
After some research we assume that the reason for error message is the default function of these pins (I2C1_SDA, I2C1_SCL, UART1_TXD, UART1_RXD, I2C0_SDA and I2C0_CLK).

We have seen that you can enable various alternative functions via the Jetson-IO, but we have not seen that you can use it to transfer the above pins to GPIOs - is that correct so far or is it possible?

Another possibility we found is via the pinmux changes (Link to Docs).
But here we didn’t understand how to use the associated Excel file (downloadable from the download center) to activate the alternative functions. Is there a detailed description or a tutorial for this?

As described we want to convert the above pins to GPIOs, would it be possible to provide a brief description of how we can do this?
Unfortunately the linked doc is incomprehensible for us. We also check following topics, but still we don’t know how to solve the problem:

Thanks in advance.

  1. The pinmux can be changed by the spreadsheet.

  2. That spreadsheet can only be run on a Windows machine

  3. https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/adaptation_and_bringup_xavier.html#wwpID0E0YN0HA

  4. In brief, after you modify the pin to the function you want, click the generate button on spreadsheet, it will create several dtsi files. Send them to your ubuntu host, read the readme file as pointed out by (3).

  5. Covert the dtsi files to the cfg file with the tool indicated by the readme file.

  6. Put the cfg file to Linux_for_Tegra/bootloader/t186ref/BCT to replace the old one that was flashed to the board. If you don’t know which one to replace, then check the flash log on the host side, it will tell you what to modify.

Many thanks for the reply. I have two follow-up questions:

  1. Is it sufficient to change the type of output in the excel file, or do I have to adapt the column “Customer usage” or do I have to change settings in following columns like “Pin direction” etc. as well?
  2. I can’t find the mentioned Linux_for_Tegra/kernel/pinmux/t19x/ folder - where is it located? Unfortunately your reply in this thread did clear things for me. Same applies for folder Linux_for_Tegra/bootloader/t186ref/BCT.

Did you ever flash your board with sdkmanager before?

Yes for setting up the jetson agx xavier we used the sdk manager on a different Linux PC to flash the jetson. Or what exactly do you mean with ?
As far as I know the SDK manager is just available for x64 systems and not for arm architecture?

Yes, so when I mentioned anything regarding “Linux_for_Tegra”. I mean checking your different Linux PC but not on your jetson.

Also on the the different Linux PC I can not find the mentioned folder. Could you please provide an example path from your machine?

If you didn’t change any default setting for path, then it shall be in ~/nvidia.

1 Like

Found it - thank you.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.