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
next prev 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