linux/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0+
   2/*
   3 * Copyright (c) 2016 Allwinnertech Co., Ltd.
   4 * Copyright (C) 2017-2018 Bootlin
   5 *
   6 * Maxime Ripard <maxime.ripard@bootlin.com>
   7 */
   8
   9#ifndef _SUN6I_MIPI_DSI_H_
  10#define _SUN6I_MIPI_DSI_H_
  11
  12#include <drm/drm_connector.h>
  13#include <drm/drm_encoder.h>
  14#include <drm/drm_mipi_dsi.h>
  15
  16struct sun6i_dsi {
  17        struct drm_connector    connector;
  18        struct drm_encoder      encoder;
  19        struct mipi_dsi_host    host;
  20
  21        struct clk              *bus_clk;
  22        struct clk              *mod_clk;
  23        struct regmap           *regs;
  24        struct reset_control    *reset;
  25        struct phy              *dphy;
  26
  27        struct device           *dev;
  28        struct sun4i_drv        *drv;
  29        struct mipi_dsi_device  *device;
  30        struct drm_panel        *panel;
  31};
  32
  33static inline struct sun6i_dsi *host_to_sun6i_dsi(struct mipi_dsi_host *host)
  34{
  35        return container_of(host, struct sun6i_dsi, host);
  36};
  37
  38static inline struct sun6i_dsi *connector_to_sun6i_dsi(struct drm_connector *connector)
  39{
  40        return container_of(connector, struct sun6i_dsi, connector);
  41};
  42
  43static inline struct sun6i_dsi *encoder_to_sun6i_dsi(const struct drm_encoder *encoder)
  44{
  45        return container_of(encoder, struct sun6i_dsi, encoder);
  46};
  47
  48#endif /* _SUN6I_MIPI_DSI_H_ */
  49