From patchwork Tue Aug 28 13:21:30 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Knut Wohlrab X-Patchwork-Id: 1381531 Return-Path: X-Original-To: patchwork-spi-devel-general@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from lists.sourceforge.net (lists.sourceforge.net [216.34.181.88]) by patchwork2.kernel.org (Postfix) with ESMTP id 351C1DF283 for ; Tue, 28 Aug 2012 13:25:11 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=sfs-ml-2.v29.ch3.sourceforge.com) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1T6Ln4-0001UY-MC; Tue, 28 Aug 2012 13:25:10 +0000 Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1T6Ln4-0001US-1B for spi-devel-general@lists.sourceforge.net; Tue, 28 Aug 2012 13:25:10 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of de.bosch.com designates 139.15.237.6 as permitted sender) client-ip=139.15.237.6; envelope-from=Knut.Wohlrab@de.bosch.com; helo=smtp2-v.fe.bosch.de; Received: from smtp2-v.fe.bosch.de ([139.15.237.6]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1T6Lmy-0000ko-HM for spi-devel-general@lists.sourceforge.net; Tue, 28 Aug 2012 13:25:09 +0000 Received: from vsmta11.fe.internet.bosch.com (unknown [10.4.98.30]) by imta24.fe.bosch.de (Postfix) with ESMTP id 263B4B00216; Tue, 28 Aug 2012 15:24:58 +0200 (CEST) Received: from localhost (vsgw3.fe.internet.bosch.com [10.4.98.16]) by vsmta11.fe.internet.bosch.com (Postfix) with SMTP id 060F543C0444; Tue, 28 Aug 2012 15:24:58 +0200 (CEST) Received: from localhost.localdomain (10.35.28.73) by fe-hub05.de.bosch.com (10.3.153.64) with Microsoft SMTP Server (TLS) id 8.3.264.0; Tue, 28 Aug 2012 15:24:50 +0200 From: To: , Subject: [PATCH] SPI IMX: Set inactive state of SPI clock (SCLK CTL) according to SPI clock polarity Date: Tue, 28 Aug 2012 15:21:30 +0200 Message-ID: <1346160090-16278-1-git-send-email-knut.wohlrab@de.bosch.com> X-Mailer: git-send-email 1.7.0.4 MIME-Version: 1.0 X-Spam-Score: -1.0 (-) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_PASS SPF: sender matches SPF record 0.5 AWL AWL: From: address is in the auto white-list X-Headers-End: 1T6Lmy-0000ko-HM Cc: Knut Wohlrab X-BeenThere: spi-devel-general@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: Linux SPI core/device drivers discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spi-devel-general-bounces@lists.sourceforge.net From: Knut Wohlrab Add the setting of the inactive state ECSPIx_CONFIGREG:SCLK CTL according to the clock polarity ECSPIx_CONFIGREG:SCLK POL: Device tree _without_ "spi-cpol": 0 = clock active high polarity = inactive state low Device tree with "spi-cpol": 1 = clock active low polarity = inactive state high Are there real world examples for a need of an individual setting of clock polarity/inactive state? Signed-off-by: Knut Wohlrab --- drivers/spi/spi-imx.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c index e834ff8..d64655b 100644 --- a/drivers/spi/spi-imx.c +++ b/drivers/spi/spi-imx.c @@ -197,6 +197,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin, #define MX51_ECSPI_CONFIG_SCLKPOL(cs) (1 << ((cs) + 4)) #define MX51_ECSPI_CONFIG_SBBCTRL(cs) (1 << ((cs) + 8)) #define MX51_ECSPI_CONFIG_SSBPOL(cs) (1 << ((cs) + 12)) +#define MX51_ECSPI_CONFIG_SCLKCTL(cs) (1 << ((cs) + 20)) #define MX51_ECSPI_INT 0x10 #define MX51_ECSPI_INT_TEEN (1 << 0) @@ -287,9 +288,10 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx, if (config->mode & SPI_CPHA) cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); - if (config->mode & SPI_CPOL) + if (config->mode & SPI_CPOL) { cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); - + cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); + } if (config->mode & SPI_CS_HIGH) cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs);