[U-Boot] [PATCH 3/7] eSPI: add eSPI controller support
Hu Mingkai-B21284
Mingkai.Hu at freescale.com
Thu Aug 27 05:01:52 CEST 2009
Hi Mike,
First truly sorry for the long time delay.
Please find comments inline.
> -----Original Message-----
> From: Mike Frysinger [mailto:vapier at gentoo.org]
> Sent: Monday, March 16, 2009 6:06 PM
> To: Hu Mingkai-B21284
> Cc: u-boot at lists.denx.de; Jean-Christophe PLAGNIOL-VILLARD;
> Fleming Andy-AFLEMING
> Subject: Re: [U-Boot] [PATCH 3/7] eSPI: add eSPI controller support
>
> On Monday 16 March 2009 04:56:22 Hu Mingkai-B21284 wrote:
> > From: Mike Frysinger [mailto:vapier at gentoo.org]
> > > On Monday 16 March 2009 02:15:27 Jean-Christophe wrote:
> > > > On 10:52 Mon 16 Mar , Mingkai Hu wrote:
> > > > > Add eSPI controller support under the SPI framework.
> > > > >
> > > > > Signed-off-by: Mingkai Hu <Mingkai.hu at freescale.com>
> > > > > ---
> > > > > drivers/mtd/spi/spi_flash.c | 94 +++++++++++++++++-
> > > > > drivers/spi/Makefile | 1 +
> > > > > drivers/spi/fsl_espi.c | 232
> > > > > +++++++++++++++++++++++++++++++++++++++++++ include/spi.h
> > > > >
> > > > > 30 ++++++
> > > > > 4 files changed, 354 insertions(+), 3 deletions(-)
> create mode
> > > > > 100644 drivers/spi/fsl_espi.c
> > > >
> > > > please use the spi framework, their is no need to touch the
> > > > spi_flash support ti add and use the fsl_espi
> > >
> > > indeed ... i was so happy to see the spansion driver i
> glossed over
> > > this ...
> > > those spi_flash.c changes are almost assuredly wrong and indicate
> > > you arent fitting into the framework correctly.
> >
> > There is difference between the SPI and eSPI chip select signal.
> > Generally, the SPI chip select is controlled by GPIO, so SW can
> > control when to assert the chip select signal and when to stop the
> > chip select signal.
>
> that is incorrect. the SPI framework does not care how the
> controller manages the CS. the Blackfin SPI controller for
> example has dedicated CS's which the controller manages automatically.
>
> > But the eSPI controller integrate the chip select into the
> controller
> > itself, it use the transfer length to control the duration
> of the chip
> > select signal.
>
> so you must tell the controller ahead of time how many bytes
> are going to be transferred ? this sounds like a retarded
> hardware implementation to me. how exactly do you support
> arbitrary transfer lengths ?
>
IIRC every transaction byte length control every transaction.
> > The spi_flash_cmd_* function split the transfer into two
> steps: first
> > the command transfer and then the data transfer. At the first step,
> > the transfer length is set to the command length, and when
> transferred
> > the command, the chip select will be negated, so the eSPI
> controller
> > thinks the transfer is cancelled and doesn't transfer the
> data again.
>
> the transfer state is passed in via the flags parameter.
> this way the SPI controller knows when a transfer starts
> (SPI_XFER_BEGIN) and when it ends (SPI_XFER_END).
> -mike
>
As above, we can't use the start/end flags parameter.
Sorry again for the delayed response.
Many thanks,
Mingkai
More information about the U-Boot
mailing list