1/*
2 * Xilinx Video Timing Controller
3 *
4 * Copyright (C) 2013-2015 Ideas on Board
5 * Copyright (C) 2013-2015 Xilinx, Inc.
6 *
7 * Contacts: Hyun Kwon <hyun.kwon@xilinx.com>
8 *           Laurent Pinchart <laurent.pinchart@ideasonboard.com>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#ifndef __XILINX_VTC_H__
16#define __XILINX_VTC_H__
17
18struct device_node;
19struct xvtc_device;
20
21#define XVTC_MAX_HSIZE			8191
22#define XVTC_MAX_VSIZE			8191
23
24struct xvtc_config {
25	unsigned int hblank_start;
26	unsigned int hsync_start;
27	unsigned int hsync_end;
28	unsigned int hsize;
29	unsigned int vblank_start;
30	unsigned int vsync_start;
31	unsigned int vsync_end;
32	unsigned int vsize;
33};
34
35struct xvtc_device *xvtc_of_get(struct device_node *np);
36void xvtc_put(struct xvtc_device *xvtc);
37
38int xvtc_generator_start(struct xvtc_device *xvtc,
39			 const struct xvtc_config *config);
40int xvtc_generator_stop(struct xvtc_device *xvtc);
41
42#endif /* __XILINX_VTC_H__ */
43