Hi,

On 18/03/25 19:05, Sverdlin, Alexander wrote:
> Hi Aradhya!
> 
> On Sun, 2024-11-24 at 20:06 +0530, Aradhya Bhatia wrote:
>> From: Aradhya Bhatia <a-bhat...@ti.com>
>>
>> The AM62x and AM62Px SoCs feature 2 OLDI TXes each, which makes it
>> possible to connect them in dual-link or cloned single-link OLDI display
>> modes. The current OLDI support in tidss_dispc.c can only support for
>> a single OLDI TX, connected to a VP and doesn't really support
>> configuration of OLDIs in the other modes. The current OLDI support in
>> tidss_dispc.c also works on the principle that the OLDI output can only
>> be served by one, and only one, DSS video-port. This isn't the case in
>> the AM62Px SoC, where there are 2 DSS controllers present that share the
>> OLDI TXes.
>>
>> Having their own devicetree and their own bridge entity will help
>> support the various display modes and sharing possiblilities of the OLDI
>> hardware.
>>
>> For all these reasons, add support for the OLDI TXes as DRM bridges.
> 
> ...
> 
>> +int tidss_oldi_init(struct tidss_device *tidss)
>> +{
>> +    struct tidss_oldi *oldi;
>> +    struct device_node *child;
>> +    struct drm_bridge *bridge;
>> +    u32 parent_vp, oldi_instance, companion_instance;
>> +    enum tidss_oldi_link_type link_type = OLDI_MODE_UNSUPPORTED;
>> +    struct device_node *oldi_parent;
>> +    int ret = 0;
>> +
>> +    tidss->num_oldis = 0;
>> +
>> +    oldi_parent = of_get_child_by_name(tidss->dev->of_node, 
>> "oldi-transmitters");
>> +    if (!oldi_parent)
>> +            /* Return gracefully */
>> +            return 0;
>> +
>> +    for_each_child_of_node(oldi_parent, child) {
> 
> Would for_each_available_child_of_node() make sense here so that
> k3-am62-main.dtsi would have both ports with status = "disabled" and
> the users will enable one or another?
> 

Thank you for the suggestion!

for_each_available_child_of_node() does seem to be the better option.
I will send another revision.


-- 
Regards
Aradhya

Reply via email to