]> git.ipfire.org Git - thirdparty/u-boot.git/blob - include/dsi_host.h
efi_loader: device path for SATA devices
[thirdparty/u-boot.git] / include / dsi_host.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3 * Copyright (C) 2019 STMicroelectronics - All Rights Reserved
4 * Author(s): Yannick Fertre <yannick.fertre@st.com> for STMicroelectronics.
5 *
6 */
7
8 #ifndef _DSI_HOST_H
9 #define _DSI_HOST_H
10
11 #include <mipi_dsi.h>
12
13 struct dsi_host_ops {
14 /**
15 * init() - initialized the dsi_host
16 *
17 * @dev: dsi host device
18 * @device: DSI peripheral device
19 * @timing: Display timings
20 * @max_data_lanes: maximum number of data lines
21 * @phy_ops: set of function pointers for performing physical operations
22 * @return 0 if OK, -ve on error
23 */
24 int (*init)(struct udevice *dev,
25 struct mipi_dsi_device *device,
26 struct display_timing *timings,
27 unsigned int max_data_lanes,
28 const struct mipi_dsi_phy_ops *phy_ops);
29
30 /**
31 * enable() - Enable the dsi_host
32 *
33 * @dev: dsi host device
34 * @return 0 if OK, -ve on error
35 */
36 int (*enable)(struct udevice *dev);
37
38 /**
39 * disable() - Disable the dsi_host
40 *
41 * @dev: dsi host device
42 * @return 0 if OK, -ve on error
43 */
44 int (*disable)(struct udevice *dev);
45 };
46
47 #define dsi_host_get_ops(dev) ((struct dsi_host_ops *)(dev)->driver->ops)
48
49 /**
50 * dsi_host_init
51 *
52 * @dev: dsi host device
53 * @device: DSI peripheral device
54 * @timing: Display timings
55 * @max_data_lanes: maximum number of data lines
56 * @phy_ops: set of function pointers for performing physical operations
57 * @return 0 if OK, -ve on error
58 */
59 int dsi_host_init(struct udevice *dev,
60 struct mipi_dsi_device *device,
61 struct display_timing *timings,
62 unsigned int max_data_lanes,
63 const struct mipi_dsi_phy_ops *phy_ops);
64
65 /**
66 * dsi_host_enable
67 *
68 * @dev: dsi host device
69 * @return 0 if OK, -ve on error
70 */
71 int dsi_host_enable(struct udevice *dev);
72
73 #endif