Interface between kernel and boot loaders on Exynos boards¶
Author: Krzysztof Kozlowski
Date : 6 June 2015
The document tries to describe currently used interface between Linux kernel and boot loaders on Samsung Exynos based boards. This is not a definition of interface but rather a description of existing state, a reference for information purpose only.
In the document “boot loader” means any of following: U-boot, proprietary SBOOT or any other firmware for ARMv7 and ARMv8 initializing the board before executing kernel.
Non-Secure mode
Address: sysram_ns_base_addr
Offset |
Value |
Purpose |
---|---|---|
0x08 |
exynos_cpu_resume_ns, mcpm_entry_point |
System suspend |
0x0c |
0x00000bad (Magic cookie) |
System suspend |
0x1c |
exynos4_secondary_startup |
Secondary CPU boot |
0x1c + 4*cpu |
exynos4_secondary_startup (Exynos4412) |
Secondary CPU boot |
0x20 |
0xfcba0d10 (Magic cookie) |
AFTR |
0x24 |
exynos_cpu_resume_ns |
AFTR |
0x28 + 4*cpu |
0x8 (Magic cookie, Exynos3250) |
AFTR |
0x28 |
0x0 or last value during resume (Exynos542x) |
System suspend |
Secure mode
Address: sysram_base_addr
Offset |
Value |
Purpose |
---|---|---|
0x00 |
exynos4_secondary_startup |
Secondary CPU boot |
0x04 |
exynos4_secondary_startup (Exynos542x) |
Secondary CPU boot |
4*cpu |
exynos4_secondary_startup (Exynos4412) |
Secondary CPU boot |
0x20 |
exynos_cpu_resume (Exynos4210 r1.0) |
AFTR |
0x24 |
0xfcba0d10 (Magic cookie, Exynos4210 r1.0) |
AFTR |
Address: pmu_base_addr
Offset |
Value |
Purpose |
---|---|---|
0x0800 |
exynos_cpu_resume |
AFTR, suspend |
0x0800 |
mcpm_entry_point (Exynos542x with MCPM) |
AFTR, suspend |
0x0804 |
0xfcba0d10 (Magic cookie) |
AFTR |
0x0804 |
0x00000bad (Magic cookie) |
System suspend |
0x0814 |
exynos4_secondary_startup (Exynos4210 r1.1) |
Secondary CPU boot |
0x0818 |
0xfcba0d10 (Magic cookie, Exynos4210 r1.1) |
AFTR |
0x081C |
exynos_cpu_resume (Exynos4210 r1.1) |
AFTR |
Other (regardless of secure/non-secure mode)
Address: pmu_base_addr
Offset |
Value |
Purpose |
---|---|---|
0x0908 |
Non-zero |
Secondary CPU boot up indicator on Exynos3250 and Exynos542x |
Glossary
AFTR - ARM Off Top Running, a low power mode, Cortex cores and many other modules are power gated, except the TOP modules MCPM - Multi-Cluster Power Management