From patchwork Wed May 29 06:10:37 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Birje X-Patchwork-Id: 247118 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 878DA2C031B for ; Wed, 29 May 2013 16:08:30 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 593B64A028; Wed, 29 May 2013 08:08:27 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E0Jd09wBvkWG; Wed, 29 May 2013 08:08:27 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id B808F4A02E; Wed, 29 May 2013 08:08:15 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id BA47C4A019 for ; Wed, 29 May 2013 08:08:07 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pF7wYJPn7RDD for ; Wed, 29 May 2013 08:08:01 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by theia.denx.de (Postfix) with ESMTP id 693564A020 for ; Wed, 29 May 2013 08:07:54 +0200 (CEST) Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MNJ003U9QD3SEM0@mailout2.samsung.com> for u-boot@lists.denx.de; Wed, 29 May 2013 15:07:51 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.125]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id B8.9F.11618.73B95A15; Wed, 29 May 2013 15:07:51 +0900 (KST) X-AuditID: cbfee691-b7fef6d000002d62-51-51a59b37e67b Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id A4.91.21068.73B95A15; Wed, 29 May 2013 15:07:51 +0900 (KST) Received: from rajeshwari-linux.sisodomain.com ([107.108.215.115]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MNJ003MUQCWQD30@mmp2.samsung.com>; Wed, 29 May 2013 15:07:50 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Date: Wed, 29 May 2013 11:40:37 +0530 Message-id: <1369807838-18683-2-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1369807838-18683-1-git-send-email-rajeshwari.s@samsung.com> References: <1369807838-18683-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKLMWRmVeSWpSXmKPExsWyRsSkVtd89tJAg9s7BC12bW1hteg40sJo MeXwFxaLb1u2MVosf72R3eLt3k52BzaP2Q0XWTx2zrrL7rFgU6nHnWt72DzO3tnB6NG3ZRVj AFsUl01Kak5mWWqRvl0CV0bngs1sBU18Fc9msTcwTufuYuTkkBAwkThw9xcLhC0mceHeerYu Ri4OIYGljBJnD3exwRQ9mtIEZgsJTGeUmDWVEaJoIpPElxs7WEESbAJGEltPTmMEsUUEJCR+ 9V8Fs5kFSiRmnT4GZgsLWEvc3d7CDGKzCKhKzH94GCzOK+AhseLpA1aIZQoSx6Z+BbM5BTwl ln9ZzA6x2EPi1oo3TCCLJQSms0tc2g+RYBEQkPg2+RDQCxxACVmJTQeYIeZIShxccYNlAqPw AkaGVYyiqQXJBcVJ6UWmesWJucWleel6yfm5mxiBQX7637OJOxjvH7A+xJgMNG4is5Rocj4w SvJK4g2NzYwsTE1MjY3MLc1IE1YS51VvsQ4UEkhPLEnNTk0tSC2KLyrNSS0+xMjEwSnVwBjT FL3l+Zxtn6er/1hof3jWxts3suy8Lc3D7BIKFsmfXClQJe+941xecuykgLfhK5ibLHl/eb9f N/n9JPns2hseK5ZoCP9xZTx5YI+6qFfM7lc6bJcX52ecXxDB9K1uY+tq10bGNiH9XQyVdRJX bk2K0i24t1CYYfV9mdWis820DwfPZnkwNVqJpTgj0VCLuag4EQC9NVQviAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrEIsWRmVeSWpSXmKPExsVy+t9jQV3z2UsDDRqec1js2trCatFxpIXR YsrhLywW37ZsY7RY/noju8XbvZ3sDmwesxsusnjsnHWX3WPBplKPO9f2sHmcvbOD0aNvyyrG ALaoBkabjNTElNQihdS85PyUzLx0WyXv4HjneFMzA0NdQ0sLcyWFvMTcVFslF58AXbfMHKA7 lBTKEnNKgUIBicXFSvp2mCaEhrjpWsA0Ruj6hgTB9RgZoIGENYwZnQs2sxU08VU8m8XewDid u4uRk0NCwETi0ZQmNghbTOLCvfVgtpDAdEaJWVMZuxi5gOyJTBJfbuxgBUmwCRhJbD05jRHE FhGQkPjVfxXMZhYokZh1+hiYLSxgLXF3ewsziM0ioCox/+FhsDivgIfEiqcPWCGWKUgcm/oV zOYU8JRY/mUxO8RiD4lbK94wTWDkXcDIsIpRNLUguaA4KT3XSK84Mbe4NC9dLzk/dxMjOIae Se9gXNVgcYhRgINRiYc34OuSQCHWxLLiytxDjBIczEoivKmCSwOFeFMSK6tSi/Lji0pzUosP MSYDXTWRWUo0OR8Y33kl8YbGJuamxqaWJhYmZpakCSuJ8x5stQ4UEkhPLEnNTk0tSC2C2cLE wSnVwDjti5XVbMOVmxj5103f8sS7vnNK/NFjivVT4vaeUpESX9lQHPB2xu2DLqXfgm40Hc5K fycT+e5NUrjwnk/a64vnlZ86nWdicdSpvl+IYfXk27v05s94ON8o73VS4n5b846of//rvqWG v1/I5fnsu/dJ+0vL3QKO3rnr2PfZfYf+SeYi6VczngcosRRnJBpqMRcVJwIARYBBfuUCAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: u-boot-review@google.com, patches@linaro.org Subject: [U-Boot] [PATCH 1/2 V5] spi: Add support for preamble bytes X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de 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 Reviewed-by: Jagannadha Sutradharudu Teki --- 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. *