xref: /openbmc/u-boot/include/panel.h (revision 1fdeacd3)
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (c) 2016 Google, Inc
4  * Written by Simon Glass <sjg@chromium.org>
5  */
6 
7 #ifndef _PANEL_H
8 #define _PANEL_H
9 
10 struct panel_ops {
11 	/**
12 	 * enable_backlight() - Enable the panel backlight
13 	 *
14 	 * @dev:	Panel device containing the backlight to enable
15 	 * @return 0 if OK, -ve on error
16 	 */
17 	int (*enable_backlight)(struct udevice *dev);
18 	/**
19 	 * get_timings() - Get display timings from panel.
20 	 *
21 	 * @dev:	Panel device containing the display timings
22 	 * @tim:	Place to put timings
23 	 * @return 0 if OK, -ve on error
24 	 */
25 	int (*get_display_timing)(struct udevice *dev,
26 				  struct display_timing *timing);
27 };
28 
29 #define panel_get_ops(dev)	((struct panel_ops *)(dev)->driver->ops)
30 
31 /**
32  * panel_enable_backlight() - Enable the panel backlight
33  *
34  * @dev:	Panel device containing the backlight to enable
35  * @return 0 if OK, -ve on error
36  */
37 int panel_enable_backlight(struct udevice *dev);
38 
39 /**
40  * panel_get_display_timing() - Get display timings from panel.
41  *
42  * @dev:	Panel device containing the display timings
43  * @return 0 if OK, -ve on error
44  */
45 int panel_get_display_timing(struct udevice *dev,
46 			     struct display_timing *timing);
47 
48 #endif
49