Hello there.
I have one of these:
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
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.
for issues with linux-fslc one can post to meta-fsl-arm mailing list
https://lists.yoctoproject.org/listinfo/meta-freescale
Best regards
igor
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 ...
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?
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?
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
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!
-----------------------------------------------------------------------------------------------------------------------
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.