[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f2909af1-be23-009b-ba71-34206f099473@ideasonboard.com>
Date: Thu, 28 Jul 2022 14:03:53 +0300
From: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>
To: Aradhya Bhatia <a-bhatia1@...com>
Cc: Darren Etheridge <detheridge@...com>, Nishanth Menon <nm@...com>,
Vignesh Raghavendra <vigneshr@...com>,
Rahul T R <r-ravikumar@...com>,
Krunal Bhargav <k-bhargav@...com>,
Devarsh Thakkar <devarsht@...com>,
DRI Development List <dri-devel@...ts.freedesktop.org>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
Rob Herring <robh+dt@...nel.org>,
Jyri Sarha <jyri.sarha@....fi>,
Devicetree List <devicetree@...r.kernel.org>,
Linux Kernel List <linux-kernel@...r.kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>
Subject: Re: [PATCH 4/8] drm/tidss: Add support for Dual Link LVDS Bus Format
On 19/07/2022 11:08, Aradhya Bhatia wrote:
> The 2 OLDI TXes in the AM625 SoC can be synced together to output a 2K
> resolution video.
>
> Add support in the driver for the discovery of such a dual mode
> connection on the OLDI video port, using the values of "ti,oldi-mode"
> property.
>
> Signed-off-by: Aradhya Bhatia <a-bhatia1@...com>
> ---
> drivers/gpu/drm/tidss/tidss_dispc.c | 39 +++++++++++++++++++++--------
> 1 file changed, 28 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/tidss/tidss_dispc.c b/drivers/gpu/drm/tidss/tidss_dispc.c
> index add725fa682b..fb1fdecfc83a 100644
> --- a/drivers/gpu/drm/tidss/tidss_dispc.c
> +++ b/drivers/gpu/drm/tidss/tidss_dispc.c
> @@ -853,25 +853,36 @@ void dispc_set_irqenable(struct dispc_device *dispc, dispc_irq_t mask)
> }
> }
>
> -enum dispc_oldi_mode_reg_val { SPWG_18 = 0, JEIDA_24 = 1, SPWG_24 = 2 };
> +enum dispc_oldi_mode_reg_val {
> + SPWG_18 = 0,
> + JEIDA_24 = 1,
> + SPWG_24 = 2,
> + DL_SPWG_18 = 4,
> + DL_JEIDA_24 = 5,
> + DL_SPWG_24 = 6,
> +};
>
> struct dispc_bus_format {
> u32 bus_fmt;
> u32 data_width;
> bool is_oldi_fmt;
> + bool is_dual_link;
> enum dispc_oldi_mode_reg_val oldi_mode_reg_val;
> };
>
> static const struct dispc_bus_format dispc_bus_formats[] = {
> - { MEDIA_BUS_FMT_RGB444_1X12, 12, false, 0 },
> - { MEDIA_BUS_FMT_RGB565_1X16, 16, false, 0 },
> - { MEDIA_BUS_FMT_RGB666_1X18, 18, false, 0 },
> - { MEDIA_BUS_FMT_RGB888_1X24, 24, false, 0 },
> - { MEDIA_BUS_FMT_RGB101010_1X30, 30, false, 0 },
> - { MEDIA_BUS_FMT_RGB121212_1X36, 36, false, 0 },
> - { MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, 18, true, SPWG_18 },
> - { MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, 24, true, SPWG_24 },
> - { MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, 24, true, JEIDA_24 },
> + { MEDIA_BUS_FMT_RGB444_1X12, 12, false, false, 0 },
> + { MEDIA_BUS_FMT_RGB565_1X16, 16, false, false, 0 },
> + { MEDIA_BUS_FMT_RGB666_1X18, 18, false, false, 0 },
> + { MEDIA_BUS_FMT_RGB888_1X24, 24, false, false, 0 },
> + { MEDIA_BUS_FMT_RGB101010_1X30, 30, false, false, 0 },
> + { MEDIA_BUS_FMT_RGB121212_1X36, 36, false, false, 0 },
> + { MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, 18, true, false, SPWG_18 },
> + { MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, 24, true, false, SPWG_24 },
> + { MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, 24, true, false, JEIDA_24 },
> + { MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, 18, true, true, DL_SPWG_18 },
> + { MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, 24, true, true, DL_SPWG_24 },
> + { MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, 24, true, true, DL_JEIDA_24 },
> };
So the dual link sends two pixels per clock, right? Are there panel or
bridge drivers that support this? My initial thought was that it should
be a new bus format.
Tomi
Powered by blists - more mailing lists