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