STM32MP157F-DK2: Difference between revisions

From JookWiki
(→‎Pinouts: Add pinout)
(Add datasheets and stuff for LCD)
 
(4 intermediate revisions by the same user not shown)
Line 8: Line 8:
== Specifications ==
== Specifications ==
Core details:
Core details:
*32-bit Dual Core Cortex-A7 800MHz ARM chip
*32-bit Dual Core Cortex-A7 800MHz main processor
*32-bit Cortex-M4 coprocessor
*32-bit Cortex-M4 coprocessor
*512MiB DDR3 RAM
*512MiB DDR3 RAM
Line 55: Line 55:


* [https://www.st.com/en/evaluation-tools/stm32mp157f-dk2.html#cad-resources STM32MP157F-DK2 CAD resources] has schematics and PCB files
* [https://www.st.com/en/evaluation-tools/stm32mp157f-dk2.html#cad-resources STM32MP157F-DK2 CAD resources] has schematics and PCB files
LCD documentation:
* Screen is FRD397B2509 TFT LCD
* Driver is OTM8009A
* Touch controller is FT6236
Chip documentation:
Chip documentation:


Line 70: Line 76:
* [https://www.st.com/en/development-tools/st-link-v2.html ST-LINK/V2 web page]
* [https://www.st.com/en/development-tools/st-link-v2.html ST-LINK/V2 web page]
* [https://www.st.com/resource/en/data_brief/st-link-slsh-v2.pdf ST-LINK/V2 data brief]
* [https://www.st.com/resource/en/data_brief/st-link-slsh-v2.pdf ST-LINK/V2 data brief]
*[https://www.orientdisplay.com/pdf/OTM8009A.pdf OTM8009A datasheet] ("confidential")
*[https://focuslcds.com/content/FT6236.pdf FT6236 datasheet] ("confidential")


*
*
Line 96: Line 104:
*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 ==
== Pinouts ==
The STM32MP157F-DK2 provides a connector compatible with the Raspberry Pi 40-pin pinout. Here's a quick reference of the various pins groups:
See the [[STM32MP157F-DK2/40 pin pinout]] page for a textual description of the Pi header.
 
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)

Latest revision as of 13:16, 31 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[edit | edit source]

Core details:

  • 32-bit Dual Core Cortex-A7 800MHz main processor
  • 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[edit | edit source]

System on chip documentation:

Board documentation:

LCD documentation:

  • Screen is FRD397B2509 TFT LCD
  • Driver is OTM8009A
  • Touch controller is FT6236

Chip documentation:

Software[edit | edit source]

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[edit | edit source]

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

Pinouts[edit | edit source]

See the STM32MP157F-DK2/40 pin pinout page for a textual description of the Pi header.