This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Starterware and Hynix NAND H27U4G8

Other Parts Discussed in Thread: AM3352

Hello,

I'm using a custom board with the AM3352 and the Starterware BSP drivers. My board uses the Hynix NAND type flash. I'm using the starterware bootloader as a starting point. With the default parameters, all I get trying to read flash is the READ_ID response values:

[0]	unsigned char	0xAD
[1]	unsigned char	0xDC
[2]	unsigned char	0x90
[3]	unsigned char	0x95
[4]	unsigned char	0x54

Is there another example that has better timing values suitable for this Hynix device? See below for the values I'm currently using.

Thanks in advance.

John

===

#define NAND_CS0_BASEADDR              (0x10000000)
#define NAND_CS0_REGIONSIZE            (GPMC_CS_SIZE_256MB)     /* TODO: modify to 512MB */
#define NAND_DATA_XFER_MODE            (NAND_XFER_MODE_CPU)
#define NAND_BUSWIDTH                  (NAND_BUSWIDTH_8BIT)
#define NAND_CHIP_SELECT               (NAND_CHIP_SELECT_0)
#define NAND_PAGE_SIZE_IN_BYTES        (NAND_PAGESIZE_2048BYTES)
#define NAND_BLOCK_SIZE_IN_BYTES       (NAND_BLOCKSIZE_128KB)
#define NAND_NUMOF_BLK                 (4096)
#define NAND_MANUFATURER_ID            (0xAD)
#define NAND_DEVICE_ID                 (0xDC)

#define NAND_CSWROFFTIME               (30)
#define NAND_CSRDOFFTIME               (31)
#define NAND_CSONTIME                  (0)

#define NAND_ADVONTIME                 (0)
#define NAND_ADVAADMUXONTIME           (0)
#define NAND_ADVRDOFFTIME              (31)
#define NAND_ADVWROFFTIME              (31)
#define NAND_ADVAADMUXRDOFFTIME        (0)
#define NAND_ADVAADMUXWROFFTIME        (0)

#define NAND_WEOFFTIME                 (31)
#define NAND_WEONTIME                  (3)
#define NAND_OEAADMUXOFFTIME           (31)
#define NAND_OEOFFTIME                 (31)
#define NAND_OEAADMUXONTIME            (3)
#define NAND_OEONTIME                  (1)

#define NAND_RDCYCLETIME               (31)
#define NAND_WRCYCLETIME               (31)
#define NAND_RDACCESSTIME              (28)
#define NAND_PAGEBURSTACCESSTIME       (0)

#define NAND_BUSTURNAROUND             (0)
#define NAND_CYCLE2CYCLEDIFFCSEN       (0)
#define NAND_CYCLE2CYCLESAMECSEN       (1)
#define NAND_CYCLE2CYCLEDELAY          (0)
#define NAND_WRDATAONADMUXBUS          (15)
#define NAND_WRACCESSTIME              (22)