[PATCH v2 1/2] video: bridge: add ITE IT66121 DPI-to-HDMI bridge driver
Simon Glass
sjg at chromium.org
Mon Apr 20 21:35:33 CEST 2026
Hi Shaurya,
On 2026-04-19T17:35:38, Shaurya Rane <ssrane_b23 at ee.vjti.ac.in> wrote:
> video: bridge: add ITE IT66121 DPI-to-HDMI bridge driver
>
> Add support for the ITE IT66121 DPI-to-HDMI bridge chip. The IT66121
> converts parallel RGB/DPI video input to HDMI output. It is found on
> boards like the BeaglePlay where the TI AM625 SoC's DPI output is
> routed to an HDMI connector through this chip.
>
> The driver is based on the IT66121 Programmer Guide and the Linux
> kernel driver drivers/gpu/drm/bridge/ite-it66121.c.
>
> Tested on BeaglePlay hardware with HDMI output via TI TIDSS.
>
> Signed-off-by: Shaurya Rane <ssrane_b23 at ee.vjti.ac.in>
>
> drivers/video/bridge/Kconfig | 10 +
> drivers/video/bridge/Makefile | 1 +
> drivers/video/bridge/it66121.c | 580 +++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 591 insertions(+)
> diff --git a/drivers/video/bridge/it66121.c b/drivers/video/bridge/it66121.c
> @@ -0,0 +1,580 @@
> + ret = it66121_reg_set(dev, IT66121_AFE_DRV_REG, BIT(5), 0);
> + if (ret)
> + return ret;
> +
> + ret = it66121_reg_set(dev, IT66121_AFE_XP_REG, BIT(6) | BIT(2), 0);
> + if (ret)
> + return ret;
> +
> + ret = it66121_reg_set(dev, IT66121_AFE_IP_REG, BIT(6), 0);
> + if (ret)
> + return ret;
> +
> + ret = it66121_reg_set(dev, IT66121_AFE_DRV_REG, BIT(4), 0);
> + if (ret)
> + return ret;
> +
> + ret = it66121_reg_set(dev, IT66121_AFE_XP_REG, BIT(3), BIT(3));
> + if (ret)
> + return ret;
> +
> + ret = it66121_reg_set(dev, IT66121_AFE_IP_REG, BIT(2), BIT(2));
Thanks for the named defines for the AFE pclk settings. These
remaining bare BIT() constants in it66121_hw_init() could also benefit
from named defines or a comment explaining what they control.
> diff --git a/drivers/video/bridge/it66121.c b/drivers/video/bridge/it66121.c
> @@ -0,0 +1,580 @@
> +static int it66121_attach(struct udevice *dev)
> +{
> + struct it66121_priv *priv = dev_get_priv(dev);
> + struct display_timing timing;
> + unsigned long pclk_khz;
> + int bpp;
The bpp variable is retrieved from edid_get_timing() but never used.
Please can you either remove it or add a comment explaining why it is
intentionally unused.
Reviewed-by: Simon Glass <sjg at chromium.org>
Regards,
Simon
More information about the U-Boot
mailing list