Commit 40ac9b19 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab

[media] v4l: xilinx: Add Video Timing Controller driver

The Video Timing Controller (VTC) includes a timing detector and/or a
timing generator. Only the generator is currently supported.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent df330515
Xilinx Video Timing Controller (VTC)
------------------------------------
The Video Timing Controller is a general purpose video timing generator and
detector.
Required properties:
- compatible: Must be "xlnx,v-tc-6.1".
- reg: Physical base address and length of the registers set for the device.
- clocks: Must contain a clock specifier for the VTC core and timing
interfaces clock.
Optional properties:
- xlnx,detector: The VTC has a timing detector
- xlnx,generator: The VTC has a timing generator
At least one of the xlnx,detector and xlnx,generator properties must be
specified.
Example:
vtc: vtc@43c40000 {
compatible = "xlnx,v-tc-6.1";
reg = <0x43c40000 0x10000>;
clocks = <&clkc 15>;
xlnx,generator;
};
......@@ -7,4 +7,10 @@ config VIDEO_XILINX
if VIDEO_XILINX
config VIDEO_XILINX_VTC
tristate "Xilinx Video Timing Controller"
depends on VIDEO_XILINX
---help---
Driver for the Xilinx Video Timing Controller
endif #VIDEO_XILINX
xilinx-video-objs += xilinx-dma.o xilinx-vip.o xilinx-vipp.o
obj-$(CONFIG_VIDEO_XILINX) += xilinx-video.o
obj-$(CONFIG_VIDEO_XILINX_VTC) += xilinx-vtc.o
This diff is collapsed.
/*
* Xilinx Video Timing Controller
*
* Copyright (C) 2013-2015 Ideas on Board
* Copyright (C) 2013-2015 Xilinx, Inc.
*
* Contacts: Hyun Kwon <hyun.kwon@xilinx.com>
* Laurent Pinchart <laurent.pinchart@ideasonboard.com>
*
* 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 __XILINX_VTC_H__
#define __XILINX_VTC_H__
struct device_node;
struct xvtc_device;
#define XVTC_MAX_HSIZE 8191
#define XVTC_MAX_VSIZE 8191
struct xvtc_config {
unsigned int hblank_start;
unsigned int hsync_start;
unsigned int hsync_end;
unsigned int hsize;
unsigned int vblank_start;
unsigned int vsync_start;
unsigned int vsync_end;
unsigned int vsize;
};
struct xvtc_device *xvtc_of_get(struct device_node *np);
void xvtc_put(struct xvtc_device *xvtc);
int xvtc_generator_start(struct xvtc_device *xvtc,
const struct xvtc_config *config);
int xvtc_generator_stop(struct xvtc_device *xvtc);
#endif /* __XILINX_VTC_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment