May I ask if pin124, pin126, pin127, and pin128 can be used as regular GPIO

Please refer to the following instruction to configure and apply custom pinmux change .
NVIDIA Jetson Linux Developer Guide : Jetson Module Adaptation and Bring-Up - Pinmux Changes

Through the process in the tutorial, I was able to enable SPI1 by modifying Pinmux. If possible, how can I modify the corresponding pins?

What do you mean here? Could you clarify what’s your exact requirement?
Configure for SPI or GPIO?

Both are required. After previous communication, I have learned how to configure GPIO. But VS1053B uses 4 GPIOs and SPI, so I still need to know how to configure SPI. Is it possible to modify pinmux.xlsm?

No matter you want to configure SPI or GPIO, you could just use pinmux spreadsheet to configure them according to your use case.

Thank you very much, as I have relatively little knowledge of the system kernel, I have to ask how I should modify the fields in the table if I want to use this SPI as a regular SPI.

Please refer to the following screenshot to configure for SPI.

Thank you

I made an error when cross compiling according to the tutorial.

Have you built tegra_defconfig before build dtbs?
Do you add any change in Makefile to build dtbs?

Hi, KevinFFF!
I built tegra_defconfig before build dtbs.
I didnt add any change in Makefile to build dtbs.

I found that although there was an error in compiling dtbs, the dtb file I needed seems to have been successfully compiled.

I found this dtb file,and follow the tutorial to copy this file to Linux_for_Tegra/kernel/dtb/.

Then I executed
sudo ./ jetson-nano-devkit mmcblk0p1.
But it stopped at this step.
[ 2.9675 ] Saved platform info in storage_info.bin

Then I executed
sudo ./ jetson-nano-emmc mmcblk0p1
The system installation was successful, but I found that GPIO-65 is still occupied by .
Did I make a mistake at any point?

Could you build dtbs w/o any issue if you use default pinmux spreadsheet?

Are you using Jetson Nano with internal eMMC or SD module?

Have you confirmed which dtb is in use for your board?

Should I copy and decompile the DTB files in the new system into DTSI files and compare them with my pre compiled DTSI files?

step 7. I found a newly generated DTB file in this directory
named tegra210-p3448-0002-p3449-0000-b00.dtb

So I copy it to directory

And I executed step 8
Am I doing the right thing?

When I executed ./, output this:

This DTB file is the one I copied over.Can I confirm that this system is built based on the DTB I copied from the past?

I decompiled /boot/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb file in the new system.
According to the dtsi file generated by pinmux, nfc_int_pi1 should be the same as ph6, but obviously not. So I must have made an error while building the system.


Why nfc_int_pi1 should be the same as ph6?

gpio-65 should map to PI.01, which is also nfc_int_pi1

Could you share the the kernel_tegra210-p3448-0002-p3449-0000-b00.dtb file for further check?

Because these two pins are both output from VS1053B to Nano, while the others are output from Nano to VS1053B.
kernel_tegra210-p3448-0002-p3449-0000-b00.dtb (231.6 KB)

PI.01 and PH.06 are both the input pin for Jetson as default but they are different pins.

I will suggest refer to the instruction and configure the pinmux and build kernel/dtb correctly.