STM32MP1 – SYSCFG
システム設定コントローラ

2.0 版

こんにちは、STM32MP1 シリーズのシステム設定コントローラのプレゼンテーションへようこそ。

1概要2• STM32MP1 シリーズのマイクロプロセッサは一連の設定レジスタを備えています。
システム設定コントローラの主な目的は次の通りです。
• DDRCTRL へアクセスするのに使用される AXI マスタデータパスの選択• Ethernet PHY インタフェースの選択• BOOTピンの管理• I/O 補正セルの管理• タイマブレーク安全機能の有効化• I2C 高速モードプラス 20mA 高駆動の有効化／無効化• SPI/SDMMC/ETH/QUADSPI/TRACE 1.8V 高速モードの有効化／無効化

STM32MP1 マイクロプロセッサは一連の設定レジスタを備えています。
システム設定コントローラによって以下の機能にアクセスできるようになります。
• AXI マスタの DDR コントローラへのデータパスの選択• Ethernet PHY インタフェースの選択• I/O 補正の管理• I²C 高速モードプラスに使用される 20mA 高駆動 I/O の設定• SPI、SDMMC、Ethernet、Quad-SPI、およびトレースに使用される高速 1.8V I/O の設定

2

AXI マスタデータパス

3

性能の向上
• 各マスタ（Cortex®-A7 CPU は除く）は DDRCTRL のポート 1 またはポート 2 のいずれかを使用できます。

From MCU
interconnect

M0

USBH

M1

M2

ETH

CPUSDMMC
1SDMMC
2

MDMA

GPU*

LTDC

DBG

M3

M4

M5

M6

M7

M8

M9

M10
MPU_AXI_DDR1

MPU_AXI_DDR2

DDRCTRL（*）使用可否は STM32MP15 デバイスに依存するシステムの設定によって、マスタ間の帯域幅のバランスを制御できます。たとえば、DDR メモリの帯域幅を最大限に活用するための低遅延のマスタ（例：プロセッサ）と高帯域幅のマスタ（例：グラフィックプロセッサや USB ホスト）です。両方の DDR ポートは同じ物理マッピングアドレスを使用しています。そのため、ソフトウェアを更新する必要がなく、実行中に変更を行って、さまざまなユースケースに動的に適応させることができます。

Ethernet PHY4

• PHY タイプの制御• GMII*、RGMII*、MII、RMII をサポート• ETH がリセット中で、かつ いずれの ETH クロックも有効にする前に選択する必要があります• Ethernet リファレンスクロックの制御• 外部 Ethernet PHY に応じて、ETH_CLK1 ピンにはさまざまな用途があります。
• GMII* および RGMII*：PG5* は、PHY からの 125MHz または内部 125MHz クロックを受信するために使用できます。
• RMII：50MHz の ETH_CLK は PA1 に出力でき、また ETH REF_CLK でも使用できます。
• すべてのモード：ETH_CLK は 25MHz PHY リ
ファレンスクロックに使用できます（PA1、PB5、または PG8）。
• ETH がリセット中で、かつ いずれの ETH クロックも有効にする前に選択する必要があります。
（*）使用可否は STM32MP15 デバイスに依存するシステム設定コントローラによって、使用する外部 Ethernet 物理インタフェースを静的に設定できます。サポートされているギガビット物理インタフェースは、GMII または RGMII であり、外部物理インターフェースからの 125MHz を使用する場合と使用しない場合があります。10 または 100Mbit/s の MII および RMII 物
理インタフェースもサポートされています。RCC からのETH_CLK を使用して、外部物理インタフェースのリファレンスクロック（通常は 25MHz）を供給するので、水晶振動子を節約できます。

4

BOOT ピン5

• BOOT ピンは、開始コードのソースを制御するために使用されます。
• BOOT[2:0] は、初期化中に BOOTROM コードによってサンプリングされます。
• SYSCFG レジスタで利用可能で、必要に応じてアプリケーションで読み取ることもできます。

