All of lore.kernel.org
 help / color / mirror / Atom feed
From: takasi-y@ops.dti.ne.jp
To: linux-sh@vger.kernel.org
Cc: Simon Horman <horms@verge.net.au>,
	Magnus Damm <magnus.damm@gmail.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Mark Brown <broonie@kernel.org>,
	linux-spi@vger.kernel.org
Subject: [PATCH 04/11] spi: spi-sh-msiof: set hi/low Active for HW CS
Date: Sun, 01 Dec 2013 18:19:15 +0000	[thread overview]
Message-ID: <1385921962-19843-4-git-send-email-takasi-y@ops.dti.ne.jp> (raw)
In-Reply-To: <1385921962-19843-1-git-send-email-takasi-y@ops.dti.ne.jp>

From: Takashi Yoshii <takasi-y@ops.dti.ne.jp>

Set hardware CS(CS control function on MSIOF <-> GPIO CS) polarity
according to SPI_CS_HIGH flag on spi->mode.

Signed-off-by: Takashi Yoshii <takasi-y@ops.dti.ne.jp>
---
 drivers/spi/spi-sh-msiof.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c
index 2a2b0dd..8683732 100644
--- a/drivers/spi/spi-sh-msiof.c
+++ b/drivers/spi/spi-sh-msiof.c
@@ -169,7 +169,7 @@ static void sh_msiof_spi_set_clk_regs(struct sh_msiof_spi_priv *p,
 
 static void sh_msiof_spi_set_pin_regs(struct sh_msiof_spi_priv *p,
 				      u32 cpol, u32 cpha,
-				      u32 tx_hi_z, u32 lsb_first)
+				      u32 tx_hi_z, u32 lsb_first, u32 cs_high)
 {
 	u32 tmp;
 	int edge;
@@ -182,8 +182,12 @@ static void sh_msiof_spi_set_pin_regs(struct sh_msiof_spi_priv *p,
 	 *    1    1         11     11    1    1
 	 */
 	sh_msiof_write(p, FCTR, 0);
-	sh_msiof_write(p, TMDR1, 0xe2000005 | (lsb_first << 24));
-	sh_msiof_write(p, RMDR1, 0x22000005 | (lsb_first << 24));
+
+	tmp = 0;
+	tmp |= !cs_high << 25;
+	tmp |= lsb_first << 24;
+	sh_msiof_write(p, TMDR1, 0xe0000005 | tmp);
+	sh_msiof_write(p, RMDR1, 0x20000005 | tmp);
 
 	tmp = 0xa0000000;
 	tmp |= cpol << 30; /* TSCKIZ */
@@ -417,7 +421,8 @@ static void sh_msiof_spi_chipselect(struct spi_device *spi, int is_on)
 		sh_msiof_spi_set_pin_regs(p, !!(spi->mode & SPI_CPOL),
 					  !!(spi->mode & SPI_CPHA),
 					  !!(spi->mode & SPI_3WIRE),
-					  !!(spi->mode & SPI_LSB_FIRST));
+					  !!(spi->mode & SPI_LSB_FIRST),
+					  !!(spi->mode & SPI_CS_HIGH));
 	}
 
 	/* use spi->controller data for CS (same strategy as spi_gpio),
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: takasi-y@ops.dti.ne.jp
To: linux-sh@vger.kernel.org
Cc: Simon Horman <horms@verge.net.au>,
	Magnus Damm <magnus.damm@gmail.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Mark Brown <broonie@kernel.org>,
	linux-spi@vger.kernel.org
Subject: [PATCH 04/11] spi: spi-sh-msiof: set hi/low Active for HW CS
Date: Mon,  2 Dec 2013 03:19:15 +0900	[thread overview]
Message-ID: <1385921962-19843-4-git-send-email-takasi-y@ops.dti.ne.jp> (raw)
In-Reply-To: <1385921962-19843-1-git-send-email-takasi-y@ops.dti.ne.jp>

From: Takashi Yoshii <takasi-y@ops.dti.ne.jp>

Set hardware CS(CS control function on MSIOF <-> GPIO CS) polarity
according to SPI_CS_HIGH flag on spi->mode.

Signed-off-by: Takashi Yoshii <takasi-y@ops.dti.ne.jp>
---
 drivers/spi/spi-sh-msiof.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c
index 2a2b0dd..8683732 100644
--- a/drivers/spi/spi-sh-msiof.c
+++ b/drivers/spi/spi-sh-msiof.c
@@ -169,7 +169,7 @@ static void sh_msiof_spi_set_clk_regs(struct sh_msiof_spi_priv *p,
 
 static void sh_msiof_spi_set_pin_regs(struct sh_msiof_spi_priv *p,
 				      u32 cpol, u32 cpha,
-				      u32 tx_hi_z, u32 lsb_first)
+				      u32 tx_hi_z, u32 lsb_first, u32 cs_high)
 {
 	u32 tmp;
 	int edge;
@@ -182,8 +182,12 @@ static void sh_msiof_spi_set_pin_regs(struct sh_msiof_spi_priv *p,
 	 *    1    1         11     11    1    1
 	 */
 	sh_msiof_write(p, FCTR, 0);
