vc_rpmsg: VideoCore support for rpmsg

The vc_rpmsg driver implements a virtio device that connects to rpmsg's
virtio-based messaging bus, allowing other drivers to communicate with
VideoCore over shared memory.

Signed-off-by: Luke Diamand <luked@broadcom.com>
vc_rpmsg_service: Userspace interface to stateful VideoCore services

The vc_rpmsg_service driver communicates with VC over the "hostexport"
channel to determine which services to export, and then creates a char
device for each one. Clients can open the char device and then send
and receive messages with the protocol defined in vc_rpmsg_service.h,
with support for passing shared-memory buffers to VC and automatically
cleaning up all resources when the char device is closed.

Signed-off-by: Luke Diamand <luked@broadcom.com>
vchiq - share the doorbell interrupt

Allows other VC device drivers to make use of the doorbell
interrupt.

Signed-off-by: Luke Diamand <luked@broadcom.com>
vc_rpmsg: Update to latest protocol version

Protocol version 2 uses larger OPEN_REPLY messages. Remove unnecessary
size checks in the kernel, so that future protocol changes can expand
the messages without breaking compatibility.

This is required for running the latest ISYS on Capri.

Change-Id: I752e21f73d7d8a648065917300b8605c1856e653
Signed-off-by: Luke Diamand <luked@broadcom.com>
vc-rpmsg: fixing bcm2835 support

Get the interrupt handling correct for this platform.