Re: [PATCH v1 2/2] drm:bridge: Add Lontiun LT7911EXC eDP to MIPI DSI bridge
From: Dmitry Baryshkov
Date: Tue Apr 28 2026 - 03:57:56 EST
On Tue, Apr 28, 2026 at 02:32:24PM +0800, syyang@xxxxxxxxxxx wrote:
> From: Sunyun Yang <syyang@xxxxxxxxxxx>
>
> The LT7911EXC is an I2C-controlled bridge that Receiver eDP1.4
> and output signal/dual port mipi.
>
> Signed-off-by: Sunyun Yang <syyang@xxxxxxxxxxx>
> ---
> drivers/gpu/drm/bridge/Kconfig | 13 +
> drivers/gpu/drm/bridge/Makefile | 1 +
> drivers/gpu/drm/bridge/lontium-lt7911exc.c | 497 +++++++++++++++++++++
> 3 files changed, 511 insertions(+)
> create mode 100644 drivers/gpu/drm/bridge/lontium-lt7911exc.c
>
> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index c3209b0f4678..8cff2bf15b09 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -132,6 +132,19 @@ config DRM_ITE_IT6505
> help
> ITE IT6505 DisplayPort bridge chip driver.
>
> +config DRM_LONTIUM_LT7911EXC
> + tristate "Lontium eDP/MIPI bridge"
> + depends on OF
> + select CRC32
> + select FW_LOADER
> + select DRM_PANEL
> + select DRM_KMS_HELPER
> + help
> + DRM driver for the Lontium LT7911EXC bridge chip.
> + The LT7911EXC converts eDP input to single/dual port
> + MIPI DSI output.
> + Please say Y if you have such hardware.
> +
> config DRM_LONTIUM_LT8912B
> tristate "Lontium LT8912B DSI/HDMI bridge"
> depends on OF
> diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile
> index beab5b695a6e..70ddca75dd3a 100644
> --- a/drivers/gpu/drm/bridge/Makefile
> +++ b/drivers/gpu/drm/bridge/Makefile
> @@ -13,6 +13,7 @@ obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> obj-$(CONFIG_DRM_INNO_HDMI) += inno-hdmi.o
> obj-$(CONFIG_DRM_ITE_IT6263) += ite-it6263.o
> obj-$(CONFIG_DRM_ITE_IT6505) += ite-it6505.o
> +obj-$(CONFIG_DRM_LONTIUM_LT7911EXC) += lontium-lt7911exc.o
> obj-$(CONFIG_DRM_LONTIUM_LT8912B) += lontium-lt8912b.o
> obj-$(CONFIG_DRM_LONTIUM_LT9211) += lontium-lt9211.o
> obj-$(CONFIG_DRM_LONTIUM_LT9611) += lontium-lt9611.o
> diff --git a/drivers/gpu/drm/bridge/lontium-lt7911exc.c b/drivers/gpu/drm/bridge/lontium-lt7911exc.c
> new file mode 100644
> index 000000000000..85cb6cedbfa3
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/lontium-lt7911exc.c
> @@ -0,0 +1,497 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2026 Lontium Semiconductor, Inc.
> + */
> +
> +#include <linux/crc32.h>
> +#include <linux/firmware.h>
> +#include <linux/gpio/consumer.h>
> +#include <linux/i2c.h>
> +#include <linux/module.h>
> +#include <linux/mutex.h>
> +#include <linux/of_graph.h>
> +#include <linux/platform_device.h>
> +#include <linux/regmap.h>
> +
> +#include <drm/drm_bridge.h>
> +#include <drm/drm_mipi_dsi.h>
> +#include <drm/drm_of.h>
> +
> +#define FW_SIZE (64 * 1024)
> +#define LT_PAGE_SIZE 32
> +#define FW_FILE "lt7911exc_fw.bin"
Do you plan to submit the referene image to linux-firmware?
> +#define LT7911EXC_PAGE_CONTROL 0xff
> +
[...]
> +
> +static void lt7911exc_remove(struct i2c_client *client)
> +{}
If it's empty, it should be dropped. .remove is an optional callback.
> +
> +static const struct i2c_device_id lt7911exc_i2c_table[] = {
> + {"lontium, lt7911exc"},
Drop the "lontium, " part. The I2C ids (unlike OF ids) don't have the
vendor part.
> + {/* sentinel */}
> +};
> +
> +MODULE_DEVICE_TABLE(i2c, lt7911exc_i2c_table);
> +
--
With best wishes
Dmitry