So I checked the /boot/extlinux/extlinux.conf file and it looks like below:
> TIMEOUT 30
> DEFAULT JetsonIO
>
> MENU TITLE L4T boot options
>
> LABEL primary
> MENU LABEL primary kernel
> LINUX /boot/Image
> INITRD /boot/initrd
> APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
>
> # When testing a custom kernel, it is recommended that you create a backup of
> # the original kernel and add a new entry to this file so that the device can
> # fallback to the original kernel. To do this:
> #
> # 1, Make a backup of the original kernel
> # sudo cp /boot/Image /boot/Image.backup
> #
> # 2, Copy your custom kernel into /boot/Image
> #
> # 3, Uncomment below menu setting lines for the original kernel
> #
> # 4, Reboot
>
> #LABEL backup
> # MENU LABEL backup kernel
> # LINUX /boot/Image.backup
> # INITRD /boot/initrd
> # APPEND ${cbootargs}
>
> LABEL JetsonIO
> MENU LABEL Custom Header Config: <HDR40 User Custom [2023-04-12-102710]>
> LINUX /boot/Image
> FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb
> INITRD /boot/initrd
> APPEND ${cbootargs}
I even tried adding the FDT line to the primary Lablel too, but it made no difference. I then decompiled the .dtb file and saw that all the SPI pins seem to be correctly configured as seen below. For this particular test I only enabled SPI1 through jetson IO.
pinmux@700008d4 {
compatible = “nvidia,tegra210-pinmux”;
reg = <0x0 0x700008d4 0x0 0x2a5 0x0 0x70003000 0x0 0x294>;
#gpio-range-cells = <0x3>;
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <0x131>;
pinctrl-1 = <0x3e>;
pinctrl-2 = <0x3f>;
linux,phandle = <0x40>;
phandle = <0x40>;exp-header-pinmux { phandle = <0x131>; linux,phandle = <0x131>; hdr40-pin37 { nvidia,enable-input = <0x0>; nvidia,tristate = <0x1>; nvidia,pull = <0x1>; nvidia,function = "rsvd3"; nvidia,pins = "spi2_mosi_pb4"; }; hdr40-pin26 { nvidia,enable-input = <0x1>; nvidia,tristate = <0x0>; nvidia,pull = <0x2>; nvidia,function = "spi1"; nvidia,pins = "spi1_cs1_pc4"; }; hdr40-pin24 { nvidia,enable-input = <0x1>; nvidia,tristate = <0x0>; nvidia,pull = <0x2>; nvidia,function = "spi1"; nvidia,pins = "spi1_cs0_pc3"; }; hdr40-pin23 { nvidia,enable-input = <0x1>; nvidia,tristate = <0x0>; nvidia,pull = <0x1>; nvidia,function = "spi1"; nvidia,pins = "spi1_sck_pc2"; }; hdr40-pin22 { nvidia,enable-input = <0x0>; nvidia,tristate = <0x1>; nvidia,pull = <0x1>; nvidia,function = "rsvd3"; nvidia,pins = "spi2_miso_pb5"; }; hdr40-pin21 { nvidia,enable-input = <0x1>; nvidia,tristate = <0x0>; nvidia,pull = <0x1>; nvidia,function = "spi1"; nvidia,pins = "spi1_miso_pc1"; }; hdr40-pin19 { nvidia,enable-input = <0x1>; nvidia,tristate = <0x0>; nvidia,pull = <0x1>; nvidia,function = "spi1"; nvidia,pins = "spi1_mosi_pc0"; }; hdr40-pin18 { nvidia,enable-input = <0x0>; nvidia,tristate = <0x1>; nvidia,pull = <0x2>; nvidia,function = "rsvd3"; nvidia,pins = "spi2_cs0_pb7"; }; hdr40-pin16 { nvidia,enable-input = <0x0>; nvidia,tristate = <0x1>; nvidia,pull = <0x2>; nvidia,function = "rsvd3"; nvidia,pins = "spi2_cs1_pdd0"; }; hdr40-pin13 { nvidia,enable-input = <0x0>; nvidia,tristate = <0x1>; nvidia,pull = <0x1>; nvidia,function = "rsvd3"; nvidia,pins = "spi2_sck_pb6"; };
From what I could tell from other sources this all seems correct, yet I still see no SPI output with any test I have done.