[U-Boot] [PATCH 3/7] eSPI: add eSPI controller support

Hu Mingkai-B21284 Mingkai.Hu at freescale.com
Thu Aug 27 08:59:34 CEST 2009


 

> -----Original Message-----
> From: Mike Frysinger [mailto:vapier at gentoo.org] 
> Sent: Thursday, August 27, 2009 2:43 PM
> To: Hu Mingkai-B21284
> Cc: u-boot at lists.denx.de; Fleming Andy-AFLEMING
> Subject: Re: [U-Boot] [PATCH 3/7] eSPI: add eSPI controller support
> 
> On Thursday 27 August 2009 02:27:30 Hu Mingkai-B21284 wrote:
> > > but what if you dont know the length of the transaction ahead of 
> > > time ?  if you look at the spi flash framework, it'll write a few 
> > > bytes (like the opcode to read the status
> > > register) and then it'll just keep reading 1 byte at a 
> time (polling 
> > > the status register).  there is no way of knowing the 
> length ahead 
> > > of time.  most of the SPI code in u-boot operates this way.
> >
> > So the driver use the length passed by SPI flash read function.
> > If the length is greater than the max value that is limited by the 
> > transaction length register's bitfiled, the driver couldn't read 
> > anything.
> 
> the length used by the first read covers just the length of 
> the opcode, not any of the data returned by the part
> 
> as long as your driver rejects all of these things, it'll be 
> detected at runtime and it should be fine to merge -mike
> 

So the driver combine the opcode length and the data length together,
then pass to spi_xfer(for eSPI) . When return the read results, skip the
first opcode length bytes.

Thanks,
Mingkai


More information about the U-Boot mailing list