BUG, i.MX: broken LVDS display

Holger Schurig holgerschurig at gmail.com
Sun Sep 20 23:46:27 PDT 2015


Hi,

on my i.MX6Q device barebox 2015-08.0 worked and I had an output on the splash screen, both in Barebox and later in Linux (there with CONFIG_STAGING, CONFIG_DRM_IMX, 
DRM_IMX_FB_HELPER, DRM_IMX_LDB, DRM_IMX_IPUV3).

This stopped with 2015-09.0. I even get a null-pointer exception:


Barebox: version 2015.09.0, DLoG 2015-09.1-9-g498cf3a
unable to handle NULL pointer dereference at address 0x00000008
pc : [<4fe1072a>]    lr : [<4fe10719>]
sp : 4ffffa18  ip : 4ffffa68  fp : 4ffffd80
r10: 3032678c  r9 : 00000000  r8 : 00000000
r7 : 30343904  r6 : 303438b8  r5 : 00000000  r4 : 303438b8
r3 : 00000000  r2 : 4fe31c78  r1 : 00000000  r0 : 00000006
Flags: nzcv  IRQs off  FIQs off  Mode SVC_32
[<4fe1072a>] (ipu_crtc_mode_set+0x2a/0x1cc) from [<4fe108f5>] (ipufb_enable_controller+0x29/0x44)
[<4fe108f5>] (ipufb_enable_controller+0x29/0x44) from [<4fe0e8e5>] (fb_enable_set+0x15/0x18)
[<4fe0e8e5>] (fb_enable_set+0x15/0x18) from [<4fe1bd6d>] (param_int_set+0x33/0x44)
[<4fe1bd6d>] (param_int_set+0x33/0x44) from [<4fe1bfab>] (dev_set_param+0x43/0x50)
[<4fe1bfab>] (dev_set_param+0x43/0x50) from [<4fe03257>] (setenv+0x37/0xac)
[<4fe03257>] (setenv+0x37/0xac) from [<4fe056cb>] (set_local_var.isra.3+0x37/0x4c)
[<4fe056cb>] (set_local_var.isra.3+0x37/0x4c) from [<4fe0622d>] (run_list_real+0x2ed/0x628)
[<4fe0622d>] (run_list_real+0x2ed/0x628) from [<4fe061c5>] (run_list_real+0x285/0x628)

[<4fe2d7cd>] (unwind_backtrace+0x1/0x74) from [<4fe00d65>] (panic+0x1d/0x2c)
[<4fe00d65>] (panic+0x1d/0x2c) from [<4fe2dca1>] (do_exception+0xd/0x10)
[<4fe2dca1>] (do_exception+0xd/0x10) from [<4fe2dd09>] (do_data_abort+0x21/0x2c)
[<4fe2dd09>] (do_data_abort+0x21/0x2c) from [<4fe2d9d4>] (do_abort_6+0x48/0x54)





I think (!) this is because of commit "video: ipuv3: Replace ipu_output with VPL".


My current device tree looks like this:

&ldb {
	status = "okay";

	lvds-channel at 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>;
			};
		};
	};
}


I experimented with barebox 2015.09.0 with several things, but so far haven't been successfull.



Any hint on how the device tree is now supposed to look like?



More information about the barebox mailing list