From patchwork Thu Dec 17 11:40:26 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcus Weseloh X-Patchwork-Id: 7872161 Return-Path: X-Original-To: patchwork-linux-spi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 947929F387 for ; Thu, 17 Dec 2015 11:41:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 929C6203F7 for ; Thu, 17 Dec 2015 11:41:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9B22C203F1 for ; Thu, 17 Dec 2015 11:41:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966232AbbLQLlh (ORCPT ); Thu, 17 Dec 2015 06:41:37 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:34641 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966226AbbLQLlf (ORCPT ); Thu, 17 Dec 2015 06:41:35 -0500 Received: by mail-wm0-f65.google.com with SMTP id l126so2768019wml.1; Thu, 17 Dec 2015 03:41:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=CsdQYGj7+Ld82QDxTTpPhZgTpDud/7Z9V1VrpxQRJIs=; b=FZZClNii/azJlWfd0PRHbDh89GFyZyEQxfke656wJGxxKTSoU8d4wtKtXAYu5MgDNs lfIOEWXPendE3Kwp3U8IrZL7iwF4UjICRLZ5p2A8nLDxvjkpM1A1121XAOSyO+tpjs3L P87OCBCEaGWvz9dy2L104Pxh6+6ISM6JUSh13U0j8jAXUSf9n/NZUzCpF2XRbOYKuH8R ChJ10Hh51sFsA1MMRqpWC1jC+zuwiCBxyTWUMaljnY0F+OxX6iA4RO25pce5uRLCgcGC Xrh5UdOt/PfefaZq+5Sj39USdfcQtvt7Nd3YjBLPgdksofIQ8vd6fmsR2vkDdPYkWN0q AMbA== X-Received: by 10.28.21.196 with SMTP id 187mr3596640wmv.82.1450352493817; Thu, 17 Dec 2015 03:41:33 -0800 (PST) Received: from speedy.fritz.box (p5793D05C.dip0.t-ipconnect.de. [87.147.208.92]) by smtp.gmail.com with ESMTPSA id w124sm1961314wmg.17.2015.12.17.03.41.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 17 Dec 2015 03:41:32 -0800 (PST) From: Marcus Weseloh To: linux-sunxi@googlegroups.com Cc: Chen-Yu Tsai , devicetree@vger.kernel.org, Ian Campbell , Kumar Gala , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, Marcus Weseloh , Mark Brown , Mark Rutland , Maxime Ripard , Pawel Moll , Rob Herring Subject: [PATCH v5 1/2] spi: dts: Add new device property to specifcy a wait time between word transmissions Date: Thu, 17 Dec 2015 12:40:26 +0100 Message-Id: <1450352427-25350-2-git-send-email-mweseloh42@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1450352427-25350-1-git-send-email-mweseloh42@gmail.com> References: <1450352427-25350-1-git-send-email-mweseloh42@gmail.com> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Adds a new property "spi-word-wait-ns" to the spi-bus binding that allows SPI slave devices to set a wait time between the transmission of words. Signed-off-by: Marcus Weseloh Reviewed-by: Maxime Ripard Acked-by: Rob Herring --- Documentation/devicetree/bindings/spi/spi-bus.txt | 2 ++ drivers/spi/spi.c | 2 ++ include/linux/spi/spi.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/spi-bus.txt b/Documentation/devicetree/bindings/spi/spi-bus.txt index bbaa857..434d321 100644 --- a/Documentation/devicetree/bindings/spi/spi-bus.txt +++ b/Documentation/devicetree/bindings/spi/spi-bus.txt @@ -61,6 +61,8 @@ contain the following properties. used for MOSI. Defaults to 1 if not present. - spi-rx-bus-width - (optional) The bus width(number of data wires) that used for MISO. Defaults to 1 if not present. +- spi-word-wait-ns - (optional) Delay between transmission of words + in nanoseconds Some SPI controllers and devices support Dual and Quad SPI transfer mode. It allows data in the SPI system to be transferred in 2 wires(DUAL) or 4 wires(QUAD). diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 2b0a8ec..186373b 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -1467,6 +1467,8 @@ of_register_spi_device(struct spi_master *master, struct device_node *nc) if (of_find_property(nc, "spi-lsb-first", NULL)) spi->mode |= SPI_LSB_FIRST; + of_property_read_u32(nc, "spi-word-wait-ns", &spi->word_wait_ns); + /* Device DUAL/QUAD mode */ if (!of_property_read_u32(nc, "spi-tx-bus-width", &value)) { switch (value) { diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index cce80e6..ea3037f 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h @@ -118,6 +118,7 @@ void spi_statistics_add_transfer_stats(struct spi_statistics *stats, * for driver coldplugging, and in uevents used for hotplugging * @cs_gpio: gpio number of the chipselect line (optional, -ENOENT when * when not using a GPIO line) + * @word_wait_ns: A wait time between word transfers in nanoseconds * * @statistics: statistics for the spi_device * @@ -158,6 +159,7 @@ struct spi_device { void *controller_data; char modalias[SPI_NAME_SIZE]; int cs_gpio; /* chip select gpio */ + u32 word_wait_ns; /* wait time between words */ /* the statistics */ struct spi_statistics statistics;