Skip to content

Conversation

@Dat-NguyenDuy
Copy link
Contributor

@Dat-NguyenDuy Dat-NguyenDuy commented Nov 8, 2024

This PR adds support to execute code from code RAM through AXIF (a read-only bus interface)

Fixes #60217

Use Zephyr cache API to initialize cache as done for
various platforms. Enabling CACHE_MANAGEMENT by default

Signed-off-by: Dat Nguyen Duy <[email protected]>
@zephyrbot zephyrbot added the area: DMA Direct Memory Access label Nov 8, 2024
@zephyrbot zephyrbot requested a review from teburd November 8, 2024 07:19
On Arm Cortex R52, cache segregation policy controls the
number of L1 I/D cache ways that are allocated to Flash
and AXIM interface. Adding Kconfig options for configuring
it.

Writing to IMP_CSCTRL is only permitted before the caches
have been enabled, following a system reset.

Signed-off-by: Dat Nguyen Duy <[email protected]>
Add devicetree node for code RAM, code RAM can be accessed
over AIXM bus or AXIF bus. Code access via AXIF interface
provides the best optimal performance

Signed-off-by: Dat Nguyen Duy <[email protected]>
- Trace32 runner: no need to configure TE bit in CFG_CORE
register in the cmm start-up script, it can be configured
at Zephyr start-up code when required (via SCTRL register)

- MPU static regions also needs to be updated for XIP and
non-XIP

Signed-off-by: Dat Nguyen Duy <[email protected]>
@manuargue manuargue dismissed their stale review November 8, 2024 10:15

SoC changes LGTM, I'll let others review the Arm changes and approve after


chosen {
zephyr,sram = &sram1;
zephyr,console = &uart0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is dropping the console here intended ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if the change is unrelated to this pr then consider doing it in a separate pr

Copy link
Contributor

@ithinuel ithinuel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes to the arch/arm parts look good to me.
The rest seems fine too.

@nashif nashif merged commit e4539aa into zephyrproject-rtos:main Nov 26, 2024
36 checks passed
@manuargue manuargue deleted the s32ze-code-ram branch November 27, 2024 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Architectures area: ARM ARM (32-bit) Architecture area: DMA Direct Memory Access platform: NXP S32 NXP Semiconductors, S32

Projects

None yet

Development

Successfully merging this pull request may close these issues.

S32Z270DC2 defined SRAM region too small for almost all workloads

5 participants