13.2.3.3 SPI Clock Requirements
The SPI_0 and SPI_1 peripherals are clocked by APB_0_CLK on APB bus 0, and APB_1_CLK on APB bus 1. These clocks are derived from the main MSS clock, M3_CLK. Each APB clock can be programmed individually as M3_CLK is divided by 1, 2, 4, or 8. For more information, UG0449: SmartFusion2 and IGLOO2 Clocking Resources User Guide.
The SPI clocks in master mode are derived from APB_0_CLK / APB_1_CLK. Master mode and slave mode SPI data rates depend on the APB clock, as given below.
- Master mode SPI data rate
- Programmable from APB_X_CLK/256 to APB_X_CLK/2
- Programmable from APB_X_CLK /65556 to APB_X_CLK /256 in powers of 2
- Maximum data rate is APB_X_CLK/2
- Slave mode SPI data rate operates up to
- APB_X_CLK for frame sizes (frame size ≥ 8)
- APB_X_CLK /2 for frame sizes (frame size 4 to 7)