Re: BUG, i.MX: broken LVDS display

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sascha,

I first applied your 3 patches to 2015.09.0 with my old device tree. I
applied your suggest device tree change, now my device tree looks like this:

/ {
    ...
    panel: panel {
        compatible = "ampire,am800480r3tmqwa1h", "simple-panel";
        /* enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; */
        /* backlight = <&backlight>; */

        port {
                panel_in: endpoint {
                        remote-endpoint = <&lvds0_out>;
                };
        };
    };
};

&ldb {
    status = "okay";

    lvds-channel@0 {
        status = "okay";
        /* crtc = "ipu1-di0"; */
        fsl,data-mapping = "spwg";
        fsl,data-width = <18>;
        /* primary; */

        /* display-timings { */
        /*  native-mode = <&timing0>; */
        /*  timing0: AM-800600K1TMQW-01H-B { */
        /*      // dot clock: 40 - 50 MHz */
        /*         clock-frequency = <39701664>; // 72 Hz */
        /*      hactive = <800>; */
        /*      vactive = <600>; */
        /*      hsync-len = <3>;      // 1 - 40 */
        /*      hback-porch = <46>;   // 46 */
        /*      hfront-porch = <18>;  // 16 - 354 */
        /*      vsync-len = <10>;     // 1 - 29 */
        /*      vback-porch = <23>;   // 23 */
        /*      vfront-porch = <3>;   // 1 - 77 */
        /*      hsync-active = <1>; */
        /*  }; */
        /* }; */

        port@1 {
            reg = <1>;

            lvds0_out: endpoint {
                remote-endpoint = <&panel_in>;
            };
        };
    };
};

I disable the GPIO and Backlight stuff because on my device neither of this
is needed (backlight is handled by some microcontroller, yuck).

I also added CONFIG_SIMPLE_PANEL=y, CONFIG_DRIVER_VIDEO_EDID=y,
CONFIG_DRIVER_VIDEO_BACKLIGHT=y. I hadn't enabled before, without the last
two I get a compilation error.

My /env/bin/init contains this

splash -x 550 -y 500 -b 0xffffff /env/logo.png
fb0.enable=1

With that, I didn't get any video output. When I run "dmesg", I see
(relevant parts):

imx-ipuv3 2400000.ipu: IPUv3H probed
imx-ipuv3 2800000.ipu: IPUv3H probed
Console activated
...
imx-ipuv3-crtc imx-ipuv3-crtc0: register vpl for /soc/ipu@02400000
imx-ipuv3-crtc imx-ipuv3-crtc1: register vpl for /soc/ipu@02400000
imx-ipuv3-crtc imx-ipuv3-crtc2: register vpl for /soc/ipu@02800000
imx-ipuv3-crtc imx-ipuv3-crtc3: register vpl for /soc/ipu@02800000
running /env/bin/init...
VPL: vpl_ioctl: no port 4 on /soc/aips-bus@02000000/ldb@020e0008
/lvds-channel@0
imx-ipuv3-crtc imx-ipuv3-crtc0: ipu_crtc_mode_set: mode->xres: 800
imx-ipuv3-crtc imx-ipuv3-crtc0: ipu_crtc_mode_set: mode->yres: 600
VPL: vpl_ioctl: no port 4 on /soc/aips-bus@02000000/ldb@020e0008
/lvds-channel@0


And finally I also tried to to change "port@1"/"reg = <1>" to "port@4" /
"reg = <4>", but again to no avail:

imx-ipuv3 2400000.ipu: IPUv3H probed
imx-ipuv3 2800000.ipu: IPUv3H probed
Console activated
...
imx-ipuv3-crtc imx-ipuv3-crtc0: register vpl for /soc/ipu@02400000
imx-ipuv3-crtc imx-ipuv3-crtc0: probe failed: No such file or directory
imx-ipuv3-crtc imx-ipuv3-crtc1: register vpl for /soc/ipu@02400000
imx-ipuv3-crtc imx-ipuv3-crtc1: probe failed: No such file or directory
imx-ipuv3-crtc imx-ipuv3-crtc2: register vpl for /soc/ipu@02800000
imx-ipuv3-crtc imx-ipuv3-crtc2: probe failed: No such file or directory
imx-ipuv3-crtc imx-ipuv3-crtc3: register vpl for /soc/ipu@02800000
imx-ipuv3-crtc imx-ipuv3-crtc3: probe failed: No such file or directory
running /env/bin/init...


So I wonder where exactly barebox get's the timings on the GuF Vincell for
the Ampire display?   Probably the GuF board only sets up the display for
Linux, but doesn't in itself activate the framebuffer?  I grepped for
"Ampire" in Barebox git, and none of the files
(dts/Bindings/panel/ampire,am800480r3tmqwa1h.txt,
dts/Bindings/vendor-prefixes.txt, arch/arm/dts/imx53-guf-vincell.dts) seems
to contain any timings, so Barebox possibly cannot know how to setup the
timings ?!?!   To the best of my knowledge, the display doesn't have i2c
and therefore no EDID, and in my hardware there isn't any i2c going to the
display anyway.


But even when I re-enable the uncommented timings section, I won't get any
output. And also even with the totally unmodified DTS (which works for
barebox 2015.08.0 and also for Linux 4.18.21) which included the timings
barebox doesn't show me the splash.


If you wish, I could do the test with barebox.git as well.


Holger

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux