SPI wierdness

Hi all,

I just converted a graphics display driver from SPI bit-bang to hardware SPI. Works fine.

Strange thing though... it works REGARDLESS of which SPI mode I use!

The datasheet for the graphics device shows transfers on the rising edge of SCK and SCK idle mode is logic 1 which means "SPI Mode 3" (and mode 3 works).

But, modes 0 thru 2 ALSO work?

What the heck is going on here? Any ideas?

I suspect that as long as the data is stable when SCK goes from low to high it gets clocked in okay.

So, 0000000011111000000 works,
and 1111000011111111111 works
^
| as long as the data is done changing by here