brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · f1ddefe Raw
59 lines · c
1// SPDX-License-Identifier: GPL-2.0+2/*3 * Copyright (c) 2016 Allwinnertech Co., Ltd.4 * Copyright (C) 2017-2018 Bootlin5 *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 16#define SUN6I_DSI_TCON_DIV	417 18struct sun6i_dsi_variant {19	bool			has_mod_clk;20	bool			set_mod_clk;21};22 23struct sun6i_dsi {24	struct drm_connector	connector;25	struct drm_encoder	encoder;26	struct mipi_dsi_host	host;27 28	struct clk		*bus_clk;29	struct clk		*mod_clk;30	struct regmap		*regs;31	struct regulator	*regulator;32	struct reset_control	*reset;33	struct phy		*dphy;34 35	struct device		*dev;36	struct mipi_dsi_device	*device;37	struct drm_device	*drm;38	struct drm_panel	*panel;39 40	const struct sun6i_dsi_variant *variant;41};42 43static inline struct sun6i_dsi *host_to_sun6i_dsi(struct mipi_dsi_host *host)44{45	return container_of(host, struct sun6i_dsi, host);46};47 48static inline struct sun6i_dsi *connector_to_sun6i_dsi(struct drm_connector *connector)49{50	return container_of(connector, struct sun6i_dsi, connector);51};52 53static inline struct sun6i_dsi *encoder_to_sun6i_dsi(const struct drm_encoder *encoder)54{55	return container_of(encoder, struct sun6i_dsi, encoder);56};57 58#endif /* _SUN6I_MIPI_DSI_H_ */59