u-boot preventing access to NAND chip on imx28evk board
All,
I'm needing to access the NAND chip on the imx28evk board with the
Linux (Freescale Kernel - FSL). I've compiled a recent version of the mainstream u-boot with the NAND switches and U-boot works fine. The U-boot also allows me access to the NAND chip and also boots the FSL kernel just fine. However, once the kernel is running, it can not "see" the /dev/mtdX devices.
However, if I boot the *same* kernel directly (no U-boot - and
attach boot-stream to kernel) the FSL kernel works fine and can gets the /dev/mtdX etc devices. I tracked this down to a couple of differences that are output during the kernel booting process. I also can replicate this problem with no NAND chip in the socket. I can do this by using the script that comes with the imx28evk that is used for formatting the SDCard for booting. The mk_mx28_sd script writes the uboot, kernel, and rootfs to an SDcard depending on the parameters. So if I write the uboot to the card and boot the imx28 from uboot and network boot uImage I get the error. If I write the kernel to the card and boot the imx28 with it I get no error (Using the same kernel). Here are the steps
1. Setup card for kernel boot
- run mk_mx28_sd -b /dev/sdb (only writes kernel with bootstream on card)
- place card in imx28 and boot it
- the kernel (while booting) outputs these lines:
...
...
i.MX GPMI NFC
NFC: Version 1, 8-chip GPMI and BCH
Boot ROM: Version 1, Single-chip boot area, block mark swapping supported Scanning for NAND Flash chips...
No NAND device found.
gpmi-nfc gpmi-nfc.0: Chip scan failed
...
...
2. Setup card for uboot
-setup your host ubuntu so uboot can tftp your kernel -use *same* kernel from #1 (but use uImage) -run mk_mx28_sd -u -b /dev/sdb (only writes uboot with bootstream on card) -place card in imx28 and boot it -you may have to edit uboot parms to get your uImage from your host -Allow kernel to boot, it will output these lines:
...
i.MX GPMI NFC
NFC: Version 1, 8-chip GPMI and BCH
gpmi-nfc: probe of gpmi-nfc.0 failed with error 1 ...
...
So maybe U-boot does some things that prevents kernel from working or the kernel with the boot stream added on does the right things ?
Thanks,
Bill
Quoted 8 lines · Bill
All,
I'm needing to access the NAND chip on the imx28evk board with the Linux
(Freescale Kernel - FSL). I've compiled a recent version of the mainstream u-boot with the NAND switches and U-boot works fine. The U-boot also allows me access to the NAND chip and also boots the FSL kernel just fine. However, once the kernel is running, it can not "see" the/dev/mtdXdevices.
Quoted 11 lines
However, if I boot the *same* kernel directly (no U-boot - and attach
boot-stream to kernel) the FSL kernel works fine and can gets the/dev/mtdXetc devices. I tracked this down to a couple of differences that are output during the kernel booting process. I also can replicate this problem with no NAND chip in the socket. I can do this by using the script that comes with the imx28evk that is used for formatting the SDCard for booting. Themk_mx28_sdscript writes the uboot, kernel, and rootfs to an SDcard depending on the parameters. So if I write the uboot to the card and boot the imx28 from uboot and network boot uImage I get the error. If I write the kernel to the card and boot the imx28 with it I get no error (Using the same kernel). Here are the steps
Last week I tried accessing NAND using U-boot mainline + kernel mainline and it worked fine.
Can you try it?
Haven't tested with FSL 2.6.35 kernel though.
Regards,
Fabio Estevam
[U-Boot] Configure U-boot to output to LCD on imx28evk board
In reply to BillAll,
Is it possible to configure u-boot output (console) to the LCD on
the imx28evk board? I see in the u-boot configuration options switches for LCD support: CONFIG_LCD. However, I don't see an LCD display that matches the one on the imx28evk?
Thanks,
Bill
[U-Boot] Configure U-boot to output to LCD on imx28evk board
Hi Bill,
Quoted 6 lines · Bill
All,
Is it possible to configure u-boot output (console) to the LCD on the
imx28evk board? I see in the u-boot configuration options switches for LCD
support:CONFIG_LCD. However, I don't see an LCD display that matches the one on the imx28evk?
Yes, this is possible, but currently there is no mxs framebuffer support in U-boot.
Regards,
Fabio Estevam
[U-Boot] Configure U-boot to output to LCD on imx28evk board
Thanks. I'm a bit fuzzy on Linux graphics. So you mention that this is possible - but what criteria?
Does this mean all I need to do is configure U-boot? Or you mention that there is no mxs framebuffer support. Is there a way around this in u-boot? Or can I add a patch for mxs framebuffer support in U-boot?
Quoted 15 lines · Fabio Estevam
Hi Bill,
Quoted 6 lines · Bill
All,
Is it possible to configure u-boot output (console) to the LCD on the
imx28evk board? I see in the u-boot configuration options switches for LCD
support:CONFIG_LCD. However, I don't see an LCD display that matches the one on the imx28evk?Yes, this is possible, but currently there is no mxs framebuffer support in U-boot.
Regards,
Fabio Estevam
Signature · 8 lines
William (Bill) L. Sousan, Ph.D. (w) 402.331.4977 ext. 4002 bsousan at techsi.com Technical Support Inc. 11253 John Galt Blvd Omaha, NE 68137 www.techsi.com 8(a) SDB Certified, ISO 9001:2008
[U-Boot] Configure U-boot to output to LCD on imx28evk board
Quoted 5 lines · Bill
Thanks. I'm a bit fuzzy on Linux graphics. So you mention that this is possible - but what criteria?
Does this mean all I need to do is configure U-boot? Or you mention that there is no mxs framebuffer support. Is there a way around this in u-boot? Or can I add a patch for mxs framebuffer support in U-boot?
Yes, you need to create a patch to add mxs framebuffer support in U-boot. You can look at the linux kernel as a reference (drivers/video/mxsfb.c) and port it into U-boot.
There are other i.mx processors (mx31, mx51, mx53) that do support framebuffer in U-boot. You can look at drivers/video/mxc_ipuv3_fb.c in U-boot for a reference for mx51/mx53 implementation.
The LCD controller on mxs is different so that is why you will need to create a new driver for it.
Regards,
Fabio Estevam