[U-Boot] CFI driver and P33 64M flash

yusuf khan khan.yusuf80 at gmail.com
Fri Sep 26 09:00:10 CEST 2008


>Message: 2
>Date: Thu, 25 Sep 2008 16:50:27 +0300
>From: Felix Radensky <felix at embedded-sol.com>
>Subject: [U-Boot] CFI driver and P33 64M flash
>To: u-boot at lists.denx.de
>Message-ID: <48DB9723.2060708 at embedded-sol.com>
>Content-Type: text/plain; charset=ISO-8859-1; format=flowed

>Hi,

>'m running U-Boot 1.3.4 on custom 460EX based board,
>equipped with 64M P33 flash (similar to Intel P30). See
>http://www.numonyx.com/Documents/Datasheets/314749_P33_Discrete_DS.pdf<http://www.numonyx.com/Documents/Datasheets/314749_P33_Discrete_DS.pdf>

>This flash is comprised internally of two 32M flashes.
>I have the following declarations in configuration file:

>#define CFG_FLASH_CFI            /* The flash is CFI compatible    */
>#define CFG_FLASH_CFI_DRIVER        /* Use common CFI driver    */

>#define CFG_FLASH_BANKS_LIST    {CFG_FLASH_BASE}
>#define CFG_MAX_FLASH_BANKS    1    /* max number of memory banks        */
>#define CFG_MAX_FLASH_SECT    518    /* max number of sectors on one
>chip    */

>#define CFG_FLASH_USE_BUFFER_WRITE 1    /* use buffered writes (20x
>faster)    */
>#define CFG_FLASH_PROTECTION       1    /* use hardware flash
>protection        */
>#define CFG_FLASH_EMPTY_INFO        /* print 'E' for empty sector on
>flinfo */

>U-Boot identifies this flash as 32M flash. Below is debug output from
>CFI driver:

>FLASH: flash detect cfi
>fwc addr fc000000 cmd f0 f0 8bit x 8 bit
>fwc addr fc000000 cmd ff ff 8bit x 8 bit
>fwc addr fc000055 cmd 98 98 8bit x 8 bit
>is= cmd 51(Q) addr fc000010 is= 0 51
>fwc addr fc000555 cmd 98 98 8bit x 8 bit
>is= cmd 51(Q) addr fc000010 is= 0 51
>fwc addr fc000000 cmd f0 f0f0 16bit x 8 bit
>fwc addr fc000000 cmd ff ffff 16bit x 8 bit
>fwc addr fc0000aa cmd 98 9898 16bit x 8 bit
>is= cmd 51(Q) addr fc000020 is= 0051 5151
>fwc addr fc000aaa cmd 98 9898 16bit x 8 bit
>is= cmd 51(Q) addr fc000020 is= 0051 5151
>fwc addr fc000000 cmd f0 00f0 16bit x 16 bit
>fwc addr fc000000 cmd ff 00ff 16bit x 16 bit
>fwc addr fc0000aa cmd 98 0098 16bit x 16 bit
>is= cmd 51(Q) addr fc000020 is= 0051 0051
>is= cmd 52(R) addr fc000022 is= 0052 0052
>is= cmd 59(Y) addr fc000024 is= 0059 0059
>device interface is 1
>found port 2 chip 2 port 16 bits chip 16 bits
>00 : 51 52 59 01 00 0a 01 00 00 00 00 23 36 85 95 08  QRY........#6...
>10 : 09 0a 00 01 01 02 00 19 01 00 06 00 02 03 00 80  ................
>20 : 00 fe 00 00 02 00 00 00 00 ff ff ff ff fc 36 a4  ..............6.
>fwc addr fc000000 cmd ff 00ff 16bit x 16 bit
>fwc addr fc000000 cmd 90 0090 16bit x 16 bit
>fwc addr fc000000 cmd ff 00ff 16bit x 16 bit
>fwc addr fc0000aa cmd 98 0098 16bit x 16 bit
>manufacturer is 1
>manufacturer id is 0x89
>device id is 0x22
>device id2 is 0x0
>cfi version is 0x3135
>size_ratio 1 port 16 bits chip 16 bits
>found 2 erase regions
>erase region 0: 0x00800003
>erase_region_count = 4 erase_region_size = 32768
>erase region 1: 0x020000fe
>erase_region_count = 255 erase_region_size = 131072
>fwc addr fc000000 cmd ff 00ff 16bit x 16 bit
>32 MB

>What should I change in configuration/driver to get
>all 64M of flash detected ?

>Thanks a lot.

>Felix.

Hi

Set the  CFG_MAX_FLASH_SECT  to 259 and adjust the sector size to 256K
I think it should work than.

-- 
Thanks & Regards

Yusuf A Khan
Multitech Software Systems
Koramangala,Bangalore


More information about the U-Boot mailing list