Subject: Re: flash driver

From: Marco Stornelli <[email-masked]>
Date: Wed, 09 Jul 2008 09:00:16 +0200

liran raz ha scritto:
> I've set in *.dts:
> localbus@f0010100 {
>  compatible = "fsl,mpc8272-localbus",
>  "fsl,pq2-localbus";
>  #address-cells = <2>;
>  #size-cells = <1>;
>  reg = <f0010100 40>;
>  ==> from here "mine"
>  ranges = <0 0 fc000000 04000000>;
>  flash@0,0 {
>  compatible = "cfi-flash";
>  reg = <0 0 4000000>;
>  bank-width = <4>;
>  device-width = <2>;
> };
> I still see this message:
> of-flash: probe of fc000000.flash failed with error -16
> (when I try to read from /dev/mtd0 (major 90 minor 0)
> it seems to read the flash content, write - fails).
> Liran.
> 
> 
> On Tue, Jul 8, 2008 at 2:04 PM, liran raz <[email-masked]> wrote:
> 
>>
>> On Tue, Jul 8, 2008 at 2:34 AM, Marco Stornelli <
>> [email-masked]> wrote:
>>
>>> liran raz ha scritto:
>>>
>>>> hi,
>>>> I'm trying to setup the kernel's (linux-2.6.24) flash driver.
>>>> Our flash is combined of 2 chips of S29GLN (spanion)
>>>> 2 X 16 bits data chips connected to 32 bits data bus.
>>>> This flash is compatible with the AMD CFI.
>>>> I've configured the kernel to:
>>>> 1. Detect flash chips by common flash interface (CFI) probe.
>>>> 2. Support for AMD/Fujitsu flash chips
>>>> (The flash starts at absolute address 0xfc000000
>>>> & size is 0x4000000)
>>>> When the kernel starts I see the messages attached below,
>>>> which I think indicate that something might be wrong with
>>>> the detection of the flsah.
>>>> 1. Is this correct ? - something is wrong with the flash detection?
>>>> 2. Which device I need to use in order to read/write to
>>>> the flash? (I don't see any /flash device under /dev/ only:
>>>> /dev/mtd0 .. /dev/mtd3 & /dev/mtdblock0 .. /dev/mtdblock3)
>>>>
>>>> Debug messages (DEBUG_CFI is defined):
>>>> physmap platform flash device: 04000000 at fc000000
>>>> Number of erase regions: 1
>>>> Primary Vendor Command Set: 0002 (AMD/Fujitsu Standard)
>>>> Primary Algorithm Table at 0040
>>>> Alternative Vendor Command Set: 0000 (None)
>>>> No Alternate Algorithm Table
>>>> Vcc Minimum:  2.7 V
>>>> Vcc Maximum:  3.6 V
>>>> No Vpp line
>>>> Typical byte/word write timeout: 128 \uffffs
>>>> Maximum byte/word write timeout: 1024 \uffffs
>>>> Typical full buffer write timeout: 128 \uffffs
>>>> Maximum full buffer write timeout: 4096 \uffffs
>>>> Typical block erase timeout: 1024 ms
>>>> Maximum block erase timeout: 16384 ms
>>>> Chip erase not supported
>>>> Device size: 0x2000000 bytes (32 MiB)
>>>> Flash Device Interface description: 0x0002
>>>>  - supports x8 and x16 via BYTE# with asynchronous interface
>>>> Max. bytes in buffer write: 0x20
>>>> Number of Erase Block Regions: 1
>>>>  Erase Region #0: BlockSize 0x20000 bytes, 256 blocks
>>>> physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank
>>>>  Amd/Fujitsu Extended Query Table at 0x0040
>>>> physmap-flash.0: CFI does not contain boot bank location. Assuming top.
>>>> number of CFI chips: 1
>>>> cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
>>>> of-flash: probe of fc000000.flash failed with error -16
>>>>
>>>> Thanks,
>>>> Liran.
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Linuxppc-embedded mailing list
>>>> [email-masked]
>>>> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>>>>
>>>> of-flash: probe of fc000000.flash failed with error -16
>>> You have to write some code in dts file like the phys address and other
>>> stuff. The other messages could be normal, don't worry.
>>>
>>> --
>>> Marco Stornelli
>>> Embedded Software Engineer
>>> CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
>>> http://www.coritel.it
>>>
>>> [email-masked]
>>> +39 06 72582838
>>>
>>
> 

First of all, check out the error -16 to see what exactly happens, in 
addition, check out the chip select configuration and the kernel 
configuration, for example you have to select "Flash device in physical 
memory map based on OF description".

-- 
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

[email-masked]
+39 06 72582838