MLK-18535-7 drm/bridge: sec-dsim: add bridge driver support

This is the abstracted bridge driver for Samsung MIPI DSIM
controller. This driver only foucses on the DSIM controller
itself configurations and never care about any config about
the platforms. So it can be shared by different platforms
without any modifications.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
This commit is contained in:
Fancy Fang 2018-06-06 23:32:56 +08:00 committed by Jason Liu
parent 296f2fed09
commit b90676adc2
4 changed files with 1279 additions and 0 deletions

View file

@ -57,6 +57,15 @@ config DRM_NWL_DSI
select DRM_MIPI_DSI
select DRM_PANEL
config DRM_SEC_MIPI_DSIM
tristate "Samsung MIPI DSIM Bridge"
depends on OF
select DRM_KMS_HELPER
select DRM_MIPI_DSI
select DRM_PANEL
help
The Samsung MPI DSIM Bridge driver.
config DRM_NXP_PTN3460
tristate "NXP PTN3460 DP/LVDS bridge"
depends on OF

View file

@ -14,3 +14,4 @@ obj-$(CONFIG_DRM_TI_TFP410) += ti-tfp410.o
obj-y += synopsys/
obj-$(CONFIG_DRM_ITE_IT6263) += it6263.o
obj-$(CONFIG_DRM_NWL_DSI) += nwl-dsi.o
obj-$(CONFIG_DRM_SEC_MIPI_DSIM) += sec-dsim.o

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,36 @@
/*
* Copyright 2018 NXP
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __SEC_MIPI_DSIM_H__
#define __SEC_MIPI_DSIM_H__
#include <drm/drmP.h>
struct sec_mipi_dsim_plat_data {
uint32_t version;
uint32_t max_data_lanes;
uint64_t max_data_rate;
enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
struct drm_display_mode *mode);
};
int sec_mipi_dsim_bind(struct device *dev, struct device *master, void *data,
struct drm_encoder *encoder, struct resource *res,
int irq, const struct sec_mipi_dsim_plat_data *pdata);
void sec_mipi_dsim_unbind(struct device *dev, struct device *master, void *data);
void sec_mipi_dsim_suspend(struct device *dev);
void sec_mipi_dsim_resume(struct device *dev);
#endif