Make Jetson GPIO match RPI mapping

I am trying to use an e-paper display on the Jetson, and it uses the RPI 40pin header, which i read the Jetson supports as it matches the RPI pin mapping.

What do I need to do to enable SPI and I2C on the Jetson 40pin header so it matches the mapping of a RPI?

It does not seem to be enabled or mapped properly by default, as the screen is not updating when i run my demo but i confirmed the hardware is fine testing it on an RPI.

Tried using

sudo /opt/nvidia/jetson-io/jetson-io.py

Get the error:

FATAL ERROR

'/mnt/APP/boot/extlinux/extlinux.conf' and 
'/boot/extlinux/extlinux.conf' are the same file

Press any key to terminate

My Jetson is the stock image with LUKS encryption setup.

Hi brian178,

Are you using the devkit or custom board for Orin Nano?
What’s your Jetpack version in use?

Sorry that I’m not familiar with how RPI works.

Are you trying to use SPI or I2C for your e-paper display?
Which SPI/I2C interface are you using?

Do you mean that you’ve enabled the disk encryption on your board?

Orin Nano Devkit with Stockimage (encrypted)
jetson_linux_r35.4.1_aarch64.tbz2

Here is the board and mapping to the 40pin header: https://www.waveshare.com/wiki/2.9inch_Touch_e-Paper_HAT_Manual#Hardware_Connection

It requires I2C and SPI:

Touch interface I2C (Address: 0x48)
Communication interface SPI

I believe i need to enabled the “sc1” custom mapping in jetson-io to achieve this configuration with SPI and I2C enabled to the correct pins?

I am just trying to get the 40PIN header to match the appropriate mapping (which should mirror the RPI mapping) so i can interact with the screen.

There is another screen without touch that has documentation for working on Jetson: https://www.waveshare.com/wiki/2.9inch_e-Paper_HAT_(D)_Manual#Working_With_Jetson_Nano

Essentially i am trying to port the touch version code base to use Jetson compatible code as demonstrated in the sample for the screen without touch above. My code runs on the jetson but is unable to find an SPI interface and it quits.

What is “Stockimage” mean?

Are you using official Orin Nano devkit or the custom carrier board from Waveshare?

The link you shared is for Jetson Nano rather than Orin Nano.

I think you have to check Jetson Orin Nano Developer Kit Carrier Board Specification for the pin mapping on 40-pins expansion header as following.
image
If you want to use SPI interface for e-paper module, you should connect PIN19(SPI0_MOSI), PIN21(SPI0_MISO), PIN23(SPI0_SCK), PIN24(SPI0_CS0) to your module.

You may need to configure the pinmux for those pins before use.
I would suggest you verify SPI loopback test to confirm all the configurations are correct before you try to port for your e-paper module.

Thanks, since i am having issues with the jetson-io python tool, can you tell me which files i need to modify in the /Linux_forTegra/ build directory before i flash the device so it have the correct pin mappings?

I am using an offical devkit (Amazon.com), flashed with the default image provided by nvidia:

Flash Steps

Do some pre-config stuff…

What files do i need to modify to get the correct GPIO setttings?

PLUG IN JETSON IN RECOVERY MODE (Jump 9&10 pins)

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --network usb0 --no-flash --showlogs -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" jetson-orin-nano-devkit internal

UNPLUG JETSON, PLUF BACK IN RECOVERY MODE (Jump 9&10 pins) THEN RUN THIS COMMAND

sudo ROOTFS_ENC=1 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --no-flash --external-device nvme0n1p1 -i ./sym2_t234.key -c ./tools/kernel_flash/flash_l4t_t234_nvme_rootfs_enc.xml -S 300GiB --external-only --append --network usb0 jetson-orin-nano-devkit external

UNPLUG JETSON, PLUG BACK IN RECOVERY MODE (Jump 9&10 pins) THEN RUN THIS COMMAND

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --network usb0 --flash-only

What issue did you get?
Jetson-IO should work on the devkit.
Please run the following command to launch it.

$ sudo /opt/nvidia/jetson-io/jetson-io.py

It seems you’ve enabled the disk-encryption in your case. It won’t affect how you configure and the usage for the pins of 40-pins expansion header.

Please try using Jetson-IO tool to enable the SPI/I2C pins on 40-pins expansion header.
Or you can refer to Generating the Pinmux dtsi Files to configure pinmux before flash.

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