OSD32MP15x Schematic Checklist

Published On: August, 27, 2020 By: Eshtaartha Basu | Updated: August 20, 2024 by Greg Sheridan

Introduction

This application note provides a checklist to help users review schematics built around the OSD32MP15x, the STM32MP1x System in Package, Family of Devices. Going through this schematic checklist before or during the schematic design phase will help avoid common pitfalls. This OSD32MP15x schematic checklist targets a generic embedded system and is not exhaustive. Each design is unique, and your custom design may require additional in-depth verification to validate its overall functionality. Octavo Systems offers a Hardware Design Review Service to help with this in-depth verification.

The first section of this document consists of multiple checklists to help you validate each sub-section of your design. The second section (i.e., Appendix) consists of supplemental information to further aid your design validation. To get started, here are the top ten checklist questions and where answers can be found:

ITEMSECTIONSCHEMATIC CHECKLIST TOPIC
12.1Prepared to Check your Power Design?
22.2Adding an Oscillator?
32.2Ready to Reset?
42.3Best Boot Configuration Settings?
Make sure your design can boot properly.
52.4 &
2.6
Planning for Peripheral Success?
Check your USB, I2C, UART, SPI and more in this section.
62.6Prepping for Pinmux?
Leaving off some peripherals? Let’s check your IO in this section.
72.5Enabling eMMC?
Need non-volatile storage? Are meeting the requirements?
82.6Ready to Juggle JTAG?
Check for a properly connected JTAG to be a great debug resource.
92.6Excited about EEPROM?
Let’s check your EEPROM WP pin.
103.5Talk to out Team?
Notice: The information provided within this document is for informational use only. Octavo Systems provides no guarantees or warranty to the information contained.

OSD32MP15x Schematic Checklist

Essential Connections and Power Design

Essential Connections and Power Design Checklist – Mandatory
Topic No.OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Mandatory
PD1Input Power Connections: Choose a power input use case from the Power Input Table based on design requirements and implement mandatory connections
PD2In-Rush Current: The power source connected to a power input must be able to supply the necessary in-rush current: ~0.25A for VIN
PD3External Capacitance: See the Passives Section and the Recommended Capacitors Table of the OSD32MP15x datasheet.
PD4IO Voltage: OSD32MP1 supports both 1.8V and 3.3V I/O (Default: 3.3V I/O). For 1.8V I/O, set output voltage of BUCK3 (which supplies VDD power domain) to 1.8V. In addition, see Figure 31 and 32 of Getting Started with STM32MP1 Hardware Development app note and STPMIC1 Non-Volatile Memory Programming Guide.
PD5Processor – PMIC Connections: All mandatory connections are done within the OSD32MP15x SiP. See section 7.2 of OSD32MP15x datasheet for more info.
PD6VBAT Operation/RTC/backup registers/retention RAM(1): Choose one of the use cases from the VBAT table.
PD7VDD pin connections: Connect all the VDD pins together
PD8VDDA pin connections: PMIC LDO5 output. Can be used to connect to VREF+ for reference voltage if ADC is used; leave it NC otherwise
PD9PMIC_PONKEYN connection (2): Add a test point or a push button on this pin to have the flexibility of generating a manual turn-on condition for STPMIC1 PMIC. See section 5.4.2 of STPMIC1 datasheet.
PD10BYPASS_REG1V8 connection: Connect this pin to GND to enable the VDDA1V8_REG supply.  See section 9.3.11 and PWR_CR3 register in STM32MP15x Reference Manual.
(1) See section 3.25 of STM32MP15x datasheet to learn more about VBAT operation/RTC/backup registers/retention RAM.
(2) PMIC_PONKEYN is active low with internal pull-up.
Essential Connections and Power Design Checklist – Recommended
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Recommended
PD11Power Budget: Create a Power Budget for your design using the OSD32MP15x Power Budgeting Application Note
PD12Test Points: Add a test point on each signal if possible:
Clock Signals: HSE_OSC_TP
Reset/Control Signals: NRST, PA0/PMIC_INTN, PC13/PMIC_WAKEUP,
PWR_ON/PMIC_PWRCTRL, PWR_LP, PDR_ON, PDR_ON_CORE,
NRST_CORE
Internal Power Rails: VDD, VDD_CORE, VDD_DDR, VDD1V2_DSI_REG, VDD3V3_USB,
VDDA1V1_REG, VDDA1V8_REG, VREF_DDR, VTT_DDR
PD13App Notes: Check if recommendations by app notes listed under section 3.3.2 applies to your design

