1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Xilinx Video Timing Controller
4 *
5 * Copyright (C) 2013-2015 Ideas on Board
6 * Copyright (C) 2013-2015 Xilinx, Inc.
7 *
8 * Contacts: Hyun Kwon <hyun.kwon@xilinx.com>
9 *           Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 */
11
12#ifndef __XILINX_VTC_H__
13#define __XILINX_VTC_H__
14
15struct device_node;
16struct xvtc_device;
17
18#define XVTC_MAX_HSIZE			8191
19#define XVTC_MAX_VSIZE			8191
20
21struct xvtc_config {
22	unsigned int hblank_start;
23	unsigned int hsync_start;
24	unsigned int hsync_end;
25	unsigned int hsize;
26	unsigned int vblank_start;
27	unsigned int vsync_start;
28	unsigned int vsync_end;
29	unsigned int vsize;
30};
31
32struct xvtc_device *xvtc_of_get(struct device_node *np);
33void xvtc_put(struct xvtc_device *xvtc);
34
35int xvtc_generator_start(struct xvtc_device *xvtc,
36			 const struct xvtc_config *config);
37int xvtc_generator_stop(struct xvtc_device *xvtc);
38
39#endif /* __XILINX_VTC_H__ */
40