Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a81fb9b2 authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB: V4L: SuperH Video Output Unit (VOU) driver



A number of SuperH Mobile SoCs, including sh7724, include a Video Output Unit.
This patch adds a video (V4L2) output driver for it. The driver uses v4l2-subdev
and mediabus APIs to interface to TV encoders.

Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent f35f1bb8
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -520,6 +520,13 @@ config DISPLAY_DAVINCI_DM646X_EVM
	  To compile this driver as a module, choose M here: the
	  module will be called vpif_display.

config VIDEO_SH_VOU
	tristate "SuperH VOU video output driver"
	depends on VIDEO_DEV && ARCH_SHMOBILE
	select VIDEOBUF_DMA_CONTIG
	help
	  Support for the Video Output Unit (VOU) on SuperH SoCs.

config CAPTURE_DAVINCI_DM646X_EVM
	tristate "DM646x EVM Video Capture"
	depends on VIDEO_DEV && MACH_DAVINCI_DM6467_EVM
+4 −0
Original line number Diff line number Diff line
@@ -160,6 +160,10 @@ obj-$(CONFIG_VIDEO_MX3) += mx3_camera.o
obj-$(CONFIG_VIDEO_PXA27x)		+= pxa_camera.o
obj-$(CONFIG_VIDEO_SH_MOBILE_CEU)	+= sh_mobile_ceu_camera.o

obj-$(CONFIG_ARCH_DAVINCI)		+= davinci/

obj-$(CONFIG_VIDEO_SH_VOU)		+= sh_vou.o

obj-$(CONFIG_VIDEO_AU0828) += au0828/

obj-$(CONFIG_USB_VIDEO_CLASS)	+= uvc/
+1476 −0

File added.

Preview size limit exceeded, changes collapsed.

include/media/sh_vou.h

0 → 100644
+34 −0
Original line number Diff line number Diff line
/*
 * SuperH Video Output Unit (VOU) driver header
 *
 * Copyright (C) 2010, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
#ifndef SH_VOU_H
#define SH_VOU_H

#include <linux/i2c.h>

/* Bus flags */
#define SH_VOU_PCLK_FALLING	(1 << 0)
#define SH_VOU_HSYNC_LOW	(1 << 1)
#define SH_VOU_VSYNC_LOW	(1 << 2)

enum sh_vou_bus_fmt {
	SH_VOU_BUS_8BIT,
	SH_VOU_BUS_16BIT,
	SH_VOU_BUS_BT656,
};

struct sh_vou_pdata {
	enum sh_vou_bus_fmt bus_fmt;
	int i2c_adap;
	struct i2c_board_info *board_info;
	unsigned long flags;
	char *module_name;
};

#endif