1 ==========================================================
2 Interface between kernel and boot loaders on Exynos boards
3 ==========================================================
5 Author: Krzysztof Kozlowski
9 The document tries to describe currently used interface between Linux kernel
10 and boot loaders on Samsung Exynos based boards. This is not a definition
11 of interface but rather a description of existing state, a reference
12 for information purpose only.
14 In the document "boot loader" means any of following: U-boot, proprietary
15 SBOOT or any other firmware for ARMv7 and ARMv8 initializing the board before
21 Address: sysram_ns_base_addr
23 ============= ============================================ ==================
25 ============= ============================================ ==================
26 0x08 exynos_cpu_resume_ns, mcpm_entry_point System suspend
27 0x0c 0x00000bad (Magic cookie) System suspend
28 0x1c exynos4_secondary_startup Secondary CPU boot
29 0x1c + 4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot
30 0x20 0xfcba0d10 (Magic cookie) AFTR
31 0x24 exynos_cpu_resume_ns AFTR
32 0x28 + 4*cpu 0x8 (Magic cookie, Exynos3250) AFTR
33 0x28 0x0 or last value during resume (Exynos542x) System suspend
34 ============= ============================================ ==================
39 Address: sysram_base_addr
41 ============= ============================================ ==================
43 ============= ============================================ ==================
44 0x00 exynos4_secondary_startup Secondary CPU boot
45 0x04 exynos4_secondary_startup (Exynos542x) Secondary CPU boot
46 4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot
47 0x20 exynos_cpu_resume (Exynos4210 r1.0) AFTR
48 0x24 0xfcba0d10 (Magic cookie, Exynos4210 r1.0) AFTR
49 ============= ============================================ ==================
51 Address: pmu_base_addr
53 ============= ============================================ ==================
55 ============= ============================================ ==================
56 0x0800 exynos_cpu_resume AFTR, suspend
57 0x0800 mcpm_entry_point (Exynos542x with MCPM) AFTR, suspend
58 0x0804 0xfcba0d10 (Magic cookie) AFTR
59 0x0804 0x00000bad (Magic cookie) System suspend
60 0x0814 exynos4_secondary_startup (Exynos4210 r1.1) Secondary CPU boot
61 0x0818 0xfcba0d10 (Magic cookie, Exynos4210 r1.1) AFTR
62 0x081C exynos_cpu_resume (Exynos4210 r1.1) AFTR
63 ============= ============================================ ==================
65 3. Other (regardless of secure/non-secure mode)
67 Address: pmu_base_addr
69 ============= =============================== ===============================
71 ============= =============================== ===============================
72 0x0908 Non-zero Secondary CPU boot up indicator
73 on Exynos3250 and Exynos542x
74 ============= =============================== ===============================
79 AFTR - ARM Off Top Running, a low power mode, Cortex cores and many other
80 modules are power gated, except the TOP modules
81 MCPM - Multi-Cluster Power Management