Reset and Clock

Reset and Clock Checklist – Recommended
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Recommended
RC1NRST connections: Add a 10K external pull-up resistor on this pin. Add a stronger pull-up as needed if several devices are on the NRST line.
NSRT is a bidirectional pad allowing reset of external devices or reset of the MP1.
RC2Enable HSE: Add a test point or DNP pull-down resistor footprint on HSE_OSC_OEN pin(1). For low power modes, connect PWR_ON/PMIC_PWRCTRL to HSE_OSC_OEN through an external inverter as shown in the HSE Low Power Connection Example.
RC3LSE (OSC32) Connections: Use one of the example circuits shown in the OD32MP1-RED example or in the OSD32MP1-BRK example.
RC4LSE (OSC32) Unconnected: If no external crystal or oscillator is connected, leave pins PC14-OSC32_IN and PC15-OSC32_OUT floating
(1) The OSD32MP15x integrates a 24MHz oscillator as the HSE clock source. The MEMS Oscillator is enabled by a weak internal pull-down. Hence, add a test point to HSE_OSC_OEN to have the flexibility of external control.

Boot Configuration

Boot Configuration Checklist – Mandatory
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Mandatory
BC1Boot Mode: Make provisions to set appropriate Boot Modes as needed as shown in the Boot Configuration Example. See commonly used Boot Modes in the Boot Modes table. For a more detailed list (UART, NAND, NOR boot etc), see Table 2 of STM32MP15x datasheet.
Default pins used by ROM code for each boot mode can be found in STM32MP15 ROM code overview app note.

 

Boot Configuration Checklist – Recommended
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Recommended
BC2Resistors: Weak internal pull-down resistors are enabled for all BOOT pins by default (1). Externally pull up only those pins that need to be set “1” or “HIGH”. See the Boot Configuration Example.
(1) For BOOT pins that are pulled high, internal pull-downs can be disabled to save power. See SYSCFG_BOOTR register of STM32MP15x Reference Manual.

USB

USB Checklist – Mandatory
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Mandatory
UB1USB Routing: USB_DPx and USB_DMx traces must be length matched between the OSD32MP15x and the USB endpoint or connector with minimal stubs.
See section 10.1.12 of Getting Started with STM32MP1 Hardware Development app note for potential use cases (1) (2)
UB2USB Termination Resistors: There should be no series resistors on USB_DPx and USB_DMx lines. Additionally, do not add any external capacitors to the USB lines.
UB3USB Host Mode Power: Use PMIC_BSTOUT or PMIC_VBUSOTG output rails to power external USB devices in Host Mode. See the Power Input table for more info on how to use/enable these power switches. See Figure 48, 50, 51 and 52 of STPMIC1 datasheet (2)
UB4USB ID Connection: Use pinPA10 as the OTG_HS_ID/OTG_FS_ID pin
USBx_ID pin values:
Host Mode Pulled to Ground
Client Mode Floating
OTG Mode Connected to USB client connectorNote: The OSD32MP1-BRK does not follow this recommendation.  Please follow what has been outlined here.
UB5USB VBUS detection: Connect OTG_VBUS pin to VBUS rail of client/peripheral/OTG USB port via a resistor divider. This analog input pin will detect the presence of a valid Host on the client/peripheral/OTG USB port. OTG_VBUS voltage should be below MIN( VDD, VDD3V3_USBFS + 3.9V). A resistor divider must be used to connect OTG_VBUS to the USB source voltage if the device is being used in peripheral mode in order to limit the voltage on OTG_VBUS to under 3.9V at all times including low power modes. Recommended resistors are 82 kOhm (to GND), 33 kOhm (to VBUS).
UB6USB1 Host Only: The USB1 Port of the can only be configured as an USB Host Port.  Please refer to https://wiki.st.com/stm32mpu/wiki/USBPHYC_internal_peripheral  for more information.
(1) USB_RREF is pulled down with a 3K resistor and VSS_USBHS is already grounded within the OSD32MP15x SiP.
(2) Make sure the current sink from PMIC_BSTOUT, PMIC_VBUSOTG and PMIC_SWOUT rails of OSD32MP15x SiP does not exceed maximum ratings mentioned in Table 8-2 of OSD32MP15x datasheet.

