That attached is the exmaple code to support Intel JS29F32G08AAMDB (4GB, 1CE) and Hynix H27UAG8T2ATR (2GB, 1CE) on iMX28 EVK.
It is based on L2.6.35_11.01.00_ER BSP, all modified codes are marked with macro "qiang_debug", you can porting it to any other version BSP.
The kobs, uboot and kernel need be updated for MFGTool too. In ltib, you can run the command "$./ltib -p kobs-ng -m prep" to get the kobs source code at "ltib/rpm/BUILDS/" folder, then update the code, rebuild.
The updated files:
kernel\drivers\mtd\nand\nand_ids.c
kernel\drivers\mtd\nand\nand_base.c
kernel\drivers\mtd\nand\nand_device_info.c
kernel\drivers\mtd\nand\gpmi-nfc\gpmi-nfc-hal-common.c
kobs\src\mtd.c
uboot\drivers\mtd\nand\nand_ids.c
uboot\drivers\mtd\nand\nand_base.c
uboot\drivers\mtd\nand\nand_device_info.c
Original Attachment has been moved to: 11.01_BSP_Support_New_NAND.zip
Thanks for your help!
I'll take a look about it.
Hi Alessandro,
Are you solve problem with 0x8050100b error? I has similar problem with H27UAG8T2ATR chip.
Can you help ?
Hi Ruslan,
unfortunately not. We moved to another bsp.
Are you working with LTIB?
Just few weeks ago I discovered the Yocto project, more easy and well maintained.
Quick start:
http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
Google groups discussion to start:
https://groups.google.com/d/topic/meta-fsl-arm/9E3PkiqpGpk/discussion
The code to start:
https://github.com/Freescale/fsl-community-bsp-platform
I just booted the imx28 board with an Image generated with Yocto.
Actually for my work I must use Openembedded, I'm not a guru about Yocto but it seems to me to work very well.
If you discover any solutions about 0x8050100b please let me know, Thanks!
Alessandro Galassini
Sorry, I'm not familiar with HAB, from the error "0x8050100B", it means "Load command payload CRC failed".
And when generating the ".sb" image file, there are followed "load" commands in script, the error means it failed to run the "load" command, data is error for load.
//----------------------------------------------------------
// Power Supply initialization
//----------------------------------------------------------
load power_prep;
load ivt (entry = power_prep:_start) > 0x8000;
hab call 0x8000;
Thanks for your answer!
I've regenerated boot stream image with
./ltib -p boot_stream.spec -f
and I tried to write imx28_ivt_linux.sb and imx28_linux.sb
but I get the same error HTL0x8050100b.
I'm working with kernel 2.6.35_11.09.01 from http://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git patched with your driver.
Do you know what is HAB?
Have you ever tried to boot i.mx28 with my nand H27UAG8T2ATR (2GB, 1CE)?
Thanks!
From your error, it seems you had used the wrong sb file. The built out image has two types: such as imx28_linux.sb and imx28_ivt_linux.sb, you can try the ***_ivt_***.sb.
Hello Qiang Li,
thank you so much for your post!
But I have a problem:
when I try to boot from nand with 0100 boot mode switcher I get HTL0x8050100b error, nothing else.
I'm using an imx28 and my nand is H27UAG8T2ATR (2GB, 1CE).
That's my dmesg at boot time about nand:
Scanning for NAND Flash chips...
-----------------------------
NAND Flash Device Information
-----------------------------
Manufacturer : Hynix (0xad)
Device Code : 0xd5
Cell Technology : MLC
Chip Size : 2 GiB
Pages per Block : 128
Page Geometry : 4096+224
ECC Strength : 12 bits
ECC Size : 512 B
Data Setup Time : 15 ns
Data Hold Time : 10 ns
Address Setup Time: 20 ns
GPMI Sample Delay : 6 ns
tREA : 20 ns
tRLOH : 5 ns
tRHOH : 15 ns
Description : H27UAG8T2ATR (2GB, 1CE)
------------
NFC Geometry
------------
ECC Algorithm : BCH
ECC Strength : 12
Page Size in Bytes : 4320
Metadata Size in Bytes : 10
ECC Chunk Size in Bytes: 512
ECC Chunk Count : 8
Payload Size in Bytes : 4096
Auxiliary Size in Bytes: 20
Auxiliary Status Offset: 12
Block Mark Byte Offset : 3949
Block Mark Bit Offset : 4
NAND device: Manufacturer ID: 0xad, Chip ID: 0xd5 (Hynix NAND 2GiB 3,3V 8-bit)
-----------------
Boot ROM Geometry
-----------------
Boot Area Count : 1
Boot Area Size in Bytes : 20971520 (0x1400000)
Stride Size in Pages : 64
Search Area Stride Exponent: 2
Scanning device for bad blocks
Bad eraseblock 702 at 0x000015f00000
Bad eraseblock 703 at 0x000015f80000
Boot area protection is enabled.
Creating 2 MTD partitions on "gpmi-nfc-main":
0x000000000000-0x000001400000 : "gpmi-nfc-0-boot"
0x000001400000-0x000080000000 : "gpmi-nfc-general-use"
That's my mtdinfo:
Count of MTD devices: 2
Present MTD devices: mtd0, mtd1
Sysfs interface supported: yes
mtd0
Name: gpmi-nfc-0-boot
Type: nand
Eraseblock size: 524288 bytes, 512.0 KiB
Amount of eraseblocks: 40 (20971520 bytes, 20.0 MiB)
Minimum input/output unit size: 4096 bytes
Sub-page size: 4096 bytes
OOB size: 224 bytes
Character device major/minor: 90:0
Bad blocks are allowed: true
Device is writable: true
mtd1
Name: gpmi-nfc-general-use
Type: nand
Eraseblock size: 524288 bytes, 512.0 KiB
Amount of eraseblocks: 4056 (2126512128 bytes, 2.0 GiB)
Minimum input/output unit size: 4096 bytes
Sub-page size: 4096 bytes
OOB size: 224 bytes
Character device major/minor: 90:2
Bad blocks are allowed: true
Device is writable: true
I have not enabled Using MDDR at boot stream under Package-list option in ltib.
Should I do?
This my Target Image Generation option:
Target image: (jffs2)
[ ] Run a command after building the target image
(512) jffs2 erase block size in KB
[ ] read-only root filesystem
(512k) tmpfs size
Is it correct?
I patched with you patch uboot and kobs-ng also.
Thanks in advance
Alessandro