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-bhatia1@xxxxxx> >> >> 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