[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