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