On Thu, Oct 1, 2015 at 3:59 AM, Philipp Zabel p.zabel@pengutronix.de wrote:
Am Mittwoch, den 30.09.2015, 12:13 -0500 schrieb Rob Herring:
On Mon, Sep 21, 2015 at 3:11 AM, Philipp Zabel p.zabel@pengutronix.de wrote:
Note how the display-subsystem node overlaps the larb node. Is that acceptable?
Given what the graph looks like, perhaps. However, do you really need a container node? It only serves to provide a list of nodes (e.g. all the children) to include as components. There are other ways to determine this list. You could find all nodes just searching compatible strings for each component. You just need to bind the drm driver to some other DT node. Is there no node you can pick as the master component?
There is the mmsys clock-controller node at the top of the MMSYS address space (0x14000000-0x14ffffff):
mmsys: clock-controller@14000000 { compatible = "mediatek,mt8173-mmsys", "syscon"; reg = <0 0x14000000 0 0x1000>; #clock-cells = <1>; };
Its register space also contains the MMSYS_CONFIG region that controls the multiplexers between the display function blocks, so that would be a good candidate. No driver binds to this node yet, the clocks are registered with CLK_OF_DECLARE.
I'll try to bind to this node and have the driver find sibling nodes using their compatible strings.
That doesn't seem like a good choice since there are other functions in the block. I was thinking one of the display related blocks like whatever block provides the main crtc functions.
Rob