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 bool hdmi_hpd; 14 }; 15 16 struct rockchip_crtc_funcs { 17 int (*init)(struct display_state *state); 18 void (*deinit)(struct display_state *state); 19 int (*set_plane)(struct display_state *state); 20 int (*prepare)(struct display_state *state); 21 int (*enable)(struct display_state *state); 22 int (*disable)(struct display_state *state); 23 void (*unprepare)(struct display_state *state); 24 int (*fixup_dts)(struct display_state *state, void *blob); 25 int (*send_mcu_cmd)(struct display_state *state, u32 type, u32 value); 26 }; 27 28 struct vop_data; 29 extern const struct rockchip_crtc_funcs rockchip_vop_funcs; 30 extern const struct vop_data rk3036_vop; 31 extern const struct vop_data px30_vop_lit; 32 extern const struct vop_data px30_vop_big; 33 extern const struct vop_data rk3308_vop; 34 extern const struct vop_data rk1808_vop; 35 extern const struct vop_data rk3288_vop_big; 36 extern const struct vop_data rk3288_vop_lit; 37 extern const struct vop_data rk3368_vop; 38 extern const struct vop_data rk3366_vop; 39 extern const struct vop_data rk3399_vop_big; 40 extern const struct vop_data rk3399_vop_lit; 41 extern const struct vop_data rk322x_vop; 42 extern const struct vop_data rk3328_vop; 43 extern const struct vop_data rv1108_vop; 44 #endif 45