Yocto, Poky, Itron and Framebuffer Screen problems

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Yocto, Poky, Itron and Framebuffer Screen problems

2,080 Views
benjaminblundel
Contributor I

Hello there.

I have one of these:

Noritake Itron VFD Display Modules - VFD Displays compatible with LCD Modules Graphic Displays and C... 

Its a smart screen with a TFT touch sensitive module, CANBUS, Ethernet and all the rest. Its powered by an iMX28 and apparently has an MSX Memory LCD Driver of some description. It supports linux via Poky and Yocto.

I've managed to build the image for this board from the instructions given by the company. I can get a shell via a serial cable and all seems fine. However, the screen wont turn on. No backlight either. I'm not sure what to do next.

I notice there is a framebuffer device /dev/fb0 available and the patches for the kernel that itron provides makes mention of a special driver for the screen. I was wondering, is there something I need to pass to the Kernel at boot (through U-Boot) to tell the framebuffer where to attach? I'm drawing a blank at the moment. I've tried contacting the company in question but they've been very unresponsive.

Is there perhaps a guide on using Freescale devices with framebuffers I can look up somewhere perhaps? Any help at all would be great!

Cheers

Ben

Labels (4)
Tags (3)
0 Kudos
8 Replies

1,428 Views
benjaminblundel
Contributor I

So it looks like linux-fslc and the latest release of fsl-community and meta-freescale are the layers I need.

I think, using bitbake -f -c compile linux-fslc will rebuild the kernel. I just then need to rebuild the image.

The problem is, I don't see any difference at bootup:

DRAM: Device Memory Config 1
DRAM: 128MB x 2
LLC

U-Boot 2015.10-00407-g83bf005-dirty (Oct 26 2016 - 09:39:34 +0100)

CPU: Freescale i.MX28 rev1.2 at 454 MHz
BOOT: I2C #0, master, 3V3
SPI: ready
DRAM:
RAM Configuration:
Bank #0: 40000000 Bank #1: 0 256 MiB
Board Init
Itron: Device Serial Number 1562445
MMC: MXS MMC: 0, MXS MMC: 1
MMC0: bus width = 1
MMC0: clock speed = 1
MMC0: bus width = 4
MMC0: clock speed = 13000000
*** Warning - bad CRC, using default environment

Video: MXSFB: 'videomode' variable not set!
In: serial
Out: serial
Err: serial
Net: FEC0 [PRIME] MAC address - 5c:f2:86:b0:0a:6a, FEC1 MAC address - 5c:f2:86:b0:0a:6b
Hit any key to stop autoboot: 0
checking SD zImage
zImage found
Booting Linux from SD
MMC0: bus width = 1
MMC0: clock speed = 1
MMC0: bus width = 4
MMC0: clock speed = 13000000
switch to partitions #0, OK
mmc0 is current device
reading zimage
4184184 bytes read in 1783 ms (2.2 MiB/s)
Kernel image @ 0x42000000 [ 0x000000 - 0x3fd878 ]

Starting kernel ...

If only I could find out some more data as to why it is halting and not going anywhere? For all I know it could still be running but the output has gone to a blank screen as oppose to the serial console /dev/ttyAM0

I've tried adding the kernel boot variables for debugging but that makes no difference at all.

0 Kudos

1,428 Views
igorpadykov
NXP Employee
NXP Employee

for issues with linux-fslc one can post to meta-fsl-arm mailing list
https://lists.yoctoproject.org/listinfo/meta-freescale

Best regards
igor

0 Kudos

1,428 Views
benjaminblundel
Contributor I

So I noticed one can force a kernel rebuild with:

bitbake -f -c compile virtual/kernel

However, I don't see any changes at all to the boot sequence. I have added extra lines to enable the debugger in the kernel itself (using make menuconfig to actually hardcode the kernel boot parameters).

At the moment, it is difficult to be certain that the changes I'm making to the kernel are actually being transferred to the sdcard and run.

Also, I have no idea what this videomode variable is as the correct variable, I believe, is video=XXX which I've set.

DRAM: Device Memory Config 1
DRAM: 128MB x 2
LLC

U-Boot 2015.10-00407-g83bf005-dirty (Oct 26 2016 - 09:39:34 +0100)

CPU: Freescale i.MX28 rev1.2 at 454 MHz
BOOT: I2C #0, master, 3V3
SPI: ready
DRAM:
RAM Configuration:
Bank #0: 40000000 Bank #1: 0 256 MiB
Board Init
Itron: Device Serial Number 1562445
MMC: MXS MMC: 0, MXS MMC: 1
MMC0: bus width = 1
MMC0: clock speed = 1
MMC0: bus width = 4
MMC0: clock speed = 13000000
*** Warning - bad CRC, using default environment

Video: MXSFB: 'videomode' variable not set!
In: serial
Out: serial
Err: serial
Net: FEC0 [PRIME] MAC address - 5c:f2:86:b0:0a:6a, FEC1 MAC address - 5c:f2:86:b0:0a:6b
Hit any key to stop autoboot: 0
checking SD zImage
zImage found
Booting Linux from SD
MMC0: bus width = 1
MMC0: clock speed = 1
MMC0: bus width = 4
MMC0: clock speed = 13000000
switch to partitions #0, OK
mmc0 is current device
reading zimage
4196752 bytes read in 1789 ms (2.2 MiB/s)
Kernel image @ 0x42000000 [ 0x000000 - 0x400990 ]

Starting kernel ...

0 Kudos

1,428 Views
benjaminblundel
Contributor I

Thanks! I'll try that. Is there any way to force a rebuild of the kernel and recreate the image using bitbake? Annoyingly, I can run:

bitbake -c menuconfig virtual/kernel

and get myself a new kernel setup but this is not reflected in the core-image-minimal

A thought occurs - is virtual/kernel incorrect? Is this rebuilding only the kernel for the qemu emulated side of things and not the actual sd-card image?

0 Kudos

1,428 Views
benjaminblundel
Contributor I

So I've tried this and used the latest freescale imx28evk release from the github page. With my serial console I get the following:

Video: MXSFB: 'videomode' variable not set!
In: serial
Out: serial
Err: serial
Net: FEC0 [PRIME] MAC address - 5c:f2:86:b0:0a:6a, FEC1 MAC address - 5c:f2:86:b0:0a:6b
Hit any key to stop autoboot: 0
checking SD zImage
zImage found
Booting Linux from SD
MMC0: bus width = 1
MMC0: clock speed = 1
MMC0: bus width = 4
MMC0: clock speed = 13000000
switch to partitions #0, OK
mmc0 is current device
reading zimage
4183896 bytes read in 1785 ms (2.2 MiB/s)
Kernel image @ 0x42000000 [ 0x000000 - 0x3fd758 ]

Starting kernel ...

the system halts on starting kernel - Is there any way to get a little more information on why this happens?

0 Kudos

1,428 Views
igorpadykov
NXP Employee
NXP Employee

in general one can try to debug it using AN4553 Using Open Source

Debugging Tools for Linux on i.MX Processors
http://www.nxp.com/assets/documents/data/en/application-notes/AN4553.pdf

Best regards
igor

0 Kudos

1,428 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ben

one can start to make it working in uboot as splashscreen, it is described in

https://community.nxp.com/thread/315566?commentID=362371#comment-362371 

also please check

Patch for i.MX28's 8080 mode Lcd panel driver 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,428 Views
benjaminblundel
Contributor I

Thankyou for the quick reply. I shall try and add these kernel parameters to the default U-Boot somehow. I believe there is an option in the build process somewhere within Yocto / Poky but I don't quite know where yet. I'll have a look.

0 Kudos