mailbox: Enable BCM2835 mailbox support

Implement BCM2835 mailbox support as a device registered with the
general purpose mailbox framework. Implementation based on commits by
Lubomir Rintel [1], Suman Anna and Jassi Brar [2] on which to base the
implementation.

[1] http://lists.infradead.org/pipermail/linux-rpi-kernel/2013-April/000528.html
[2] http://lists.infradead.org/pipermail/linux-rpi-kernel/2013-May/000546.html

[lkundrak@v3.sk: Squashed Craig's commit with original work]

Signed-off-by: Craig McGeachie <slapdau@yahoo.com.au>
Signed-off-by: Suman Ana <s-anna@ti.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
mailbox: bcm2835-mbox should be available as a module

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
bcm2835-mbox: port to newer mailbox framework

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
bcm2835-mbox: Remove mailbox channel names from the device tree

They're reundant, as with current version of framework the name is specified in
the user's device tree entry.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
bcm2835-mbox: Drop useless gotoes

Nothing to clean up, the errors can be handled in a more streamlined manner.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Add BCM2835 thermal driver

Signed-off-by: Craig McGeachie <slapdau@yahoo.com.au>
bcm2835-thermal: Update for newer completion API

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
bcm2835-thermal: Port to current version of mailbox api

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
WIP: bcm2835: Add Broadcom BCM2835 CPU frequency control to the device tree

This adds a device tree binding for CPU frequency control driven via mailbox
IPC present on Broadcom BCM2835 SoC, used in Raspberry Pi and Roku 2 devices.

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-pm@vger.kernel.org
WIP: cpufreq: Add Broadcom BCM2835 CPU frequency control driver

This adds a driver for a CPU frequency control driven via mailbox IPC present
on Broadcom BCM2835 SoC, used in Raspberry Pi and Roku 2 devices.

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: cpufreq@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: linux-rpi-kernel@lists.infradead.org
WIP: arm: Add Broadcom BCM2835 CPU frequency control to bcm2835_defconfig

This enables a driver for CPU frequency control driven via mailbox IPC
present on Broadcom BCM2835 SoC, used in Raspberry Pi and Roku 2 devices.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: linux-rpi-kernel@lists.infradead.org
WIP: bcm2835: Increase DMA Coherent Pool size to 4M

VCHIQ needs this.
WIP: vc04_services: Videocore VCHIQ

TODO:

0.) Remove userspace knobs

1.) Massive cleanup
WIP: vchiq: Carry over to the new mailbox api

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
WIP: vchiq: new completions api

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
WIP: ALSA: Add Broadcom BCM2835 sound driver

TODO:

0.) Massive cleanup