6AM Resource Allocation

Resource allocation summary for standard 6AM.x releases (Kernel 4.4 + Android Marshmallow). Most of below points could also be inferred from Kernel dts files.

Memory Reservations
Following table summarizes the memory carveouts in 6AM.x release

OCMC Usage
For HS devices following region in OCMC is reserved for secure world use

Timers
Following timers are used in 6AM.x release


 * Timer 1 - Used by Kernel
 * Timer 3 - IPU2 OS tick
 * Timer 4 - IPU2 watchdog
 * Timer 5 - DSP1 OS tick
 * Timer 6 - DSP2 OS tick
 * Timer 7 - IPU1 watchdog
 * Timer 8 - IPU1 watchdog
 * Timer 9 - IPU2 watchdog
 * Timer 10 - DSP1 watchdog
 * Timer 11 - IPU1 OS tick

McASP
Following McASPs are used in standard 6AM.x release


 * McASP2 - DSP interface to tuner
 * McASP3 - ARM audio
 * McASP6 - DSP audio
 * McASP8 - Not used as McASP, but instead as GIO for HDMI use case.

MailBox

 * IPC uses mailbox 5 and 6 for communication between A15 and remote cores.
 * IPC uses mailbox 7 and 8 for communication between remote cores.

HWSpinLock
Hwspinlocks 1 to 20 are used for GateMP use case (Radio)

RVC resource allocations
This section highlights the changes that Robust RVC (Rear View Camera) package adds on top of standard 6AM.x release

Memory changes
Memory carveout differences highlighted here

Timer
The timer usage is same as mentioned in section, except that in RVC case timer 11 is also used for IPU2 and a new timer must be selected for IPU1.