linux/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2016 Maxime Ripard
 *
 * Maxime Ripard <[email protected]>
 */

#include <linux/clk.h>
#include <linux/component.h>
#include <linux/i2c.h>
#include <linux/iopoll.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/reset.h>

#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_edid.h>
#include <drm/drm_encoder.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>

#include <drm/display/drm_hdmi_helper.h>
#include <drm/display/drm_hdmi_state_helper.h>

#include "sun4i_backend.h"
#include "sun4i_crtc.h"
#include "sun4i_drv.h"
#include "sun4i_hdmi.h"

#define drm_encoder_to_sun4i_hdmi(e)

#define drm_connector_to_sun4i_hdmi(c)

static int sun4i_hdmi_write_infoframe(struct drm_connector *connector,
				      enum hdmi_infoframe_type type,
				      const u8 *buffer, size_t len)
{}

static void sun4i_hdmi_disable(struct drm_encoder *encoder,
			       struct drm_atomic_state *state)
{}

static void sun4i_hdmi_enable(struct drm_encoder *encoder,
			      struct drm_atomic_state *state)
{}

static const struct drm_encoder_helper_funcs sun4i_hdmi_helper_funcs =;

static enum drm_mode_status
sun4i_hdmi_connector_clock_valid(const struct drm_connector *connector,
				 const struct drm_display_mode *mode,
				 unsigned long long clock)
{}

static int sun4i_hdmi_connector_atomic_check(struct drm_connector *connector,
					     struct drm_atomic_state *state)
{}

static enum drm_mode_status
sun4i_hdmi_connector_mode_valid(struct drm_connector *connector,
				struct drm_display_mode *mode)
{}

static int sun4i_hdmi_get_modes(struct drm_connector *connector)
{}

static struct i2c_adapter *sun4i_hdmi_get_ddc(struct device *dev)
{}

static const struct drm_connector_hdmi_funcs sun4i_hdmi_hdmi_connector_funcs =;

static const struct drm_connector_helper_funcs sun4i_hdmi_connector_helper_funcs =;

static enum drm_connector_status
sun4i_hdmi_connector_detect(struct drm_connector *connector, bool force)
{}

static void sun4i_hdmi_connector_reset(struct drm_connector *connector)
{}

static const struct drm_connector_funcs sun4i_hdmi_connector_funcs =;

#ifdef CONFIG_DRM_SUN4I_HDMI_CEC
static int sun4i_hdmi_cec_pin_read(struct cec_adapter *adap)
{}

static void sun4i_hdmi_cec_pin_low(struct cec_adapter *adap)
{}

static void sun4i_hdmi_cec_pin_high(struct cec_adapter *adap)
{}

static const struct cec_pin_ops sun4i_hdmi_cec_pin_ops =;
#endif

#define SUN4I_HDMI_PAD_CTRL1_MASK
#define SUN4I_HDMI_PLL_CTRL_MASK

/* Only difference from sun5i is AMP is 4 instead of 6 */
static const struct sun4i_hdmi_variant sun4i_variant =;

static const struct sun4i_hdmi_variant sun5i_variant =;

static const struct sun4i_hdmi_variant sun6i_variant =;

static const struct regmap_config sun4i_hdmi_regmap_config =;

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

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

static const struct component_ops sun4i_hdmi_ops =;

static int sun4i_hdmi_probe(struct platform_device *pdev)
{}

static void sun4i_hdmi_remove(struct platform_device *pdev)
{}

static const struct of_device_id sun4i_hdmi_of_table[] =;
MODULE_DEVICE_TABLE(of, sun4i_hdmi_of_table);

static struct platform_driver sun4i_hdmi_driver =;
module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();