| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Copyright (C) 2019 STMicroelectronics - All Rights Reserved | |
| * Author(s): Yannick Fertre <yannick.fertre@st.com> for STMicroelectronics. | |
| * | |
| */ | |
| #ifndef _DSI_HOST_H | |
| #define _DSI_HOST_H | |
| #include <mipi_dsi.h> | |
| struct dsi_host_ops { | |
| /** | |
| * init() - initialized the dsi_host | |
| * | |
| * @dev: dsi host device | |
| * @device: DSI peripheral device | |
| * @timing: Display timings | |
| * @max_data_lanes: maximum number of data lines | |
| * @phy_ops: set of function pointers for performing physical operations | |
| * @return 0 if OK, -ve on error | |
| */ | |
| int (*init)(struct udevice *dev, | |
| struct mipi_dsi_device *device, | |
| struct display_timing *timings, | |
| unsigned int max_data_lanes, | |
| const struct mipi_dsi_phy_ops *phy_ops); | |
| /** | |
| * enable() - Enable the dsi_host | |
| * | |
| * @dev: dsi host device | |
| * @return 0 if OK, -ve on error | |
| */ | |
| int (*enable)(struct udevice *dev); | |
| /** | |
| * disable() - Disable the dsi_host | |
| * | |
| * @dev: dsi host device | |
| * @return 0 if OK, -ve on error | |
| */ | |
| int (*disable)(struct udevice *dev); | |
| }; | |
| #define dsi_host_get_ops(dev) ((struct dsi_host_ops *)(dev)->driver->ops) | |
| /** | |
| * dsi_host_init | |
| * | |
| * @dev: dsi host device | |
| * @device: DSI peripheral device | |
| * @timing: Display timings | |
| * @max_data_lanes: maximum number of data lines | |
| * @phy_ops: set of function pointers for performing physical operations | |
| * Return: 0 if OK, -ve on error | |
| */ | |
| int dsi_host_init(struct udevice *dev, | |
| struct mipi_dsi_device *device, | |
| struct display_timing *timings, | |
| unsigned int max_data_lanes, | |
| const struct mipi_dsi_phy_ops *phy_ops); | |
| /** | |
| * dsi_host_enable | |
| * | |
| * @dev: dsi host device | |
| * Return: 0 if OK, -ve on error | |
| */ | |
| int dsi_host_enable(struct udevice *dev); | |
| #endif |