12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- 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.
- 1. 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
- 2. 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
- 3. 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
- 4. 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
|