uboot/include/dsi_host.h
<<
>>
Prefs
   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
  13struct 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 */
  59int 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 */
  71int dsi_host_enable(struct udevice *dev);
  72
  73#endif
  74