-	sh_msiof_write(p, TMDR1, 0xe2000005 | (lsb_first << 24));
-	sh_msiof_write(p, RMDR1, 0x22000005 | (lsb_first << 24));
+
+	tmp = 0;
+	tmp |= !cs_high << 25;
+	tmp |= lsb_first << 24;
+	sh_msiof_write(p, TMDR1, 0xe0000005 | tmp);
+	sh_msiof_write(p, RMDR1, 0x20000005 | tmp);
 
 	tmp = 0xa0000000;
 	tmp |= cpol << 30; /* TSCKIZ */
@@ -417,7 +421,8 @@ static void sh_msiof_spi_chipselect(struct spi_device *spi, int is_on)
 		sh_msiof_spi_set_pin_regs(p, !!(spi->mode & SPI_CPOL),
 					  !!(spi->mode & SPI_CPHA),
 					  !!(spi->mode & SPI_3WIRE),
-					  !!(spi->mode & SPI_LSB_FIRST));
+					  !!(spi->mode & SPI_LSB_FIRST),
+					  !!(spi->mode & SPI_CS_HIGH));
 	}
 
 	/* use spi->controller data for CS (same strategy as spi_gpio),
-- 
1.7.9.5


  parent reply	other threads:[~2013-12-01 18:19 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-01 18:15 [PATCH 00/11] ARM: shmobile: koelsch: MSIOF support Takashi YOSHII
2013-12-01 18:15 ` Takashi YOSHII
2013-12-01 18:19 ` [PATCH 01/11] pinctrl: sh-pfc: r8a7791: fix msiof groups to follow GROUP takasi-y
2013-12-01 18:19   ` takasi-y
2013-12-01 18:19   ` [PATCH 03/11] spi: spi-sh-msiof: let it run even without GPIO takasi-y
2013-12-01 18:19     ` takasi-y
2013-12-02 10:59     ` Sergei Shtylyov
2013-12-02 10:59       ` Sergei Shtylyov
     [not found]     ` <1385921962-19843-3-git-send-email-takasi-y-nDL5PR/MsHhHfZP73Gtkiw@public.gmane.org>
2013-12-02 12:53       ` Mark Brown
2013-12-02 12:53         ` Mark Brown
2013-12-01 18:19   ` takasi-y [this message]
2013-12-01 18:19     ` [PATCH 04/11] spi: spi-sh-msiof: set hi/low Active for HW CS takasi-y
     [not found]     ` <1385921962-19843-4-git-send-email-takasi-y-nDL5PR/MsHhHfZP73Gtkiw@public.gmane.org>
2013-12-02 12:54       ` Mark Brown
2013-12-02 12:54         ` Mark Brown
2013-12-01 18:19   ` [PATCH 05/11] spi: spi-sh-msiof: rx_need_dummy_tx variant takasi-y
2013-12-01 18:19     ` takasi-y
     [not found]     ` <1385921962-19843-5-git-send-email-takasi-y-nDL5PR/MsHhHfZP73Gtkiw@public.gmane.org>
2013-12-02 17:49       ` Mark Brown
2013-12-02 17:49         ` Mark Brown
2013-12-01 18:19   ` [PATCH 11/11] ARM: shmobile: koelsch: spidev for r2a11302 takasi-y
2013-12-01 18:19     ` takasi-y
     [not found]     ` <1385921962-19843-11-git-send-email-takasi-y-nDL5PR/MsHhHfZP73Gtkiw@public.gmane.org>
2013-12-02 13:24       ` Mark Brown
2013-12-02 13:24         ` Mark Brown
2014-02-11 15:06         ` Geert Uytterhoeven
2014-02-11 15:06           ` Geert Uytterhoeven
     [not found]   ` <1385921962-19843-1-git-send-email-takasi-y-nDL5PR/MsHhHfZP73Gtkiw@public.gmane.org>
2013-12-01 18:19     ` [PATCH 02/11] spi: spi-sh-msiof: round up div to fix freq calculation takasi-y
2013-12-01 18:19       ` takasi-y-nDL5PR/MsHhHfZP73Gtkiw
2013-12-02 12:48       ` Mark Brown
2013-12-02 12:48         ` Mark Brown
2013-12-01 18:19     ` [PATCH 06/11] spi: spi-sh-msiof: RMDIR1[15:0] may should be zero takasi-y
2013-12-01 18:19       ` takasi-y-nDL5PR/MsHhHfZP73Gtkiw
2013-12-01 18:19     ` [PATCH 07/11] spi: spi-sh-msiof: RSCR register may absent takasi-y
2013-12-01 18:19       ` takasi-y-nDL5PR/MsHhHfZP73Gtkiw
     [not found]       ` <1385921962-19843-7-git-send-email-takasi-y-nDL5PR/MsHhHfZP73Gtkiw@public.gmane.org>
2014-02-12 16:06         ` Geert Uytterhoeven
2014-02-12 16:06           ` Geert Uytterhoeven
     [not found]           ` <CAMuHMdVVC1deEQfbLzPzU08LYxf=KOtG3oL2_M4HMBGvJE+8KQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-12 23:50             ` Simon Horman
2014-02-12 23:50               ` Simon Horman
2013-12-01 18:19     ` [PATCH 08/11] ARM: shmobile: r8a7791: Add MSIOF clocks takasi-y
2013-12-01 18:19       ` takasi-y-nDL5PR/MsHhHfZP73Gtkiw
2013-12-01 18:19     ` [PATCH 09/11] ARM: shmobile: r8a7791: MSIOF platform device takasi-y
2013-12-01 18:19       ` takasi-y-nDL5PR/MsHhHfZP73Gtkiw
2013-12-03 10:12       ` Linus Walleij
2013-12-03 10:12         ` Linus Walleij
     [not found]         ` <CACRpkdbvrYgRh7cK0N1HrcxkYzzu9Qw4yAoQwj4f9pEf0r1qQw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-05  3:02           ` Simon Horman
2013-12-05  3:02             ` Simon Horman
     [not found]             ` <20131205030235.GG21443-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2013-12-11 12:27               ` Linus Walleij
2013-12-11 12:27                 ` Linus Walleij
     [not found]                 ` <CACRpkda=m_3Y+FcKUvAj4e1gDUuvqB4VS4bv6u-VnX4LVQQP8Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-12  0:53                   ` Olof Johansson
2013-12-12  0:53                     ` Olof Johansson
2013-12-01 18:19     ` [PATCH 10/11] ARM: shmobile: koelsch: pinctrl map for MSIOF0 takasi-y
2013-12-01 18:19       ` takasi-y-nDL5PR/MsHhHfZP73Gtkiw
2013-12-03 10:13       ` Linus Walleij
2013-12-03 10:13         ` Linus Walleij
2013-12-03 10:08     ` [PATCH 01/11] pinctrl: sh-pfc: r8a7791: fix msiof groups to follow GROUP Linus Walleij
2013-12-03 10:08       ` Linus Walleij
2013-12-04  1:23       ` Laurent Pinchart
2013-12-04  1:23         ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1385921962-19843-4-git-send-email-takasi-y@ops.dti.ne.jp \
    --to=takasi-y@ops.dti.ne.jp \
    --cc=broonie@kernel.org \
    --cc=horms@verge.net.au \
    --cc=linus.walleij@linaro.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.