#include <linux/component.h>
#include <linux/mfd/syscon.h>
#include <linux/mfd/syscon/imx6q-iomuxc-gpr.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <video/imx-ipu-v3.h>
#include <drm/bridge/dw_hdmi.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge.h>
#include <drm/drm_edid.h>
#include <drm/drm_encoder.h>
#include <drm/drm_managed.h>
#include <drm/drm_of.h>
#include <drm/drm_simple_kms_helper.h>
#include "imx-drm.h"
struct imx_hdmi;
struct imx_hdmi_encoder { … };
struct imx_hdmi { … };
static inline struct imx_hdmi *enc_to_imx_hdmi(struct drm_encoder *e)
{ … }
static const struct dw_hdmi_mpll_config imx_mpll_cfg[] = …;
static const struct dw_hdmi_curr_ctrl imx_cur_ctr[] = …;
static const struct dw_hdmi_phy_config imx_phy_config[] = …;
static void dw_hdmi_imx_encoder_enable(struct drm_encoder *encoder)
{ … }
static int dw_hdmi_imx_atomic_check(struct drm_encoder *encoder,
struct drm_crtc_state *crtc_state,
struct drm_connector_state *conn_state)
{ … }
static const struct drm_encoder_helper_funcs dw_hdmi_imx_encoder_helper_funcs = …;
static enum drm_mode_status
imx6q_hdmi_mode_valid(struct dw_hdmi *hdmi, void *data,
const struct drm_display_info *info,
const struct drm_display_mode *mode)
{ … }
static enum drm_mode_status
imx6dl_hdmi_mode_valid(struct dw_hdmi *hdmi, void *data,
const struct drm_display_info *info,
const struct drm_display_mode *mode)
{ … }
static struct dw_hdmi_plat_data imx6q_hdmi_drv_data = …;
static struct dw_hdmi_plat_data imx6dl_hdmi_drv_data = …;
static const struct of_device_id dw_hdmi_imx_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, dw_hdmi_imx_dt_ids);
static int dw_hdmi_imx_bind(struct device *dev, struct device *master,
void *data)
{ … }
static const struct component_ops dw_hdmi_imx_ops = …;
static int dw_hdmi_imx_probe(struct platform_device *pdev)
{ … }
static void dw_hdmi_imx_remove(struct platform_device *pdev)
{ … }
static struct platform_driver dw_hdmi_imx_platform_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;