xref: /rk3399_rockchip-uboot/drivers/video/drm/rockchip_panel.h (revision 1a8d717c29a3f61ca24a13437be5fb509287df96)
1186f8572SMark Yao /*
2186f8572SMark Yao  * (C) Copyright 2008-2017 Fuzhou Rockchip Electronics Co., Ltd
3186f8572SMark Yao  *
4186f8572SMark Yao  * SPDX-License-Identifier:	GPL-2.0+
5186f8572SMark Yao  */
6186f8572SMark Yao 
7186f8572SMark Yao #ifndef _ROCKCHIP_PANEL_H_
8186f8572SMark Yao #define _ROCKCHIP_PANEL_H_
9186f8572SMark Yao 
10*1a8d717cSWyon Bi struct display_state;
11*1a8d717cSWyon Bi 
12186f8572SMark Yao struct rockchip_panel_funcs {
13186f8572SMark Yao 	int (*init)(struct display_state *state);
14186f8572SMark Yao 	void (*deinit)(struct display_state *state);
15186f8572SMark Yao 	int (*prepare)(struct display_state *state);
16c493d00eSWyon Bi 	void (*unprepare)(struct display_state *state);
17186f8572SMark Yao 	int (*enable)(struct display_state *state);
18c493d00eSWyon Bi 	void (*disable)(struct display_state *state);
19186f8572SMark Yao };
20186f8572SMark Yao 
21186f8572SMark Yao struct rockchip_panel {
22*1a8d717cSWyon Bi 	struct udevice *dev;
23*1a8d717cSWyon Bi 	u32 bus_format;
24186f8572SMark Yao 	const struct rockchip_panel_funcs *funcs;
25186f8572SMark Yao 	const void *data;
26186f8572SMark Yao };
27186f8572SMark Yao 
28186f8572SMark Yao #endif	/* _ROCKCHIP_PANEL_H_ */
29