• 可能な BOOT 設定：• SDMMC1 上の SD カードインターフェース（外部レベル変換器付きまたはなし）• SDMMC2 上の eMMC 4 または 8bit
• QUADSPI 上のシリアル NOR-Flash• QUADSPI 上のシリアル NAND-Flash• FMC 上のパラレル NAND-Flash 8 または 16bit• シリアル（USART2/3/6 および UART4/5/7/8）• 内蔵 PHY 経由の USB ハイスピードデバイス（OTG）• デフォルトのインタフェースピン（SDMMC、QUADSPI 用）およびインタフェースインスタンス（SDMMC 用）は、OTP ヒューズ設定で上書きできます。
• BOOT ピンの選択は、OTP ヒューズによって上書きできますが、1 つのプッシュボタンまたはストラップでシリアル／USB を介したレスキューモードを保持しています（例：アフターサービス）

BOOT ピンの値は、ブートフェーズ中はラッチされます。リセット
前に必要なブートモードを選択するように BOOT ピンを設定するのはユーザの責任です。
BOOT ピンは、デバイスが STANDBY モードを終了するときにも再度サンプリングされます。したがって、これらのピンはデバイスが STANDBY モードのときでも必要なブートモード設定に保たれる必要があります。
STOP モードまたは RUN モード中は、BOOT ピンの内蔵プルダウンを無効にして、電力を節約できます。プルダウンは、STANDBY モード中は自動的に無効になり、STANDBY モードの終了時に再び有効になります。

5

BOOT ピン6

• BOOT ピンのスマートな処理により、次のような柔軟なブートシナリオが可能になります。
• SD カードから初期ブートし、その後、eMMC/NOR/NAND Flash メモリにプログラムする• シリアル/USB ポートからレスキューブート
• 事前プログラムされた Flash メモリ• Flash をプログラムするために USB からブート• デバッグ

VDD

VDD

VDD

VDD

VDD

VDD

BOOT2

BOOT2

BOOT2

BOOT2

BOOT2

BOOT2

BOOT1

BOOT1

BOOT1

BOOT1

BOOT1

BOOT1

BOOT0

BOOT0

BOOT0

BOOT0

BOOT0

BOOT0Serial NOR-FlasheMMC

NAND-Flash

SD-CardSerial/USB

Serial NAND-FlashInitial Boot Source (valid if OTP is not set)In blue, optional connection to force Serial or USB boot (if not disabled by OTP settings)

BOOT ピンの詳細については、アプリケーションノート AN5031（Getting started with STM32MP1 Series hardwaredevelopment）およびリファレンスマニュアルを参照してください。

6

IO 補正7• I/O 電圧と温度変動の自動補正• デフォルトでは未使用。50MHz を超える VDD I/O の周波数に使用する必要があります。
• IC プロセスのばらつきは、生産中に OTP ヒューズを設定することにより補正されます。

どんな条件でも最高の電気的特性を実現するために、電圧または温度が変化したとき、IO 補正によって I/O の特性が自動的に調整されます。50MHz を超える VDD I/O の周波数にのみ必要です。

7

制御タイマブレーク

8

安全性• 制御タイマブレークレジスタの安全機能• PVD 割込みを TIM1/8/15/16/17 のブレーク入力に接続し、PVD の有効化と閾値をロックする
PVD ロック• Cortex M4 LOCKUP 出力を TIM1/8/15/16/17 ブレーク入力に接続する CLL ロック• 障害またはスーパーバイザコールが -1 以上の優先度で発生した場合、Cortex-M4 はロックアップ状態になります。

• アプリケーションの問題が検出された場合は、タイマをアプリケーション安全状態にします。
• 電源電圧検出器イベント• CORTEX-M4 LOCKUP 状態

