mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Philippe Leduc <ledphilippe@gmail.com>
Cc: barebox@lists.infradead.org
Subject: Re: Help configuring i.MX6 IPUv3 with a parrallel display
Date: Tue, 23 Feb 2016 09:32:36 +0100	[thread overview]
Message-ID: <20160223083236.GA3939@pengutronix.de> (raw)
In-Reply-To: <CABQt-UnnTJffkX_6hCXOjh+hgkjiGausWuuCwwEWncvpoiTqAQ@mail.gmail.com>

On Mon, Feb 22, 2016 at 05:41:01PM +0100, Philippe Leduc wrote:
> Hello,
> 
> I would like to use the barebox framebuffer on a iMX6S chip. My goal
> is to display a splashscreen. However, I can't manage to use the
> framebuffer for now...
> 
> Here is the output of "devinfo fb0":
> Resources:
>   num: 0
>   start: 0x00000000
>   size: 0x00000000
> Available modes:
> Parameters:
>   enable: 0
>   mode_name: invalid:0
>   shadowfb: 1
> 
> Is this a correct behavior that there is NO availables modes? I do not
> manage to add one through the DTS.
> 
> If I try to enable the framebuffer (fb0.enable=1), barebox hangs:
> fb0.enable=1
> unable to handle NULL pointer dereference at address 0x0000001d
> pc : [<2ff1ab1c>]    lr : [<2ff17f41>]
> sp : 2ffffa3c  ip : 2ff1a3fa  fp : 2ffffa78
> r10: 20212d0c  r9 : 00000000  r8 : 00000000
> r7 : 20024210  r6 : f57fffff  r5 : 0c000000  r4 : 0000001d
> r3 : 2ff1a1e5  r2 : 0c000000  r1 : 0000005c  r0 : 00000022
> Flags: nzcv  IRQs off  FIQs off  Mode SVC_32
> [<2ff1ab1c>] (clk_is_enabled+0x34/0x38) from [<7f8d1fc0>] (0x7f8d1fc0)
> 
> [<2ff389d9>] (unwind_backtrace+0x1/0x58) from [<2ff00d19>] (panic+0x1d/0x34)
> [<2ff00d19>] (panic+0x1d/0x34) from [<2ff38e7d>] (do_exception+0xd/0x10)
> [<2ff38e7d>] (do_exception+0xd/0x10) from [<2ff38edd>] (do_data_abort+0x21/0x2c)
> [<2ff38edd>] (do_data_abort+0x21/0x2c) from [<2ff38bd4>] (do_abort_6+0x48/0x54)
> Switch to console [serial0]
> 
> Here is what I put in the DTS to enable the display:
> 
> display0: display@di0 {
>       compatible = "fsl,imx-parallel-display";
> //      crtcs = <&ipu1 0>;
>       interface-pix-fmt = "rgb24";
>       pinctrl-names = "default";
>       pinctrl-0 = <&pinctrl_ipu_disp>;
>       status = "okay";
> 
>       display-timings {
>         rk043fn07h {
>           native-mode;
>           clock-frequency = <9000000 15000000>;
>           hactive = <480>;
>           vactive = <272>;
>           hfront-porch = <2 2 82>;
>           hback-porch = <2 2 41>;
>           hsync-len = <2 41 41>;
>           vback-porch = <1 2 11>;
>           vfront-porch = <1 2 227>;
>           vsync-len = <1 10 11>;
>           pixelclk-active = <1>;
>           hsync-active = <0>;
>           vsync-active = <0>;
>           de-active = <1>;
>         };
>       };
> 
>       port {
>         display0_in: endpoint {
>           remote-endpoint = <&ipu1_di0_disp0>;
>         };
>       };
> 
> 
> &ipu1_di0_disp0 {
>   remote-endpoint = <&display0_in>;
> };

Parallel display support for IPUv3 is not yet implemented. What's
missing is a driver that matches to "fsl,imx-parallel-display", calls
vpl_register on its own node and returns the display timings parsed from
device tree in the VPL_GET_VIDEOMODES callback.

You could try the following binding instead. It doesn't use the
"fsl,imx-parallel-display" compatible but the "simple-panel" binding
instead. Since IPU parallel display support is a no-op anyway this
should work. Note that this binding is not compatible with the kernel
since the maintainer refuses to let display timings into the device tree
for simple panels.

panel {
	compatible = "simple-panel";

	display-timings {
		/* your timings here */
	};

	port {
		display0_in: enpoint {
			remote-endpoint = <&ipu1_di0_disp0>;
		};
	};
};

&ipu1_di0_disp0 {
	interface-pix-fmt = "rgb24";
	remote-endpoint = <&display0_in>;
};

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

  reply	other threads:[~2016-02-23  8:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22 16:41 Philippe Leduc
2016-02-23  8:32 ` Sascha Hauer [this message]
2016-02-23 11:47   ` Philippe Leduc
2016-02-24  8:22     ` Philippe Leduc
2016-02-24 11:15       ` Sascha Hauer
2016-02-24 12:39         ` Philippe Leduc
2016-02-24 12:43           ` Sascha Hauer
2016-02-24 12:50             ` Philippe Leduc
2016-02-24 13:46               ` Philippe Leduc
2016-02-24 18:15                 ` Sascha Hauer
2016-02-25  8:44                   ` Philippe Leduc
2016-02-25  9:16                 ` Holger Schurig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160223083236.GA3939@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=ledphilippe@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox