Exynos 板上核心與引導載入程式之間的介面

作者:Krzysztof Kozlowski

日期:2015 年 6 月 6 日

本文件試圖描述三星 Exynos 板上 Linux 核心與引導載入程式之間當前使用的介面。這並非介面的定義,而只是對現有狀態的描述,僅供參考。

在本文件中,“引導載入程式”指以下任何一種:U-boot、專有 SBOOT 或任何其他用於在執行核心之前初始化開發板的 ARMv7 和 ARMv8 韌體。

  1. 非安全模式

地址: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)

系統掛起

  1. 安全模式

地址: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

  1. 其他(無論安全/非安全模式)

地址:pmu_base_addr

偏移量

目的

0x0908

非零

Exynos3250 和 Exynos542x 上的輔助 CPU 啟動指示器

  1. 詞彙表

AFTR - ARM Off Top Running,一種低功耗模式,Cortex 核心和許多其他模組都被斷電,但 TOP 模組除外。 MCPM - 多叢集電源管理