imx IPU2 video out

Lucas Stach l.stach at pengutronix.de
Wed Oct 21 02:54:38 PDT 2015


Am Dienstag, den 20.10.2015, 10:22 -0400 schrieb Akshay Bhat:
> Hi,
> 
> We are trying to use IPU2 DI0 for LVDS and IPU1 DI0 for HDMI on a iMX6Q 
> based board. Below is the ldb entry in device tree and with these 
> settings the LVDS is still being mapped to IPU1. Is there something 
> missing/incorrect in the dts entry? The board is running 4.3-rc5 kernel.
> 
The DT includes all possible connections and you should not need to
modify it in any way as it is describing the hardware.

What IPU to use is purely a software decision. IPU1 is used by default
with the in-kernel framebuffer emulation layer as it will pick the
lowest possible CRTC, and thus always picks one of the IPU1 DIs. If you
want to use something different for any reason you need to explicitly
set a mode with a different CRTC through the KMS interface.

Regards,
Lucas
 
> &ldb {
>          assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
>                            <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
>          assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
>                                   <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
>          fsl,dual-channel;
>          status = "okay";
> 
>          lvds0: lvds-channel at 0 {
>                  fsl,data-mapping = "spwg";
>                  fsl,data-width = <24>;
>                  status = "okay";
>                  display-timings {
>                          native-mode = <&timing0>;
>                          timing0: stdp4028 {
>                                  clock-frequency = <137143857>;
>                                  hactive = <1920>;
>                                  vactive = <1080>;
>                                  hback-porch = <100>;
>                                  hfront-porch = <40>;
>                                  vback-porch = <30>;
>                                  vfront-porch = <3>;
>                                  hsync-len = <10>;
>                                  vsync-len = <2>;
>                          };
>                  };
>                  port at 2 {
>                          reg = <2>;
>                          lvds0_in: endpoint {
>                                  remote-endpoint = <&ipu2_di0_lvds0>;
>                          };
>                  };
>          };
> };
> 
> I have also tried 2 other settings with the same result:
> &ldb {
> ..............
>                  port {
>                          lvds0_in: endpoint {
>                                  remote-endpoint = <&ipu2_di0_lvds0>;
>                          };
>                  };
> };
> 
> and also:
> &ldb {
> ..............
>                  port {
>                          lvds0_in: endpoint {
>                                  remote-endpoint = <&ipu2_di0_disp0>;
>                          };
>                  };
> };
> 
> &ipu2_di0_disp0 {
>          remote-endpoint = <&lvds0_in>;
> };
> 
> If i dump the clock tree, the use count for ipu2_diX interface show ipu2 
> is not being used.
> clock                    parent                   use      rate
> ipu1_di0                 clk                       1  148500000
> ipu1_di1                 clk                       1  137142857
> ipu2_di0                 clk                       0   49500000
> ipu2_di1                 clk                       0   49500000
> 
> Thanks,
> Akshay
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |



More information about the dri-devel mailing list