From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Date: Sun, 02 Jun 2013 23:49:31 +0530 Subject: [U-Boot] [U-Boot,1/2,V5] spi: Add support for preamble bytes In-Reply-To: <1369807838-18683-2-git-send-email-rajeshwari.s@samsung.com> References: <1369807838-18683-2-git-send-email-rajeshwari.s@samsung.com> Message-ID: <51AB8CB3.5040606@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 29-05-2013 01:40, Rajeshwari Shinde wrote: > A SPI slave may take time to react to a request. For SPI flash devices > this time is defined as one bit time, or a whole byte for 'fast read' > mode. > > If the SPI slave is another CPU, then the time it takes to react may > vary. It is convenient to allow the slave device to tag the start of > the actual reply so that the host can determine when this 'preamble' > finishes and the actual message starts. > > Add a preamble flag to the available SPI flags. If supported by the > driver then it will ignore any received bytes before the preamble > on each transaction. This ensures that reliable communication with > the slave is possible. > > Signed-off-by: Simon Glass > Signed-off-by: Rajeshwari Shinde > > --- > Changes in V2: > - None > Changes in V3: > - None. > Changes in V4: > - None. > Changes in V5: > - In commit message header changed SPI to spi. > include/spi.h | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/include/spi.h b/include/spi.h > index 3fe2e1e..1638b50 100644 > --- a/include/spi.h > +++ b/include/spi.h > @@ -37,11 +37,16 @@ > #define SPI_LSB_FIRST 0x08 /* per-word bits-on-wire */ > #define SPI_3WIRE 0x10 /* SI/SO signals shared */ > #define SPI_LOOP 0x20 /* loopback mode */ > +#define SPI_SLAVE 0x40 /* slave mode */ > +#define SPI_PREAMBLE 0x80 /* Skip preamble bytes */ > > /* SPI transfer flags */ > #define SPI_XFER_BEGIN 0x01 /* Assert CS before transfer */ > #define SPI_XFER_END 0x02 /* Deassert CS after transfer */ > > +/* Header byte that marks the start of the message */ > +#define SPI_PREAMBLE_END_BYTE 0xec > + > /*----------------------------------------------------------------------- > * Representation of a SPI slave, i.e. what we're communicating with. > * Reviewed-by: Jagannadha Sutradharudu Teki -- Thanks, Jagan.