RM0033 Rev 9 21/1381
RM0033 Contents
31
25.3 SPI functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
25.3.1 General description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
25.3.2 Configuring the SPI in slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
25.3.3 Configuring the SPI in master mode . . . . . . . . . . . . . . . . . . . . . . . . . . 691
25.3.4 Configuring the SPI for half-duplex communication . . . . . . . . . . . . . . . 693
25.3.5 Data transmission and reception procedures . . . . . . . . . . . . . . . . . . . 694
25.3.6 CRC calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
25.3.7 Status flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
25.3.8 Disabling the SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
25.3.9 SPI communication using DMA (direct memory addressing) . . . . . . . . 704
25.3.10 Error flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
25.3.11 SPI interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
25.4 I
2
S functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
25.4.1 I
2
S general description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
25.4.2 Supported audio protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
25.4.3 Clock generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
25.4.4 I
2
S master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
25.4.5 I
2
S slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
25.4.6 Status flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
25.4.7 Error flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
25.4.8 I
2
S interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
25.4.9 DMA features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
25.5 SPI and I
2
S registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
25.5.1 SPI control register 1 (SPI_CR1) (not used in I
2
S mode) . . . . . . . . . . 725
25.5.2 SPI control register 2 (SPI_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
25.5.3 SPI status register (SPI_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
25.5.4 SPI data register (SPI_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
25.5.5 SPI CRC polynomial register (SPI_CRCPR) (not used in I
2
S
mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
25.5.6 SPI RX CRC register (SPI_RXCRCR) (not used in I
2
S mode) . . . . . . 730
25.5.7 SPI TX CRC register (SPI_TXCRCR) (not used in I
2
S mode) . . . . . . . 731
25.5.8 SPI_I
2
S configuration register (SPI_I2SCFGR) . . . . . . . . . . . . . . . . . . 731
25.5.9 SPI_I
2
S prescaler register (SPI_I2SPR) . . . . . . . . . . . . . . . . . . . . . . . 733
25.5.10 SPI register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
26 Secure digital input/output interface (SDIO) . . . . . . . . . . . . . . . . . . . . 735
26.1 SDIO main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735