[U-Boot] ATMEL AT45DB041D spi flash and gplugd
Jagan Teki
jagannadh.teki at gmail.com
Mon Mar 17 17:55:28 CET 2014
Hi Yogi,
On Tue, Feb 18, 2014 at 6:55 AM, yogi p <yogi.p2182 at gmail.com> wrote:
> Hi Jagan,
>
> On Sun, Feb 16, 2014 at 10:08 PM, Jagan Teki <jagannadh.teki at gmail.com>
> wrote:
>>
>> Hi Yogi,
>>
>> On Sun, Feb 9, 2014 at 2:10 PM, Yogi P <yogi.p2182 at gmail.com> wrote:
>> > Hello all,
>> >
>> > From following commit spi write/erase times out on gplugd which uses
>> > ATMEL
>> > AT45DB041D spi flash.
>> >
>> >>commit f4f51a8ff894d34eb332f0d11f6c73c7bf509848
>> >>Author: Jagannadha Sutradharudu Teki <jaganna at xilinx.com>
>> >>Date: Wed Oct 2 19:36:58 2013 +0530
>> >>
>> >> sf: probe: Add support for erase sector selection flag
>> >>
>> >> SECT_4K, SECT_32K and SECT_64K opeartions are performed to
>> >> to specific flash by adding a SECT* flag on respective
>> >> spi_flash_params.flag param.
>> >>
>> >>Signed-off-by: Jagannadha Sutradharudu Teki <jaganna at xilinx.com>
>> >
>> > Prior to this patch erase size was same as sector size; which is 64 *
>> > 1024 (64k).
>> > This 64K was replaced with 4k and timeout for erase started.
>> >
>> > If following patch is applied write/erase works well (See bottom) on top
>> > of
>> > above commit. But similar change on latest git head still has some
>> > problem
>> > with spi erase.
>>
>> Does this means CMD_ERASE_64K works on master?
>
> No its not working on master.
>
>> Can you verify correctly - because we couldn't find any issues so far
>> as per as the sf_ops
>> code is concern.
>
> Its stopped working from f4f51a8ff894d34eb332f0d11f6c73c7bf509848.
> But to get it working on this particular commit following patch is needed.
>
> But even with this patch, master is broken.
>
> Thanks
> Yogi
>>
>>
>> > diff --git a/drivers/mtd/spi/spi_flash_probe.c
>> > b/drivers/mtd/spi/spi_flash_probe.c
>> > index 9c2e115..9e1c4c5 100644
>> > --- a/drivers/mtd/spi/spi_flash_probe.c
>> > +++ b/drivers/mtd/spi/spi_flash_probe.c
>> > @@ -41,7 +41,7 @@ static const struct spi_flash_params
>> > spi_flash_params_table[] = {
>> > #ifdef CONFIG_SPI_FLASH_ATMEL /* ATMEL */
>> > {"AT45DB011D", 0x1f2200, 0x0, 64 * 1024, 4,
>> > SECT_4K},
>> > {"AT45DB021D", 0x1f2300, 0x0, 64 * 1024, 8,
>> > SECT_4K},
>> > - {"AT45DB041D", 0x1f2400, 0x0, 64 * 1024, 8,
>> > SECT_4K},
>> > + {"AT45DB041D", 0x1f2400, 0x0, 64 * 1024, 8,
>> > 0},
>> > {"AT45DB081D", 0x1f2500, 0x0, 64 * 1024, 16,
>> > SECT_4K},
>> > {"AT45DB161D", 0x1f2600, 0x0, 64 * 1024, 32,
>> > SECT_4K},
>> > {"AT45DB321D", 0x1f2700, 0x0, 64 * 1024, 64,
>> > SECT_4K},
I'm recollecting bug information you pointed, please correct what I'm
saying here.
Current tree for AT45DB041D part has configured
flash->erase_cmd = CMD_ERASE_4K;
flash->erase_size = 4096;
The same configuration is not working for your board, is that true?
Did you see working tree in earlier tag releases?
--
Jagan.
More information about the U-Boot
mailing list