Is there anyone who can tell or teach me how to use SPI on AGX Xavier?

Hi, everyone.

I’m Soooooooo newby for Jetson.

My problem is now I’m trying to communicate with TI MCU through SPI using AGX Xavier.

But!!!
I really don’t know where to start.

So, I need you guys help.

Is there anyone who can tell me how to use SPI?
or
Is there anyone who can suggest any documents that helps me?

I’m sure there are some documents that tell me how to use it.
But I can’t find it. ;(
(I guess it is because I’m super newby…)

Please help me!

You need to know how to build customize kernel and device tree from below document.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fkernel_custom.html%23

And for SPI below topic may help.

https://devtalk.nvidia.com/default/topic/1049488

https://devtalk.nvidia.com/default/topic/1049170

https://devtalk.nvidia.com/default/topic/1049999

https://devtalk.nvidia.com/default/topic/1049170

https://devtalk.nvidia.com/default/topic/1056359

Thanks ShaneCCC.
I will start at where you tell.

By the way… Why Nvidia don’t have official vidio about the function like this?

Thanks for your suggestion.
We will try to improve it for the SPI function.

ShaneCCC!
Can you help me little more?
Thanks to your kinds suggestion, I’ve try to build customize kernel first.
And I success step below shown in “Welcome — Jetson Linux<br/>Developer Guide 34.1 documentation”.


‘Execute the following commands to build the kernel including all DTBs and modules: make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j’
(in my case, I use =8)

Problem is here.

Next step, document tell me replace some folder, but I can find it!
I don’t know about where is <release_packagep>.
I think it means the folder where I extract download source which I download from ‘Jetson Download Center | NVIDIA Developer
But /Linux_for_Tegra/ folder don’t have /kernel/Image folder.
Maybe it means /Linux_for_Tegra/source/public/kernel/kernel-4.9
But anyway, there is no /Image / folder under /kernel-4.9/ folder.
(I can find TEGRA_KERNEL_OUT/arch/arm64/boot/Image folder BTW)


Replace <release_packagep>/Linux_for_Tegra/kernel/Image with a copy of:
$TEGRA_KERNEL_OUT/arch/arm64/boot/Image

Can you tell me where is [<release_packagep>/Linux_for_Tegra/kernel/Image] ?
The folder should be there to ‘replace’ it, but it’s not.

And in 7th step, they said

[top]/Linux_for_Tegra/rootfs/.

Also don’t understand where is [top].

I think I ask you to much.
But please help me.

Thank to read.
Best regards.

When you have a project to build and that build has many subdirectories, then “top” just means the directory containing all of the others…the “root”. On any Linux system “/” is the root of everything, and thus equivalent to the “top” of the operating system. If you unpacked a kernel’s source to “/some/where/kernel”, and “kernel/” has many subdirectories, then “/some/where/kernel” is the “top” of that source tree. The point of unpack.

You can have sdkmanager to download and flash the device that will gen the Linux_for_Tegra/rootfs/ in your host.