[DRIVERS] Add the i.MX6 Framebuffer support.

This patch adds
- the i.MX LVDS display bridge driver required in order to use the LVDS
framebuffer.
- the driver for the i.MX IPUv3 controller, with the framebuffer support.
- the i.MX6Q LDB, the IPU and the FB devices in the device tree.

The Nitrogen6X framebuffer 0 is set for 1024x768 with RGB565, to be compatible
with the 10.1" 1024x768 Hannstar LVDS.

Signed-off-by: Jimmy Durand Wesolowski <jimmy.durand-wesolowski@openwide.fr>
Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] vmm_blockdev: Don't allocate vmm_request_queue in blockdev alloc

Instead on allocating struct vmm_request_queue in vmm_blockdev_alloc()
we should let device driver frameworks allocate it. This way it is
not mandatory to have struct vmm_request_queue allocated from heap.

Signed-off-by: Anup Patel <anup@brainfault.org>
[DRIVERS] spi: Fix dependency of CONFIG_SPI_IMX config option

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Use vmm_completion in vmm_workqueue implementation

Instead of directly using vmm_threads_wakeup() and vmm_threads_sleep()
in worker thread of vmm_workqueue, we now use vmm_completion for
managing sleep and wakeup of worker thread. This patch also moves
struct vmm_workqueue definetion to source file so that we dont
have to include vmm_completion.h in vmm_workqueue.h.

Signed-off-by: Anup Patel <anup@brainfault.org>