1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) STMicroelectronics SA 2014
4  * Author: Benjamin Gaignard <benjamin.gaignard@st.com> for STMicroelectronics.
5  */
6 
7 #ifndef _STI_VTG_H_
8 #define _STI_VTG_H_
9 
10 #define VTG_TOP_FIELD_EVENT     1
11 #define VTG_BOTTOM_FIELD_EVENT  2
12 
13 #define VTG_SYNC_ID_HDMI        1
14 #define VTG_SYNC_ID_HDDCS       2
15 #define VTG_SYNC_ID_HDF         3
16 #define VTG_SYNC_ID_DVO         4
17 
18 struct sti_vtg;
19 struct drm_crtc;
20 struct drm_display_mode;
21 struct notifier_block;
22 
23 struct sti_vtg *of_vtg_find(struct device_node *np);
24 void sti_vtg_set_config(struct sti_vtg *vtg,
25 		const struct drm_display_mode *mode);
26 int sti_vtg_register_client(struct sti_vtg *vtg, struct notifier_block *nb,
27 			    struct drm_crtc *crtc);
28 int sti_vtg_unregister_client(struct sti_vtg *vtg,
29 		struct notifier_block *nb);
30 
31 u32 sti_vtg_get_line_number(struct drm_display_mode mode, int y);
32 u32 sti_vtg_get_pixel_number(struct drm_display_mode mode, int x);
33 
34 #endif
35