Skip to content

Commit c80b5e4

Browse files
committed
docs/system/arm: expand S32K5 machine documentation
Document the implemented S32K566 Cortex-R52 machine memory map, boot command, UART console wiring, and current firmware/Linux limitations. Signed-off-by: Chao Liu <chao.liu@processmission.com>
1 parent cf2c24a commit c80b5e4

1 file changed

Lines changed: 52 additions & 2 deletions

File tree

docs/system/arm/s32k5.rst

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
NXP S32K5 board (``s32k566-cvb-r52``)
44
=====================================
55

6+
Overview
7+
--------
8+
69
The ``s32k566-cvb-r52`` machine models the Cortex-R52 side of the NXP
710
S32K5XXCVB evaluation board with an S32K566 SoC. It is a minimal board model
811
intended for RTOS boot smoke tests, including Zephyr images built for the
@@ -11,6 +14,7 @@ intended for RTOS boot smoke tests, including Zephyr images built for the
1114
The model does not aim to provide complete S32K5 automotive SoC coverage. It
1215
implements the CPU, memory, interrupt controller, LPUART console, and the small
1316
Mode Entry (MC_ME) register subset needed by the verified Zephyr startup flow.
17+
It should not be used as a compatibility promise for other S32K5 firmware.
1418

1519
Supported devices
1620
-----------------
@@ -29,11 +33,51 @@ The MC_ME model covers the partition and mode update handshake used during
2933
Zephyr SoC initialization. The LPUART model covers the polling console path
3034
used by Zephyr's MCUX LPUART driver.
3135

36+
Memory map
37+
----------
38+
39+
The machine exposes the following implemented regions:
40+
41+
.. list-table::
42+
:header-rows: 1
43+
44+
* - Address
45+
- Size
46+
- Description
47+
* - ``0x08000000``
48+
- ``32 MiB + 0x100``
49+
- Code MRAM, used as the direct kernel loader address
50+
* - ``0x21000000``
51+
- ``512 KiB``
52+
- Shared SRAM0
53+
* - ``0x21080000``
54+
- ``512 KiB``
55+
- Shared SRAM1
56+
* - ``0x21100000``
57+
- ``512 KiB``
58+
- Shared SRAM2
59+
* - ``0x22000000``
60+
- ``1 MiB`` by default
61+
- CPE SRAM, backed by the machine RAM property
62+
* - ``0x400e0000``
63+
- ``0x4000``
64+
- LPUART0
65+
* - ``0x40498000``
66+
- ``0x4000``
67+
- MC_ME
68+
* - ``0x43000000``
69+
- device-defined
70+
- GICv3 distributor
71+
* - ``0x43100000``
72+
- device-defined
73+
- GICv3 redistributor region
74+
3275
Boot options
3376
------------
3477

3578
Use ``-kernel`` to load an ELF image built for the S32K566 Cortex-R52 memory
36-
map. The loader start address is ``0x08000000``.
79+
map. The loader start address is ``0x08000000``. The default and only
80+
supported CPU type is ``cortex-r52``, so the ``-cpu`` option is optional.
3781

3882
For example, a Zephyr ``hello_world`` image with UART console enabled can be
3983
started with:
@@ -54,6 +98,10 @@ LPUART0 as ``zephyr,console``. The upstream board defconfig may leave the
5498
console disabled; in that case the image can still boot, but no UART output is
5599
expected.
56100

101+
The machine has no firmware loader, flash programmer, SD/eMMC controller, or
102+
network device. Boot media such as U-Boot images, SD card images, and Linux
103+
distribution images are therefore not supported by this machine.
104+
57105
Known limitations
58106
-----------------
59107

@@ -68,7 +116,9 @@ particular, the following areas are not complete hardware models:
68116
* flash programming, reset management, and low-power modes.
69117

70118
The current model is suitable for direct RTOS image loading. It does not
71-
implement a firmware boot flow or a general-purpose Linux platform.
119+
implement a firmware boot flow or a general-purpose Linux platform. The
120+
S32K566 side modeled here is an Arm Cortex-R52 real-time core, not an
121+
A-profile Linux board model.
72122

73123
Running tests
74124
-------------

0 commit comments

Comments
 (0)