eMMC

eMMC Checklist – Mandatory
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Mandatory
MC1eMMC Pull-up Resistors: Use 10K – 50K pull-up resistors on RST#, CMD, and all DAT signals
eMMC Checklist – Recommended
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Recommended
MC2eMMC Termination Resistors: Include a 22ohm series resistor on MMCx_CLK signals close to the processor to eliminate possible reflections and false clock transitions
MC3eMMC Connections: The STM32MP15x supports the MMC v4.51 interface so only those signals must be connected. Any MMC v5.x signals do not need to be connected.
MC4eMMC Routing: In the eMMC Pinout, the “No Connect” (NC) pins can be routed through but “Reserved for Future Use” (RFU) pins should not be routed through to allow larger trace widths when routing the eMMC
MC5App Notes: Check if any app notes listed under section 3.3.3 applies to your design

Other interfaces

Other Interfaces Checklist – Mandatory
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Mandatory
IO1Pin Mapping: If porting from STM32MP15x design, verify the pin mapping between STM32MP15x and OSD32MP15x using OSD32MP15x Family Pin Assignments app note
IO2Pin Muxing: Verify pin mux settings and avoid pin conflicts using CubeMX Pin Map GUI.
IO3UART Requirements: Implement Null Modem for all UART devices (i.e. TX -> RX; RX -> TX; CTS -> RTS; RTS -> CTS; DTR -> DSR; DSR -> DTR)
IO4SPI Requirements: Each SPI device should have its own Chip Select (CS)
IO5I2C Requirements: All I2C busses must be pulled up (1)
IO6JTAG Requirements: Refer OSD32MP1-BRK or OSD32MP1-RED schematic for recommended JTAG connections (2).
IO7EEPROM Write Protect: Connect EEPROM_WP pin to either an external test point or ground jumper or external control logic. EEPROM_WP needs to be pulled low in order to write to the EEPROM
(1) I2C4 pins have internal 1.5K pull up resistors. However, we recommend adding external pull up resistor footprints for I2C4 if more than two (2) external devices use I2C4 to allow for stronger pull ups.
(2) TC2050-IDC-NL 10-pin cable and TC2050-ARM2010 adapter required to use Tag Connect JTAG interface with ST-Link/v2 or ST-Link v3 external debugger/programmer.
Other Interfaces Checklist – Recommended
Topic No. OSD32MP15xSCHEMATIC CHECKLIST TOPIC – Recommended
IO8Unused IO: Leave unused I/O and unused peripheral pins floating
IO10MII Termination Resistors: Add termination resistor footprints for TX and RX lines of MII/RMII/RGMII interfaces.
IO14App Notes: Check if any app notes listed under section 3.3.4 applies to your design

Appendix

Use Cases

Power Input

