SPI Minimum Speed

I am unable to get the SPI speed to go below 1Mhz on Linaro Linux 4.4.

I have found using spidev_test.c that any speed below 1Mhz causes the SPI speed to default to 1Mhz (verified with a scope and consistent with this post: [OE] Mix/Max SPI clock ranges?)

Is there any way to reduce the clock speed of SPI on the DB410c? Is there perhaps a clock divider register I can set?

I also tried to reduce SPI clock speed but with no result. Is there any possibility to work with SPI in speed lower than 1MHz?

You need to apply this kernel patch: https://patchwork.kernel.org/patch/10692881/

F(100000, P_XO, 16, 2, 24),
what do this numbers mean?

F(target-freq, clock-source, Predivider, Multiplier, Divider),

so that target-freq = clock-source-freq / P * M / D

with clock-source freq = P_XO = 19200000 Hz

1 Like

I need to get speeds from 1, 5, 10 ,20,25,50 kHz

I need to get speeds from 1, 5, 10 ,20,25,50 kHz

So maybe add the following line for 50Khz:
F(50000, P_XO, 16, 1, 24),

For 25:
F(50000, P_XO, 16, 1, 48),

I let you calculate the other. Note that I’m not sure about the limit of the predivider/divider.

1 Like

thanks. I wiil try to calculate