Hi, all.
I’m having a little trouble moving my SPI configuration from the TX1 to the TX2. I’m confident the SPI device tree elements are set up correctly however, I remember having to do something to the GPIO in the device tree (for the TX1, that I’m not doing in the TX2) as per the guide below:
Configuring SPI in the Device Tree before 28.1 for the TX1 as per this guideline http://elinux.org/Jetson/TX1_SPI suggests making the following change to the device tree for GPIO.
gpio_default: default {
gpio-to-sfio = <16 17 18 19 20>;
};
To verify this change (after building and loading the new Device Tree) you follow this guideline http://elinux.org/Jetson/TX1_SPI#Verifying_GPIO_PinMux
This is now seems to be different under 28.1, and now you have to do the following:
File: hardware/nvidia/soc/t210/kernel-dts/tegra210-soc/tegra210-soc-base.dtsi
gpio_default: default{
gpio-hog;
function;
gpios = <TEGRA_GPIO(C, 0) 0 TEGRA_GPIO(C, 1) 0 TEGRA_GPIO(C, 2) 0 TEGRA_GPIO(C, 3) 0 TEGRA_GPIO(C, 4) 0>;
};
Can someone explain to me if the above is necessary for SPI on the TX2, and if so, how would I make the change as above to the file (hardware/nvidia/soc/t18x/kernel-dts/tegra186-soc/tegra186-soc-base.dtsi). I can’t understand what the values TEGRA_GPIO(C, 0) relate to in the context of SPI.
I liked the guide I mentioned above, because I was able to verify the gpio modification took effect. However, I’m unclear about what the change above actually did…
I’ve been able to successfully have some SPI exchanges between the Jetson + the other embedded solution, however sometimes the other embedded solution won’t transmit back and I’m suspicious the Jetson is doing something with the MISO line (Jetson acting as Master) which is causing conflict.
Many thanks in advance.