Bootloader-interface.txt 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. Interface between kernel and boot loaders on Exynos boards
  2. ==========================================================
  3. Author: Krzysztof Kozlowski
  4. Date : 6 June 2015
  5. The document tries to describe currently used interface between Linux kernel
  6. and boot loaders on Samsung Exynos based boards. This is not a definition
  7. of interface but rather a description of existing state, a reference
  8. for information purpose only.
  9. In the document "boot loader" means any of following: U-boot, proprietary
  10. SBOOT or any other firmware for ARMv7 and ARMv8 initializing the board before
  11. executing kernel.
  12. 1. Non-Secure mode
  13. Address: sysram_ns_base_addr
  14. Offset Value Purpose
  15. =============================================================================
  16. 0x08 exynos_cpu_resume_ns, mcpm_entry_point System suspend
  17. 0x0c 0x00000bad (Magic cookie) System suspend
  18. 0x1c exynos4_secondary_startup Secondary CPU boot
  19. 0x1c + 4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot
  20. 0x20 0xfcba0d10 (Magic cookie) AFTR
  21. 0x24 exynos_cpu_resume_ns AFTR
  22. 0x28 + 4*cpu 0x8 (Magic cookie, Exynos3250) AFTR
  23. 2. Secure mode
  24. Address: sysram_base_addr
  25. Offset Value Purpose
  26. =============================================================================
  27. 0x00 exynos4_secondary_startup Secondary CPU boot
  28. 0x04 exynos4_secondary_startup (Exynos542x) Secondary CPU boot
  29. 4*cpu exynos4_secondary_startup (Exynos4412) Secondary CPU boot
  30. 0x20 exynos_cpu_resume (Exynos4210 r1.0) AFTR
  31. 0x24 0xfcba0d10 (Magic cookie, Exynos4210 r1.0) AFTR
  32. Address: pmu_base_addr
  33. Offset Value Purpose
  34. =============================================================================
  35. 0x0800 exynos_cpu_resume AFTR, suspend
  36. 0x0800 mcpm_entry_point (Exynos542x with MCPM) AFTR, suspend
  37. 0x0804 0xfcba0d10 (Magic cookie) AFTR
  38. 0x0804 0x00000bad (Magic cookie) System suspend
  39. 0x0814 exynos4_secondary_startup (Exynos4210 r1.1) Secondary CPU boot
  40. 0x0818 0xfcba0d10 (Magic cookie, Exynos4210 r1.1) AFTR
  41. 0x081C exynos_cpu_resume (Exynos4210 r1.1) AFTR
  42. 3. Other (regardless of secure/non-secure mode)
  43. Address: pmu_base_addr
  44. Offset Value Purpose
  45. =============================================================================
  46. 0x0908 Non-zero Secondary CPU boot up indicator
  47. on Exynos3250 and Exynos542x
  48. 4. Glossary
  49. AFTR - ARM Off Top Running, a low power mode, Cortex cores and many other
  50. modules are power gated, except the TOP modules
  51. MCPM - Multi-Cluster Power Management