From 8a9e44182e2b8319f6c0c8824af2d3bff1d4c381 Mon Sep 17 00:00:00 2001 From: Valentin Raevsky Date: Tue, 19 Feb 2019 11:50:09 +0200 Subject: sn65dsi83: Add ti,sn65dsi83 dsi to lvds bridge driver Related-to: ELB-2289 Signed-off-by: Valentin Raevsky Signed-off-by: Philippe Schenker --- drivers/gpu/drm/bridge/Kconfig | 2 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/sn65dsi83/Kconfig | 7 + drivers/gpu/drm/bridge/sn65dsi83/Makefile | 2 + drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_brg.c | 388 +++++++++++++++++++ drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_brg.h | 55 +++ drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_drv.c | 411 +++++++++++++++++++++ .../gpu/drm/bridge/sn65dsi83/sn65dsi83_timing.h | 33 ++ 8 files changed, 899 insertions(+) create mode 100644 drivers/gpu/drm/bridge/sn65dsi83/Kconfig create mode 100644 drivers/gpu/drm/bridge/sn65dsi83/Makefile create mode 100644 drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_brg.c create mode 100644 drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_brg.h create mode 100644 drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_drv.c create mode 100644 drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_timing.h diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 4ef1bc1092fb..fe295afb4692 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -135,6 +135,8 @@ source "drivers/gpu/drm/bridge/adv7511/Kconfig" source "drivers/gpu/drm/bridge/synopsys/Kconfig" +source "drivers/gpu/drm/bridge/sn65dsi83/Kconfig" + config DRM_ITE_IT6263 tristate "ITE IT6263 LVDS/HDMI bridge" depends on OF diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile index 8119857c7ed4..b1c48b135ab2 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -17,3 +17,4 @@ obj-$(CONFIG_DRM_ITE_IT6263) += it6263.o obj-$(CONFIG_DRM_NWL_DSI) += nwl-dsi.o obj-$(CONFIG_DRM_SEC_MIPI_DSIM) += sec-dsim.o obj-$(CONFIG_DRM_NXP_SEIKO_43WVFIG) += nxp-seiko-43wvfig.o +obj-$(CONFIG_DRM_I2C_SN65DSI83) += sn65dsi83/ diff --git a/drivers/gpu/drm/bridge/sn65dsi83/Kconfig b/drivers/gpu/drm/bridge/sn65dsi83/Kconfig new file mode 100644 index 000000000000..1d8f37f689d3 --- /dev/null +++ b/drivers/gpu/drm/bridge/sn65dsi83/Kconfig @@ -0,0 +1,7 @@ +config DRM_I2C_SN65DSI83 + bool "SN65DSI83 mipi dsi to lvds bridge" + depends on OF + select DRM_MIPI_DSI + default y + help + Support for the sn65dsi83 MIPI DSI to LVDS bridge diff --git a/drivers/gpu/drm/bridge/sn65dsi83/Makefile b/drivers/gpu/drm/bridge/sn65dsi83/Makefile new file mode 100644 index 000000000000..dee7f493b323 --- /dev/null +++ b/drivers/gpu/drm/bridge/sn65dsi83/Makefile @@ -0,0 +1,2 @@ +sn65dsi83-objs := sn65dsi83_drv.o sn65dsi83_brg.o +obj-$(CONFIG_DRM_I2C_SN65DSI83) := sn65dsi83.o diff --git a/drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_brg.c b/drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_brg.c new file mode 100644 index 000000000000..f4a7713635d6 --- /dev/null +++ b/drivers/gpu/drm/bridge/sn65dsi83/sn65dsi83_brg.c @@ -0,0 +1,388 @@ +/* + * Copyright (C) 2018 CopuLab Ltd. + * + * 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include