-
Notifications
You must be signed in to change notification settings - Fork 9k
Add generic AM64x/AM243x documentation #107833
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
m-braunschweig
wants to merge
1
commit into
zephyrproject-rtos:main
Choose a base branch
from
siemens:mika/upstream/unified-am64x-documentation
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+340
−194
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| .. | ||
| SPDX-FileCopyrightText: Copyright The Zephyr Project Contributors | ||
| SPDX-FileCopyrightText: Copyright 2025 - 2026 Siemens Mobility GmbH | ||
| SPDX-FileCopyrightText: Copyright 2025 Texas Instruments | ||
| SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| :orphan: | ||
|
|
||
| .. ti-k3-am64x-am243x-bootmodes | ||
|
|
||
| The AM64x/AM243x bootflow | ||
| ------------------------- | ||
|
|
||
| The AM64x/AM243x SoC series has it's own bootflow due to supporting secure boot. | ||
| After powering on the SoC an immutable bootloader in ROM (called RBL) is | ||
| executed on R5F0_0. Based on the MCU+ SDK from Texas Instruments then a Second | ||
| Stage Bootloader (called SBL) should be executed which then boots the final | ||
| Zephyr firmware. The RBL can get it's image from various sources, such as | ||
| external flash or transmitted via UART. An alternative only on AM64x series SoCs | ||
| it to use a premade image from a TI SDK that acts as SBL, starts Linux on the | ||
| Cortex-A and then use remoteproc to load a Zephyr firmware onto another core. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| .. | ||
| SPDX-FileCopyrightText: Copyright The Zephyr Project Contributors | ||
| SPDX-FileCopyrightText: Copyright 2025 - 2026 Siemens Mobility GmbH | ||
| SPDX-FileCopyrightText: Copyright 2025 Texas Instruments | ||
| SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| :orphan: | ||
|
|
||
| .. ti-k3-am64x-am243x-features | ||
|
|
||
| AM64x/AM243x features | ||
| ===================== | ||
|
|
||
| The AM64x / AM243x is a SoC series that supports up to 2 Cortex-A53 cores (only | ||
| in AM64x SoCs) running with typically 1 GHz, up to 4 Cortex-R5F cores running | ||
| with typically 800 MHz and one Cortex-M4F core running with typically 400 MHz. | ||
| Inside Zephyr code both series are referenced as AM64x since they only differ in | ||
| whether Cortex-A cores are present. If you use an AM243x series SoC everything | ||
| related to Cortex-A cores doesn't apply to you. These things are sometimes still | ||
| documented due to shared documentation files. | ||
|
|
||
| The ARM cores and peripherals are separated into the MAIN and MCU domain whereby | ||
| only the ARM Cortex-M4F core is inside the MCU domain. By default both domains | ||
| can interact with each other but it is also possible to isolate both domains. | ||
|
|
||
| A non-exhaustive overview can be found in the following listing. Not all | ||
| peripherals are supported inside Zephyr as of now: | ||
|
|
||
| - Up to 2 ARM Cortex-A53 cores | ||
| - Up to 2 dualcore Cortex-R5F clusters | ||
| - 1x Cortex-M4F | ||
| - 2 MiB internal SRAM | ||
| - GPIO | ||
| - ADC | ||
| - UART | ||
| - SPI | ||
| - I2C | ||
| - Multiple Timers | ||
| - Multiple Watchdogs | ||
| - CAN-FD | ||
| - Ethernet | ||
| - USB | ||
| - PCIe | ||
| - External (LP)DDR4 RAM interface | ||
| - DMSC (centralized power / resource management) | ||
| - Crypto acceleration | ||
| - Secureboot |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The M4 core seems to be missing here.