制御タイマブレークレジスタには、安全性と堅牢性に関連する制御ビットが含まれています。2 つの制御ビットは、特定のエラー検出イベントをタイマのブレーク入力に誘導します。これにより、アプリケーションのクラッシュ時にタイマ出力を既知の状態にすることができます。いったんプログラムされると、接続は次のシステムリセットまでロックされます。これらの内部イベントは、電源電圧検出器イベントと Cortex-M4 LOCKUP 状態です。

8

SYSCFG のその他の機能

9• ペリフェラルモードでの設定レジスタ• I2C I/O 高速モードプラス 20mA 駆動の有効化• 高駆動は、AFMUX で I2C 用に選択されたパッドでのみ有効になります。

• A/D コンバータへの直接入力とアナログ性能の制御• VDDA が 2.7V 未満の場合の A/D コンバータ性能を改善します。

• I/O 制御レジスタ• I/O 電圧が 2.5V 未満のとき、特定のインタフェースでフルスピードを実現• SPI、SDMMC、ETH、QUADSPI、TRACE• インタフェースの種類ごとに 1bit ずつあり、AFMUX で選択したインタフェースに使用されるパッドにのみ影響します。
• 電圧を 2.7V より高く設定するとチップが損傷する可能性があるため、この機能は OTP ヒューズ（product_below_2V5）でグローバルに有効にする必要があります。

システム設定コントローラによって、I2C I/O 高速モードプラス
20mA 駆動イネーブル制御ビットが管理されます。このモードは、AFMUX で I2C 用に選択されたパッドでのみ有効にされます。
アナログ電源が 2.7V 未満の場合に A/D コンバータ性能を改善するためのコントロールもあります。
システム設定コントローラは、電圧が 2.5V 未満のときに特定の高速 I/O 制御も管理します。この制御は、SPI、SDMMC、ETH、QUADSPI インタフェースおよび TRACE ピンで使用できます。
このモードは、AFMUX で選択されたパッドでのみ有効です。
警告：電圧が 2.7V を超えているときにこの機能を使用すると、チップが損傷する可能性があります。望ましくないプログラミングを回避するために、グローバル有効ヒューズが OTP として提供されており、2.5V 未満の I/O 電圧を使用すると予想されるプラットフォームに対してのみ設定する必要があります。

9

STM32MP1 シリーズのブートローダ

10• ブートローダは、以下のシリアル／USB インタフェースをサポートしています。
• USART2（PA3/PA2）• USART3（PB12/PB10）• USART6（PC7/PC6）• UART4（PB2/PG11）• UART5（PB5/PB13）• UART7（PF6/PF7）• UART8（PE0/PE1）• デバイスモードでの OTG ハイスピード（USB_DP2/USB_DM2）• HSE 水晶クロックまたは外部クロックが必要（デフォルトは 24MHz）

オンチップブートローダを使用すると、シリアル通信ペリフェラルを介して Flash メモリをプログラムしたり、OTP ヒューズを設定したりできます。サポートされているプロトコルは USART と USBです。
大容量の外部メモリには USB をお勧めします。
注USB ブートは、デフォルトとして 24MHz の HSE の外部水晶発振器の特定の値で動作します。 25 および 26MHz でも、専用のOTP ヒューズ設定によって使用できます。
HSE 自動検出用の OTP 設定では、USB ブートに 8、10、12、14、16、20、24、28、32、36、40、48MHz が使用できます。
USART/UART では、自動ボーレート検出機能付きの内部 HSIオシレータを使用します。

ブートフェーズ中に USB ポートが使用されない場合は、8〜48MHz の HSE 周波数に制限はありません（任意の HSE 周波数を使ってアプリケーションで使用できます）。
10

関連ペリフェラル

11• このペリフェラルに関連している下記のトレーニングを参照してください。
• リセットおよびクロック制御（RCC）• 電源コントローラ（PWR）• タイマ（TIM）• Ethernet（ETH）• I²C（Inter-integrated circuit）

このトレーニングに加えて、リセットおよびクロック制御、電源コン
トローラ、タイマ、Ethernet、I²C のトレーニングも参考にできます。

11