Linux SPI subsystem development
 help / color / mirror / Atom feed
From: Stephan Olbrich <stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
To: linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>,
	Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	Lee Jones <lee-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 4/4] spi: bcm2835aux: fix CPOL/CPHA setting
Date: Wed, 10 Feb 2016 21:45:27 +0100	[thread overview]
Message-ID: <7621387.PU4Z2tGlUh@chaos-desktop> (raw)
In-Reply-To: <87a8n94e3x.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>

Am Tuesday 09 February 2016, 16:13:06 schrieb Eric Anholt:
> stephanolbrich-Mmb7MZpHnFY@public.gmane.org writes:
> > From: Stephan Olbrich <stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
> > 
> > The auxiliary spi supports only CPHA=0 modes as the first bit is
> > always output to the pin before the first clock cycle. In CPHA=1
> > modes the first clock edge outputs the second bit hence the slave
> > can never read the first bit.
> > 
> > Also the CPHA registers switch between clocking data in/out on
> > rising/falling edge hence depend on the CPOL setting.
> > 
> > Signed-off-by: Stephan Olbrich <stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
> > ---
> > 
> >  drivers/spi/spi-bcm2835aux.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/spi/spi-bcm2835aux.c b/drivers/spi/spi-bcm2835aux.c
> > index b90aa34..169f521 100644
> > --- a/drivers/spi/spi-bcm2835aux.c
> > +++ b/drivers/spi/spi-bcm2835aux.c
> > @@ -386,12 +386,12 @@ static int bcm2835aux_spi_prepare_message(struct
> > spi_master *master,> 
> >  	bs->cntl[1] = BCM2835_AUX_SPI_CNTL1_MSBF_IN;
> >  	
> >  	/* handle all the modes */
> > 
> > -	if (spi->mode & SPI_CPOL)
> > +	if (spi->mode & SPI_CPOL) {
> > 
> >  		bs->cntl[0] |= BCM2835_AUX_SPI_CNTL0_CPOL;
> > 
> > -	if (spi->mode & SPI_CPHA)
> > -		bs->cntl[0] |= BCM2835_AUX_SPI_CNTL0_CPHA_OUT |
> > -			       BCM2835_AUX_SPI_CNTL0_CPHA_IN;
> > -
> > +		bs->cntl[0] |= BCM2835_AUX_SPI_CNTL0_CPHA_OUT;
> > +	} else {
> > +		bs->cntl[0] |= BCM2835_AUX_SPI_CNTL0_CPHA_IN;
> > +	}
> > 
> >  	bcm2835aux_wr(bs, BCM2835_AUX_SPI_CNTL1, bs->cntl[1]);
> >  	bcm2835aux_wr(bs, BCM2835_AUX_SPI_CNTL0, bs->cntl[0]);
> 
> (Note for other readers: A better name for CNTL0_CPHA_* would be
> CNTL0_*_RISING).

Should I rename them? 

> I think you're right about not actually supporting CPHA.  I don't see
> wany way to keep bit 1 out lasting through the first full clock cycle.
> I think Stefan's right that we should drop CPHA from MODE_BITS
> (actually, MODE_BITS would be nicer if we just merged it into its one
> user, I think).

You are right. I'll fix that.

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-02-10 20:45 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-09 18:10 [PATCH 0/4] spi: bcm2835aux: auxiliary spi improvements stephanolbrich-Mmb7MZpHnFY
     [not found] ` <1455041435-8015-1-git-send-email-stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
2016-02-09 18:10   ` [PATCH 1/4] spi: bcm2835aux: fix bitmask defines stephanolbrich-Mmb7MZpHnFY
     [not found]     ` <1455041435-8015-2-git-send-email-stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
2016-02-09 19:54       ` Stefan Wahren
     [not found]         ` <56BA43DB.7030209-saaNCTdWVBT7BZbvpMY5sg@public.gmane.org>
2016-02-10 20:08           ` Stephan Olbrich
2016-02-09 23:44       ` Eric Anholt
2016-02-10 12:55       ` Applied "spi: bcm2835aux: fix bitmask defines" to the spi tree Mark Brown
2016-02-09 18:10   ` [PATCH 2/4] spi: bcm2835aux: disable tx fifo empty irq stephanolbrich-Mmb7MZpHnFY
     [not found]     ` <1455041435-8015-3-git-send-email-stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
2016-02-09 23:45       ` Eric Anholt
2016-02-10 19:22       ` Applied "spi: bcm2835aux: disable tx fifo empty irq" to the spi tree Mark Brown
2016-02-09 18:10   ` [PATCH 3/4] spi: bcm2835aux: set up spi-mode before asserting cs-gpio stephanolbrich-Mmb7MZpHnFY
     [not found]     ` <1455041435-8015-4-git-send-email-stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
2016-02-09 23:49       ` Eric Anholt
     [not found]         ` <87d1s54f7f.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>
2016-02-10  8:01           ` Mark Brown
     [not found]             ` <20160210080149.GQ13270-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-02-10 18:59               ` Eric Anholt
     [not found]                 ` <878u2s2xym.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>
2016-02-10 19:02                   ` Mark Brown
     [not found]                     ` <20160210190204.GD13270-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-02-10 20:26                       ` Stephan Olbrich
2016-02-10 23:19                         ` Martin Sperl
2016-02-11 12:27                         ` Mark Brown
2016-02-11 18:06       ` Martin Sperl
2016-02-09 18:10   ` [PATCH 4/4] spi: bcm2835aux: fix CPOL/CPHA setting stephanolbrich-Mmb7MZpHnFY
     [not found]     ` <1455041435-8015-5-git-send-email-stephanolbrich-Mmb7MZpHnFY@public.gmane.org>
2016-02-09 20:21       ` Stefan Wahren
2016-02-10  0:13       ` Eric Anholt
     [not found]         ` <87a8n94e3x.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>
2016-02-10 20:45           ` Stephan Olbrich [this message]
2016-02-10 21:24             ` Eric Anholt
2016-02-11 15:25           ` Martin Sperl
     [not found]             ` <16A848EA-6E08-48C4-B3DD-DF27333B7458-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2016-02-11 16:05               ` Stephan Olbrich
2016-02-11 16:19                 ` Martin Sperl
     [not found]                   ` <50D0ECA7-8116-4248-AC85-6E1C8002A185-d5rIkyn9cnPYtjvyW6yDsg@public.gmane.org>
2016-02-11 18:44                     ` Martin Sperl

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=7621387.PU4Z2tGlUh@chaos-desktop \
    --to=stephanolbrich-mmb7mzphnfy@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org \
    --cc=lee-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox