[U-Boot] [PATCH v4 31/36] sf: Add extended read commands support
Jagan Teki
jagannadh.teki at gmail.com
Wed Sep 25 11:35:41 CEST 2013
On Wed, Sep 25, 2013 at 1:40 AM, <thomas.langer at lantiq.com> wrote:
> Hello Jagan,
>
> Am 24.09.2013 20:36, schrieb Jagannadha Sutradharudu Teki:
>> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
>> index ea39d1a..0ac9fab 100644
>> --- a/drivers/spi/spi.c
>> +++ b/drivers/spi/spi.c
>> @@ -7,6 +7,7 @@
>> #include <common.h>
>> #include <malloc.h>
>> #include <spi.h>
>> +#include <spi_flash.h>
>>
>> void *spi_do_alloc_slave(int offset, int size, unsigned int bus,
>> unsigned int cs)
>> @@ -20,6 +21,7 @@ void *spi_do_alloc_slave(int offset, int size, unsigned int bus,
>> slave = (struct spi_slave *)(ptr + offset);
>> slave->bus = bus;
>> slave->cs = cs;
>> + slave->rd_cmd = CMD_READ_ARRAY_FAST;
>
> This is SPI code, not SF! The spi layer should not know such details of
> the slave!
> What about EEPROMs or other SPI slaves, which are NOT spi_flash???
> Examples (just searched for includes of "spi.h"):
> board/bf527-ezkit/video.c
> drivers/net/enc28j60.c
>
> Please ensure that the layers are not mixed up!
> SPI is an interface type and SF is ONLY ONE user of this interface!
I understand your concern, but here the point is for discovering the
command set.
slave->rd_cmd = CMD_READ_ARRAY_FAST;
is a default controller supported fast read.
spi_flash layer will discover the respective rd_cmd based slave and flash, if
slave doesn't have any commands to list, means not support
extended/quad then these fields are filled in spi.c
there is nothing harm for respective drivers or code.
>
>> }
>>
>> return ptr;
>> diff --git a/include/spi.h b/include/spi.h
>> index c0dab57..093847e 100644
>> --- a/include/spi.h
>> +++ b/include/spi.h
>> @@ -40,11 +40,13 @@
>> * cs: ID of the chip select connected to the slave.
>> * max_write_size: If non-zero, the maximum number of bytes which can
>> * be written at once, excluding command bytes.
>> + * rd_cmd: Read command.
>> */
>> struct spi_slave {
>> unsigned int bus;
>> unsigned int cs;
>> unsigned int max_write_size;
>> + u8 rd_cmd;
>> };
>>
>> /*-----------------------------------------------------------------------
>
> Best Regards,
> Thomas
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
--
Thanks,
Jagan.
--------
Jagannadha Sutradharudu Teki,
E: jagannadh.teki at gmail.com, P: +91-9676773388
Engineer - System Software Hacker
U-boot - SPI Custodian and Zynq APSOC
Ln: http://www.linkedin.com/in/jaganteki
More information about the U-Boot
mailing list