There are 4 mode about the SPI bus,we find the difference between ORIN NX and TX2.
For ORIN NX spi0:
- CPOL=0;CPHA=1
- CPOL=0;CPHA=0
- CPOL=1;CPHA=1
- CPOL=1;CPHA=0
For TX2:
- CPOL=1;CPHA=1
- CPOL=1;CPHA=0
The question is :
For TX2:
when CPOL=1;CPHA=0, the clk is always High when it is idle.
when CPOL=1;CPHA=1, the clk is always High when it is idle.
But for ORIN NX,
when CPOL=1;CPHA=0, the clk transfer Low to High and High to Low when it is idle.
when CPOL=1;CPHA=1, the clk transfer Low to High and High to Low when it is idle.
please tell us why
thanks
ps:
- yellow is clk
- blue is MOSI
Could you share the pinmux of SCK when you are using the SPI mode with CPOL=1
?
spi1_sck_pz3 {
nvidia,pins = "spi1_sck_pz3";
nvidia,function = "spi1";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
When CPOL=1:
There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks
May I know how do you switch these 4 kinds of SPI modes?
Is there any issue (wrong data received or lost) with SCK keeps low in idle when CPOL=1
? Or you just want to clarify the different behavior between TX2 and Orin NX?