[PATCH 11/11] ARM: versatile: move CLCD configuration to device tree

Linus Walleij linus.walleij at linaro.org
Tue Feb 23 02:10:33 PST 2016


On Tue, Feb 23, 2016 at 10:34 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> On Tuesday 23 February 2016 10:08:05 Linus Walleij wrote:
>> I will think of a better solution, if any, for this for v4.6, but will
>> put forward something that handles the Nomadik and all the
>> other ARM reference designs for now.
>>
>
> How about still describing all known panels in the DT marked 'status="disabled"',
> but then having a minimal piece of board specific code that just enables
> whichever one gets detected at boot time?

Close but no cigar :D

It means that all panels (enabled and all disabled) have to have the same
endpoint in the of_graph.

I tried it:

    panel at 0 {
        compatible = "panel-dpi";
        port {
            clcd_panel: endpoint {
                remote-endpoint = <&clcd_pads>;
            };
        };
(...)

    panel at 1 {
        compatible = "panel-dpi";
        port {
            clcd_panel: endpoint {
                remote-endpoint = <&clcd_pads>;
            };
        };
(...)


        display at 10120000 {
(...)
            port {
(...)
                clcd_pads: endpoint at 0 {
                    reg = <0>;
                    remote-endpoint = <&clcd_panel>;
                    arm,pl11x,tft-r0g0b0-pads = <1 7 13>;
                };
            };



Building the device tree:

ERROR (duplicate_label): ERROR (duplicate_label): Duplicate label
'clcd_panel' on /panel at 1/port/endpoint and /panel at 0/port/endpoint
Duplicate label 'clcd_panel' on /panel at 1/port/endpoint and
/panel at 0/port/endpoint

So the dtc does not allow duplicate node labels for the phandle
even if the node it resides in is disabled. Tough luck...

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list