Below is suggest.
Have connected -> SPI1_MOSI<-->SPI3_MISO, SPI1_CLK<-->SPI3_CLK, SP1_CS0 <--> SPI3_CS0 and SPI1_CS1->SPI3_CS1.
SPI1 has to be configured as Master and SPI3 has to be configured as slave in the dt and pinmux settings have to be updated.
SPI1 DT:
spi@3210000 {
status = "okay";
compatible = "nvidia,tegra186-spi";
spi@0 {
compatible = "spidev";
reg = <0>;
spi-max-frequency = <65000000>;
controller-data {
nvidia,enable-hw-based-cs;
};
};
};
SPI3 DT
spi@3230000 {
status = "okay";
compatible = "nvidia,tegra186-spi-slave";
spi@0 {
compatible = "spidev";
reg = <0>;
spi-max-frequency = <65000000>;
controller-data {
nvidia,enable-hw-based-cs;
};
};
};
PINMUX settings are listed below for SPI1 and SP13 for loopback. (Note: SPI1 and SP3 have an internal loopback connection for Xavier)
SPI_1 pinmux settings:
PADCTL_UART_SPI1_MISO_0 (0x0243d020) = 0x440;
PADCTL_UART_SPI1_MOSI_0 (0x0243d058) = 0x440;
PADCTL_UART_SPI1_SCK_0 (0x0243d040) = 0x440;
PADCTL_UART_SPI1_CS0_0 (0x0243d010) = 0x448;
PADCTL_UART_SPI1_CS1_0 (0x0243d050) = 0x448;
SPI_3 pinmux settings:
PADCTL_UART_SPI3_MISO_0 (0x0243d008) = 0x440;
PADCTL_UART_SPI3_MOSI_0 (0x0243d060) = 0x440;
PADCTL_UART_SPI3_SCK_0 (0x0243d048) = 0x444;
PADCTL_UART_SPI3_CS0_0 (0x0243d018) = 0x448;
PADCTL_UART_SPI3_CS1_0 (0x0243d028) = 0x448;