Patch to support Intel JS29F32G08AAMDB (4GB, 1CE) and Hynix H27UAG8T2ATR (2GB, 1CE) on iMX28 EVK Linux BSP -blog archive

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

Patch to support Intel JS29F32G08AAMDB (4GB, 1CE) and Hynix H27UAG8T2ATR (2GB, 1CE) on iMX28 EVK Linux BSP -blog archive

2,982 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

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

Labels (2)
Tags (1)
0 Kudos
Reply
7 Replies

1,295 Views
Galax
Contributor I

Thanks for your help!

I'll take a look about it.

0 Kudos
Reply

1,295 Views
Ruslan
Contributor I

Hi Alessandro,

Are you solve problem with 0x8050100b error? I has similar problem with H27UAG8T2ATR chip.

Can you help ?

0 Kudos
Reply

1,292 Views
Galax
Contributor I

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

alessandro.galassini@rawpowergroup.it

www.rawpowergroup.it

0 Kudos
Reply

1,292 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

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;

0 Kudos
Reply

1,292 Views
Galax
Contributor I

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!



0 Kudos
Reply

1,292 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

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.

0 Kudos
Reply

1,292 Views
Galax
Contributor I

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

0 Kudos
Reply