STM32MP157F-DK2: Difference between revisions
(Add Wi-Fi bug) |
(→Pinouts: Add pinout) |
||
Line 96: | Line 96: | ||
*The Wi-Fi uses a Broadcom chipset which can be a little buggy sometimes | *The Wi-Fi uses a Broadcom chipset which can be a little buggy sometimes | ||
== | == Raspberry Pi 40-pin pinout == | ||
The STM32MP157F-DK2 provides a connector compatible with the Raspberry Pi 40-pin pinout. Here's a quick reference of the various pins groups: | |||
Power pins: | |||
* 3V3 on pins 1 and 17 | |||
* 5V on pins 2 and 4 | |||
Ground pins: | |||
* GND on pins 6, 9, 14, 20, 25, 30, 34, 39 | |||
I2C pins: | |||
* I2C5 SDA on pin 3 (STM32 pin PA12) | |||
* I2C5 SCL on pin 5 (STM32 pin PA11) | |||
* I2C1 SDA on pin 27 (STM32 pin PA15) | |||
* I2C1 SCL on pin 28 (STM32 pin PD12) | |||
MCO pins: | |||
* MCO1 on pin 7 (STM32 pin PA8) | |||
* MCO2 on pin 29 (STM32 pin PG2) | |||
UART pins: | |||
* UART3 TX on pin 8 (STM32 pin PB10) | |||
* UART3 RX on pin 9 (STM32 pin PB12) | |||
* UART3 RTS on pin 11 (STM32 pin PG8) | |||
* UART3 CTS on pin 36 (STM32 pin PB13) | |||
SAI pins: | |||
* SAI2 SCKA on pin 12 (STM32 pin PI5) | |||
* SAI2 FSA on pin 35 (STM32 pin PI7) | |||
* SAI2 SDA on pin 38 (STM32 pin PI6) | |||
* SAI2 SDB on pin 40 (STM32 pin PF11) | |||
SDMMC pins: | |||
* SDMMC3 CK on pin 15 (STM32 pin PG15) | |||
* SDMMC3 CMD on pin 16 (STM32 pin PF0) | |||
* SDMMC3 D0 on pin 18 (STM32 pin PF0) | |||
* SDMMC3 D1 on pin 22 (STM32 pin PF4) | |||
* SDMMC3 D2 on pin 37 (STM32 pin PF5) | |||
* SDMMC3 D3 on pin 13 (STM32 pin PD7) | |||
SPI pins: | |||
* SPI5 MOSI on pin 19 (STM32 pin PF9) | |||
* SPI5 MISO on pin 21 (STM32 pin PF8) | |||
* SPI5 SCK on pin 23 (STM32 pin PF7) | |||
* SPI5 NSS on pin 24 (STM32 pin PF6) | |||
* Chip select GPIO on pin 26 (STM32 pin PF3) | |||
Timer pins: | |||
* TIM5 CH2 on pin 31 (STM32 pin PH11) | |||
* TIM4 CH2 on pin 32 (STM32 pin PD13) | |||
* TIM3 CH2 on pin 33 (STM32 pin PC7) | |||
Compatibility notes: | |||
* I2C5 is I2C1 on the Raspberry Pi | |||
* I2C1 is IC20 on the Raspberry Pi | |||
* MCO1 is GPCLK0 on the Raspberry Pi | |||
* MCO2 is GPCLK1 on the Raspberry Pi | |||
* UART3 is UART0 on the Raspberry Pi | |||
* SAI2 is PCM on the Raspberry Pi | |||
* SDMMC3 is SD0 on the Raspberry Pi | |||
* SPI5 is SPI0 on the Raspberry Pi | |||
* SPI5 NSS is SPI0 CE 0 on the Raspberry Pi | |||
* Chip select GPIO is CE 1 on the Raspberry Pi | |||
* TIM4 CH2 is PWM0 on the Raspberry Pi | |||
* TIM3 CH2 is PWM1 on the Raspberry Pi | |||
* SAI2 pins are only usable as GPIO unless you desolder some bridges (see the user manual) |
Revision as of 19:07, 28 January 2022
The STM32MP157F-DK2 is a development board starring the STM32MP157F system on a chip and a ton of peripherals.
This board is a newer revision of the STM32MP157C-DK2 and as far as I can tell all STM32MP157C-DK2 hardware documentation applies to the STM32MP157F-DK2.
Almost all you need to know about this board and its chips is available without signing any kind of NDA or jumping through hoops. Very very convenient.
Specifications
Core details:
- 32-bit Dual Core Cortex-A7 800MHz ARM chip
- 32-bit Cortex-M4 coprocessor
- 512MiB DDR3 RAM
- 5V 3A power supplied over Type-C
- ST-LINK/V2-1 debugging
- $109 USD from Mouser (as of 2022-01-29)
Storage:
- microSD card slot
Networking:
- Wi-Fi 802.11b/g/n
- Bluetooth Low Energy
- 10/100/1000 Gigabit Ethernet
USB:
- 4 USB 2.0 host type-A ports
- Dual-role USB 2.0 host or device type-C port
Video:
- 4 inch 480x800 LCD touch screen
- HDMI
Audio:
- Stereo headset jack with microphone input
Other IO:
- Raspberry Pi 40-pin compatible header
- Arduino Uno V3 compatible headers (3.3v only)
- 4 user LEDs
- 2 user buttons
Documentation
System on chip documentation:
- STM32MP157F web page is the first resource for documentation on the chip
- STM32MP157F datasheet gives an exhaustive overview on the chip
- STM32MP157 reference manual provides information for driver writing
- stm32mpu wiki has a large amount of documentation for all levels of development
Board documentation:
- STM32MP157F-DK2 web page is again the first resource for board documentation
- STM32MP157 discovery kits data brief is a good quick overview
- STM32MP157 discovery kits user manual has everything you need to know about the board
- stm32mpu wiki Category:STM32MP15 Discovery kits re-iterates some of user manual in wiki format
- stm32mpu wiki STM32MP157x-DK2 Getting started book is a good guide for getting set up
- STM32MP157F-DK2 CAD resources has schematics and PCB files
Chip documentation:
- STPMIC1 data brief
- STPMIC1 datasheet
- CS42L51 web page
- CS42L51 datasheet
- Sil9022 datasheet
- MT41K256M16 web page
- MT41K256M16 datasheet
- RTL8211F web page
- RTL8211F datasheet ("confidential")
- LBEE5KL1DX web page
- LBEE5KL1DX data sheet
- ST-LINK/V2 web page
- ST-LINK/V2 data brief
Software
ST's provides STM32CubeMP1 as this board's support package. It contains:
Most of this is open source and the forks are being mainlined to the parent projects.
ST-Link can be used by the following software:
- GNU Screen or any terminal emulator for serial connections
- OpenOCD for JTAG
Bugs
Bugs we've found when porting the board to Buildroot:
- You need to probe the snd_soc_cs42l51_i2c module manually to get audio running
- The Wi-Fi uses a Broadcom chipset which can be a little buggy sometimes
Raspberry Pi 40-pin pinout
The STM32MP157F-DK2 provides a connector compatible with the Raspberry Pi 40-pin pinout. Here's a quick reference of the various pins groups:
Power pins:
- 3V3 on pins 1 and 17
- 5V on pins 2 and 4
Ground pins:
- GND on pins 6, 9, 14, 20, 25, 30, 34, 39
I2C pins:
- I2C5 SDA on pin 3 (STM32 pin PA12)
- I2C5 SCL on pin 5 (STM32 pin PA11)
- I2C1 SDA on pin 27 (STM32 pin PA15)
- I2C1 SCL on pin 28 (STM32 pin PD12)
MCO pins:
- MCO1 on pin 7 (STM32 pin PA8)
- MCO2 on pin 29 (STM32 pin PG2)
UART pins:
- UART3 TX on pin 8 (STM32 pin PB10)
- UART3 RX on pin 9 (STM32 pin PB12)
- UART3 RTS on pin 11 (STM32 pin PG8)
- UART3 CTS on pin 36 (STM32 pin PB13)
SAI pins:
- SAI2 SCKA on pin 12 (STM32 pin PI5)
- SAI2 FSA on pin 35 (STM32 pin PI7)
- SAI2 SDA on pin 38 (STM32 pin PI6)
- SAI2 SDB on pin 40 (STM32 pin PF11)
SDMMC pins:
- SDMMC3 CK on pin 15 (STM32 pin PG15)
- SDMMC3 CMD on pin 16 (STM32 pin PF0)
- SDMMC3 D0 on pin 18 (STM32 pin PF0)
- SDMMC3 D1 on pin 22 (STM32 pin PF4)
- SDMMC3 D2 on pin 37 (STM32 pin PF5)
- SDMMC3 D3 on pin 13 (STM32 pin PD7)
SPI pins:
- SPI5 MOSI on pin 19 (STM32 pin PF9)
- SPI5 MISO on pin 21 (STM32 pin PF8)
- SPI5 SCK on pin 23 (STM32 pin PF7)
- SPI5 NSS on pin 24 (STM32 pin PF6)
- Chip select GPIO on pin 26 (STM32 pin PF3)
Timer pins:
- TIM5 CH2 on pin 31 (STM32 pin PH11)
- TIM4 CH2 on pin 32 (STM32 pin PD13)
- TIM3 CH2 on pin 33 (STM32 pin PC7)
Compatibility notes:
- I2C5 is I2C1 on the Raspberry Pi
- I2C1 is IC20 on the Raspberry Pi
- MCO1 is GPCLK0 on the Raspberry Pi
- MCO2 is GPCLK1 on the Raspberry Pi
- UART3 is UART0 on the Raspberry Pi
- SAI2 is PCM on the Raspberry Pi
- SDMMC3 is SD0 on the Raspberry Pi
- SPI5 is SPI0 on the Raspberry Pi
- SPI5 NSS is SPI0 CE 0 on the Raspberry Pi
- Chip select GPIO is CE 1 on the Raspberry Pi
- TIM4 CH2 is PWM0 on the Raspberry Pi
- TIM3 CH2 is PWM1 on the Raspberry Pi
- SAI2 pins are only usable as GPIO unless you desolder some bridges (see the user manual)