linux/drivers/gpu/drm/mcde/mcde_dsi.c

// SPDX-License-Identifier: GPL-2.0+
#include <linux/clk.h>
#include <linux/component.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <video/mipi_display.h>

#include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge.h>
#include <drm/drm_device.h>
#include <drm/drm_drv.h>
#include <drm/drm_encoder.h>
#include <drm/drm_mipi_dsi.h>
#include <drm/drm_modeset_helper_vtables.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>

#include "mcde_drm.h"
#include "mcde_dsi_regs.h"

#define DSI_DEFAULT_LP_FREQ_HZ
#define DSI_DEFAULT_HS_FREQ_HZ

/* PRCMU DSI reset registers */
#define PRCM_DSI_SW_RESET
#define PRCM_DSI_SW_RESET_DSI0_SW_RESETN
#define PRCM_DSI_SW_RESET_DSI1_SW_RESETN
#define PRCM_DSI_SW_RESET_DSI2_SW_RESETN

struct mcde_dsi {};

static inline struct mcde_dsi *bridge_to_mcde_dsi(struct drm_bridge *bridge)
{}

static inline struct mcde_dsi *host_to_mcde_dsi(struct mipi_dsi_host *h)
{}

bool mcde_dsi_irq(struct mipi_dsi_device *mdsi)
{}

static void mcde_dsi_attach_to_mcde(struct mcde_dsi *d)
{}

static int mcde_dsi_host_attach(struct mipi_dsi_host *host,
				struct mipi_dsi_device *mdsi)
{}

static int mcde_dsi_host_detach(struct mipi_dsi_host *host,
				struct mipi_dsi_device *mdsi)
{}

#define MCDE_DSI_HOST_IS_READ(type)

static int mcde_dsi_execute_transfer(struct mcde_dsi *d,
				     const struct mipi_dsi_msg *msg)
{}

static ssize_t mcde_dsi_host_transfer(struct mipi_dsi_host *host,
				      const struct mipi_dsi_msg *msg)
{}

static const struct mipi_dsi_host_ops mcde_dsi_host_ops =;

/* This sends a direct (short) command to request TE */
void mcde_dsi_te_request(struct mipi_dsi_device *mdsi)
{}

static void mcde_dsi_setup_video_mode(struct mcde_dsi *d,
				      const struct drm_display_mode *mode)
{}

static void mcde_dsi_start(struct mcde_dsi *d)
{}

/*
 * Notice that this is called from inside the display controller
 * and not from the bridge callbacks.
 */
void mcde_dsi_enable(struct drm_bridge *bridge)
{}

static void mcde_dsi_bridge_mode_set(struct drm_bridge *bridge,
				     const struct drm_display_mode *mode,
				     const struct drm_display_mode *adj)
{}

static void mcde_dsi_wait_for_command_mode_stop(struct mcde_dsi *d)
{}

static void mcde_dsi_wait_for_video_mode_stop(struct mcde_dsi *d)
{}

/*
 * Notice that this is called from inside the display controller
 * and not from the bridge callbacks.
 */
void mcde_dsi_disable(struct drm_bridge *bridge)
{}

static int mcde_dsi_bridge_attach(struct drm_bridge *bridge,
				  enum drm_bridge_attach_flags flags)
{}

static const struct drm_bridge_funcs mcde_dsi_bridge_funcs =;

static int mcde_dsi_bind(struct device *dev, struct device *master,
			 void *data)
{}

static void mcde_dsi_unbind(struct device *dev, struct device *master,
			    void *data)
{}

static const struct component_ops mcde_dsi_component_ops =;

static int mcde_dsi_probe(struct platform_device *pdev)
{}

static void mcde_dsi_remove(struct platform_device *pdev)
{}

static const struct of_device_id mcde_dsi_of_match[] =;

struct platform_driver mcde_dsi_driver =;