[PATCH v4 12/14] drm/tidss: Add support for AM62P display subsystem
Tomi Valkeinen
tomi.valkeinen at ideasonboard.com
Tue Nov 3 00:21:53 PST 2026
Hi,
On 02/11/2026 16:02, Aradhya Bhatia wrote:
> Hi Tomi,
>
> On 29/10/26 10:18, Tomi Valkeinen wrote:
>> From: Swamil Jain <s-jain1 at ti.com>
>>
>> The DSS controller on TI's AM62P SoC features two instances of the TI
>> DSS. Each DSS instance supports two video ports, similar to the DSS
>> controller found on the TI AM62X SoC. This allows three independent
>> video streams to be supported: OLDI, DPI, and DSI.
>>
>> Since the DSS instances on AM62P are architecturally similar to those
>> on the AM62X DSS controller, the existing dispc_am625_feats
>> configuration can be reused for the AM62P DSS support.
>>
>> This commit adds the necessary device tree compatibility entry for
>> "ti,am62p-dss" in the tidss driver, pointing to dispc_am625_feats,
>> thereby enabling DSS support on AM62P devices.
>>
>> Signed-off-by: Swamil Jain <s-jain1 at ti.com>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
>
> Reviewed-by: Aradhya Bhatia <aradhya.bhatia at linux.dev>
>
>> ---
>> drivers/gpu/drm/tidss/tidss_drv.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/tidss/tidss_drv.c b/drivers/gpu/drm/tidss/tidss_drv.c
>> index 44b0b009c29a..8e3cbfb5ef87 100644
>> --- a/drivers/gpu/drm/tidss/tidss_drv.c
>> +++ b/drivers/gpu/drm/tidss/tidss_drv.c
>> @@ -240,6 +240,7 @@ static const struct of_device_id tidss_of_table[] = {
>> { .compatible = "ti,am625-dss", .data = &dispc_am625_feats, },
>> { .compatible = "ti,am62a7-dss", .data = &dispc_am62a7_feats, },
>
> On a separate note,
>
> Now that `vp_bus_type` support has been dropped, the only thing
> different `dispc_am62a7_feats` has from `dispc_am625_feats` is the
> subrev macro.
>
> The DSS in AM62A7 SoC is functionally same with that in AM625 SoC; the
> only difference being the absence of both the OLDI TXes in AM62A7.
>
> The dt-bindings enforce that rule.
>
> The only place subrev DISPC_AM625 is used, and subrev DISPC_AM62A7 is
> not, is for an OLDI reset done log print.
>
> if (dispc->feat->subrev == DISPC_AM625 ||
> dispc->feat->subrev == DISPC_AM65X)
> dev_dbg(dispc->dev, "OLDI RESETDONE %d,%d,%d\n",
> REG_GET(dispc, DSS_SYSSTATUS, GENMASK(5, 5)),
> REG_GET(dispc, DSS_SYSSTATUS, GENMASK(6, 6)),
> REG_GET(dispc, DSS_SYSSTATUS, GENMASK(7, 7)));
>
> Should we consider some workaround for this print, so that we can
> entirely drop `dispc_am62a7_feats`?
Indeed, this allows us to do a nice cleanup. Good catch! I think it's
fine, we'll just print those bits on AM62A7, I don't see any harm in that.
Tomi
More information about the linux-arm-kernel
mailing list