David Cofer over at NeuroRobotic Technologies has written an excellent set of articles on how to enable the Jetson TK1’s touch screen SPI to communicate with other devices at speeds up to 25 MHz.
The articles include background on the advantages of using this approach in real life applications, as well as a very good explanation configuring the kernel for SPI, and a wonderful explanation of the sometimes mysterious device tree.
First three parts are up, with more to come! Looky here:
Using the Jetson TK1 SPI – Part 1 (Why is SPI important)
Using the Jetson TK1 SPI – Part 2 (Configuring the kernel for SPI)
Using the Jetson TK1 SPI – Part 3 (Configuring SPI in the device tree)
Why are you still reading this? Go to the articles, it will make you a better person.
5 Responses
Is it possible to enable SPI on standard Jetson kernel, rather than the Grinch? If so, could please give us some tips?
Yes it is possible to build SPI support into the standard Jetson TK1 kernel. The procedure is the same, basically download the kernel sources, and turn on the SPI support as described in the article. The article mentioned above builds for a L4T 19.X version of the kernel, currently we’re on L4T 21.4. You may also have to work on the device tree as described in the article above.
You may find this discussion useful: https://devtalk.nvidia.com/default/topic/795253/embedded-systems/enable-spi-on-jetson-tk1-l4t-r21-1-/post/4423188/
The link of the TK1 Wiki may also be helpful: http://elinux.org/Jetson/GPIO#PWM_output
Thanks for reading!
Thank you for the lightning speed reply kangalow
If I do the installation with JetPack:
*First need to download and flash the Jetson TK1 with JetPack 2.2 for L4T (instals L4T 21.4 for Jetson TK1) in a standard fashion
*Next, compile the kernel as in the NeuroRobotic Technologies article but use the appropriate kernel source for L4T 21.4: http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/source/kernel_src.tbz2
*Then transform dtb file to dts file, modify the dts file as stated in the forum post you linked, and transform back to dtb.
The main question in mind is, I guess I won’t be using u-boot during the flashing with Jetpack as the author did. Does this create extra difficulty?
You can compile the custom kernel as suggested here:
https://jetsonhacks.com/2016/06/29/build-custom-kernel-nvidia-jetson-tk1/
One of the differences from the 19.X to the 21.X versions of L4T is that the 21.X use UBoot instead of Fastboot so you will be able to use UBoot without changing anything.
I just watched that video before your message 🙂 It is also great news about the Uboot.
Thank you for the help and especial for the great videos & posts 🙂