1 /* 2 * (C) Copyright 2008-2017 Fuzhou Rockchip Electronics Co., Ltd 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 #ifndef _ROCKCHIP_CRTC_H_ 8 #define _ROCKCHIP_CRTC_H_ 9 10 struct rockchip_crtc { 11 const struct rockchip_crtc_funcs *funcs; 12 const void *data; 13 }; 14 15 struct rockchip_crtc_funcs { 16 int (*init)(struct display_state *state); 17 void (*deinit)(struct display_state *state); 18 int (*set_plane)(struct display_state *state); 19 int (*prepare)(struct display_state *state); 20 int (*enable)(struct display_state *state); 21 int (*disable)(struct display_state *state); 22 void (*unprepare)(struct display_state *state); 23 int (*fixup_dts)(struct display_state *state, void *blob); 24 }; 25 26 struct vop_data; 27 extern const struct rockchip_crtc_funcs rockchip_vop_funcs; 28 extern const struct vop_data rk3036_vop; 29 extern const struct vop_data px30_vop_lit; 30 extern const struct vop_data px30_vop_big; 31 extern const struct vop_data rk3288_vop_big; 32 extern const struct vop_data rk3288_vop_lit; 33 extern const struct vop_data rk3368_vop; 34 extern const struct vop_data rk3366_vop; 35 extern const struct vop_data rk3399_vop_big; 36 extern const struct vop_data rk3399_vop_lit; 37 extern const struct vop_data rk322x_vop; 38 extern const struct vop_data rk3328_vop; 39 #endif 40