DEH: Move out Watchdog functionality into a separate module

The Watchdog functionality has been separated out from the DEH
module and moved into a separate Watchdog module. The Deh files
will be used only for the exception reporting code that is
specific to each target processor. The new Watchdog module is
currently supported only for OMAP4/OMAP5 devices, but is designed
for scalability.

The patch also includes generic cleanup in terms of code format
and comments.

Signed-off-by: Shahid Akhtar <sakhtar@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
DEH: Enhance Watchdog module to support SMP-mode

The Watchdog module has been modified to support the multicore
SMP-mode. The Watchdog timers for all cores are initalized at
the same time. The WDT for Core0 is same as before. For Core1,
the WDT is stopped during Idle task and restarted when a task
is scheduled on Core1.

The code uses ti.sysbios.hal.Core from SMP/BIOS to determine
which core the code is running on in SMP-mode.

Signed-off-by: Shahid Akhtar <sakhtar@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
DEH: Disallow timer register accesses if watchdog disabled

The Watchdog feature can be enabled or disabled through a build time
configuration on the host-side. The new Watchdog implementation was
allowing transactions on the timer without really checking if the
associated timer is enabled or not. The watchdog timer registers are
accessed during scheduler switches and without checking for the
timer statys can cause a continuous exception on the slave processors
when watchdog feature is disabled.

The previous implementation used a valid timer base address itself
as the check, but the current implementation always assigns the base
address for the timer used.  An additional status mode has therefore
been added for each timer and checked before programming the timer
registers.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com>
Revert "Resources: Adjust for CMA relocation within 512MB"

This reverts commit ecf363f09df5d60ee181f1f0833d03db710753fa.

We are not ready on kernel side, yet.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
IPC: Handling unknown mbox messages correctly

Some valid mailbox messages are not correctly handled in the
ISR. The unknown message could pass to the default section and
seen as a valid message with a virtqueue index.

A check is added to verify the message provides a valid virtqueue
index, otherwise just return from the ISR.

Signed-off-by: Juan Gutierrez <jgutierrez@ti.com>
Rework core0 memory map for DCE core0 image

Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
RCM: Do not bring in legacy IPC components

The RCM modules in ti.grcm is designed to work with MessageQCopy
module and not with the legacy MessageQ module. The RcmServer
module is cleaned up from bringing in any of these components
during the configuration phase.

The ti.grcm package still needs a good amount of cleanup to
remove all the code that it does not actively use or designed
to work/link with.

Signed-off-by: Suman Anna <s-anna@ti.com>
Handle errors in NameMap

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Hack! Align OMAP5 IPU addresses on OMAP4

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Corruption fix from Juan Gutierrez

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Add requirement on ti.grcm

This solves link time issue of DCE image, about undefined symbols, such as
RcmServer_create.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>