Power Input Use Cases
Use CasePower InputsSource ConnectionSink Connection
VINPMIC_
LDO25IN
PMIC_
BSTIN
PMIC_
SWIN
1Connect VIN
Connect PMIC_LDO25IN
Connect PMIC_BSTIN (5)
Connect PMIC_SWIN
to DC Power Supply (4)
to nothing (i.e. leave floating)
to nothing (i.e. leave floating)
to nothing (i.e. leave floating)
2Connect VIN
Connect PMIC_LDO25IN
Connect PMIC_BSTIN (5)
Connect PMIC_SWIN
to DC Power Supply (4)
to nothing (i.e. leave floating)
to VIN (2)(3)
to nothing (i.e. leave floating)
3Connect VIN
Connect PMIC_LDO25IN
Connect PMIC_BSTIN (5)
Connect PMIC_SWIN
to DC Power Supply (4)
to nothing (i.e. leave floating)
to VIN (2)(3)
to VIN (2)(3)
4Connect VIN
Connect PMIC_LDO25IN
Connect PMIC_BSTIN (5)
Connect PMIC_SWIN
to DC Power Supply (4)
to VIN (1)
to nothing (i.e. leave floating)
to nothing (i.e. leave floating)
5Connect VIN
Connect PMIC_LDO25IN
Connect PMIC_BSTIN (5)
Connect PMIC_SWIN
To DC Power Supply (4)
to VIN (1)
to VIN (2)(3)
to nothing (i.e. leave floating)
6Connect VIN
Connect PMIC_LDO25IN
Connect PMIC_BSTIN (5)
Connect PMIC_SWIN
To DC Power Supply (4)
to VIN (1)
to VIN (2)(3)
to VIN (2)(3)
(1) Supply power to PMIC_LDO25IN if LDO2 and/or LDO5 is used in your design. Note: LDO5 supplies power to Analog domain (ADC/DAC/VREFBUF) within the OSD32MP15x SiP.
(2) Boost converter is most useful to supply power to USB sub-system in battery powered designs. For example use cases, see section 4.6, figures 50, 51 and 52 of STPMIC1 datasheet.
(3) Boost converter, PWR_USB_SW and PWR_SW power switches are disabled by default on STPMIC1 power up. They can only be enabled by I2C setting of corresponding BST_ON, VBUSOTG_ON or SWOUT_ON bit in BST_SW_CR register of STPMIC1.
(4) STPMIC1A supports an input voltage range of 2.8V to 5V. However, the default input voltage threshold is 3.5V. To change this to allow lower input voltages, see the STPMIC1 NVM Programming app note.
(5) PMIC_VBUSOTG output rail can be used only when PMIC_BSTIN is powered since STPMIC1A’s PWR_USB_SW power switch is internally sourced by PMIC_BSTOUT.

VBAT

VBAT Use Cases
Use CaseVBAT operationRequired connections
1Not requiredConnect VBAT pin to VDD
2Required – using external battery/super cap (1.2V – 3.6V)Connect VBAT pin directly to external battery/super cap
3Required – using external battery/super cap (>3.6V)Use an external LDO to bring down voltage of battery/super cap within acceptable range (1.2V-3.6V) and then feed it to VBAT pin

Boot Modes

Commonly used Boot Modes
BOOT2BOOT1BOOT0Initial Boot Mode*Comments
101SD-Card on SDMMC1SD boot
010eMMC on SDMMC2eMMC boot
000UART/USBCan be used for flashing SD card using ST’s Cube Programmer
100Debug/Engg Mode/ReservedCan be used to directly program M4 core using JTAG + ST Linkv2/v3 debugger
001Serial NOR FlashSerial NOR Flash on QUADSPI
011NAND FlashSLC NAND Flash on FMC
111Serial NAND FlashSerial NAND Flash on QUADSPI
* Default pins used by ROM code for each boot mode can be found in STM32MP15 ROM code overview app note.

Reference Figures

HSE Low Power Connection Example

HSE Connections for Low Power Modes
HSE Connections for Low Power Modes

 

 

LSE (OSC32) Circuit Examples

LSE (OSC32) connection example from OSD32MP1-RED (VDD_INTRNL = VDD output rail)
LSE (OSC32) connection example from OSD32MP1-RED (VDD_INTRNL = VDD output rail)

 

LSE (OSC32) connection example from OSD32MP1-BRK
LSE (OSC32) connection example from OSD32MP1-BRK

 

Boot Configuration Example

Boot configuration example (VDD_INTRNL = VDD output rail)
Boot configuration example (VDD_INTRNL = VDD output rail)

 

eMMC Pinout

eMMC v5.x pinout
eMMC v5.x pinout

For more details, please see our app note on Designing for Flexibility Around eMMC.

ST App Notes

Power Design

MMC

GPIO and Other Interfaces

* These app notes are not specific to STM32MP157x based OSD32MP15x. Use them as a generic reference only.

References

Contact Us

Please contact us on the forums for assistance with any checklist items or to tell us more things you’d like to see on this list. Our team is ready with more than a good-luck charm to help you with your designs. https://octavosystems.com/forums/

Revision History

Get notified of updates to this Application Note and all of our Technical Documentation.

"*" indicates required fields

Name*
Hidden
Hidden
Hidden

Revision NumberRevision DateChangesAuthor
108/17/2020Initial ReleaseEshtaartha Basu
201/28/2021Multiple Additions for Clarity.Greg Sheridan
308/16/2024Updated UB5 to recommend including a resistor divider to ensure staying under the max voltage ratingNeeraj Dantu