Hi Daniel, 2015-11-21 22:40 GMT+09:00 Daniel Stone <daniel@xxxxxxxxxxxxx>: > Hi Inki, > > On 21 November 2015 at 09:38, Inki Dae <daeinki@xxxxxxxxx> wrote: >> 2015-11-21 1:44 GMT+09:00 Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>: >>> On 11/20/2015 08:13 AM, Inki Dae wrote: >>>> The boot log says, >>>> [ 5.754493] vdd_ldo9: supplied by vdd_2v >>>> [ 5.765510] of_graph_get_next_endpoint(): no port node found in /dp-controller@145B0000 >>>> >>> >>> This message is a red herring for the reported issue, the message is also >>> present when the machine boots and the display is brought correctly. >>> >>>> Seems this error is because exynos5800-peach-pit.dts file doesn't have 'ports' node in dp node. >>>> >>>> Below is dp node description of exynos5420-peach-pit.dts file. >>>> &dp { >>>> status = "okay"; >>>> pinctrl-names = "default"; >>>> pinctrl-0 = <&dp_hpd_gpio>; >>>> samsung,color-space = <0>; >>>> samsung,dynamic-range = <0>; >>>> samsung,ycbcr-coeff = <0>; >>>> samsung,color-depth = <1>; >>>> samsung,link-rate = <0x06>; >>>> samsung,lane-count = <2>; >>>> samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; >>>> >>>> ports { >>>> port@0 { >>>> dp_out: endpoint { >>>> remote-endpoint = <&bridge_in>; >>>> }; >>>> }; >>>> }; >>>> }; >>>> >>>> And below is for exynos5800-peash-pit.dts, >>>> &dp { >>>> status = "okay"; >>>> pinctrl-names = "default"; >>>> pinctrl-0 = <&dp_hpd_gpio>; >>>> samsung,color-space = <0>; >>>> samsung,dynamic-range = <0>; >>>> samsung,ycbcr-coeff = <0>; >>>> samsung,color-depth = <1>; >>>> samsung,link-rate = <0x0a>; >>>> samsung,lane-count = <2>; >>>> samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; >>>> panel = <&panel>; >>>> }; >>>> >>> >>> The difference is because the Exynos5420 Peach Pit Display Port is not >>> attached directly to the display panel, there is an eDP/LVDS bridge chip >>> in the middle (PS8622) while the Exynos5800 Peach Pi doesn't have that. >>> >>> The Exynos DP driver lookups for either a panel phandle or an OF graph >>> endpoint that points to a bridge chip and the bridge enpoint has a port >>> that points to the panel. >>> >>> So the DT is correct but of_graph_get_next_endpoint() always prints an >> >> Then, the DT is really incorrect. As you mentioned, if the Exynos5800 Peach PI >> board doesn't use eDP, then the dp node __should be removed__ from >> exynos5800-peach-pit.dts. >> >> From a common-sense standpoint, there is no any reason to build >> and probe dp driver if the board doesn't use dp hardware. > > I agree with what you say, but unfortunately you've slightly misread > what Javier has said. :) exynos5420-peach-pit has an LVDS panel, with > the eDP -> LVDS bridge in between (ps8622). exynos5800-peach-pi (from > which I am writing this) has an eDP panel directly connected. The DT > describes both the eDP connector from FIMD and the eDP panel, except > that there is no connection between the DT nodes. Right. I misread what Javier said. :) > >>> error if the port so OF graph endpoints it seems can't be optional as >>> used in this driver. Maybe that message should be change to debug then? >>> >>> Another option is to extend the DP driver DT binding to be more generic >>> supporting having a port to a panel besides a bridge, so we could have >>> something like this for Exynos5800 Peach and be consistent in both cases: >> >> It's really not good. This would make it more complex. The best >> solution is just to >> remove the dt node from the device tree file. > > Given the above, not really. Javier's patch seems correct to me - as > you can see, there is a panel node, and that is the panel that's > really connected. Indeed. Javier's patch will correct it. Thanks, Inki Dae > >>> --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts >>> +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts >>> @@ -122,6 +122,12 @@ >>> compatible = "auo,b133htn01"; >>> power-supply = <&tps65090_fet6>; >>> backlight = <&backlight>; >>> + >>> + port { >>> + panel_in: endpoint { >>> + remote-endpoint = <&dp_out>; >>> + }; >>> + }; >>> }; >>> >>> mmc1_pwrseq: mmc1_pwrseq { >>> @@ -148,7 +154,14 @@ >>> samsung,link-rate = <0x0a>; >>> samsung,lane-count = <2>; >>> samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; >>> - panel = <&panel>; >>> + >>> + ports { >>> + port@0 { >>> + dp_out: endpoint { >>> + remote-endpoint = <&panel_in>; >>> + }; >>> + }; >>> + }; >>> }; > > Cheers, > Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html