Exynos 板上核心與引導載入程式之間的介面¶
作者:Krzysztof Kozlowski
日期:2015 年 6 月 6 日
本文件試圖描述三星 Exynos 板上 Linux 核心與引導載入程式之間當前使用的介面。這並非介面的定義,而只是對現有狀態的描述,僅供參考。
在本文件中,“引導載入程式”指以下任何一種:U-boot、專有 SBOOT 或任何其他用於在執行核心之前初始化開發板的 ARMv7 和 ARMv8 韌體。
非安全模式
地址:sysram_ns_base_addr
偏移量 |
值 |
目的 |
|---|---|---|
0x08 |
exynos_cpu_resume_ns, mcpm_entry_point |
系統掛起 |
0x0c |
0x00000bad (魔術字) |
系統掛起 |
0x1c |
exynos4_secondary_startup |
輔助 CPU 啟動 |
0x1c + 4*cpu |
exynos4_secondary_startup (Exynos4412) |
輔助 CPU 啟動 |
0x20 |
0xfcba0d10 (魔術字) |
AFTR |
0x24 |
exynos_cpu_resume_ns |
AFTR |
0x28 + 4*cpu |
0x8 (魔術字, Exynos3250) |
AFTR |
0x28 |
0x0 或恢復期間的最後值 (Exynos542x) |
系統掛起 |
安全模式
地址:sysram_base_addr
偏移量 |
值 |
目的 |
|---|---|---|
0x00 |
exynos4_secondary_startup |
輔助 CPU 啟動 |
0x04 |
exynos4_secondary_startup (Exynos542x) |
輔助 CPU 啟動 |
4*cpu |
exynos4_secondary_startup (Exynos4412) |
輔助 CPU 啟動 |
0x20 |
exynos_cpu_resume (Exynos4210 r1.0) |
AFTR |
0x24 |
0xfcba0d10 (魔術字, Exynos4210 r1.0) |
AFTR |
地址:pmu_base_addr
偏移量 |
值 |
目的 |
|---|---|---|
0x0800 |
exynos_cpu_resume |
AFTR, 掛起 |
0x0800 |
mcpm_entry_point (帶有 MCPM 的 Exynos542x) |
AFTR, 掛起 |
0x0804 |
0xfcba0d10 (魔術字) |
AFTR |
0x0804 |
0x00000bad (魔術字) |
系統掛起 |
0x0814 |
exynos4_secondary_startup (Exynos4210 r1.1) |
輔助 CPU 啟動 |
0x0818 |
0xfcba0d10 (魔術字, Exynos4210 r1.1) |
AFTR |
0x081C |
exynos_cpu_resume (Exynos4210 r1.1) |
AFTR |
其他(無論安全/非安全模式)
地址:pmu_base_addr
偏移量 |
值 |
目的 |
|---|---|---|
0x0908 |
非零 |
Exynos3250 和 Exynos542x 上的輔助 CPU 啟動指示器 |
詞彙表
AFTR - ARM Off Top Running,一種低功耗模式,Cortex 核心和許多其他模組都被斷電,但 TOP 模組除外。 MCPM - 多叢集電源管理