linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: gerg@linux-m68k.org (Greg Ungerer)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] spi: imx: fix use of native chip-selects with devicetree
Date: Wed, 22 Mar 2017 10:50:44 +1000	[thread overview]
Message-ID: <51a48190-9edb-093e-a6fc-a7cb8c1e0ce0@linux-m68k.org> (raw)
In-Reply-To: <CAMuHMdW+KcPCAweneu4pTg1Pb-uAvYGz1+Z=oEDYoOt4gWrjhA@mail.gmail.com>

Hi Geert, Uwe,

On 22/03/17 06:15, Geert Uytterhoeven wrote:
> On Tue, Mar 21, 2017 at 8:23 PM, Uwe Kleine-K?nig
> <u.kleine-koenig@pengutronix.de> wrote:
>> On Tue, Mar 21, 2017 at 11:22:27PM +1000, Greg Ungerer wrote:
>>> On 21/03/17 22:11, Uwe Kleine-K?nig wrote:
>>>> On Tue, Mar 21, 2017 at 09:53:52PM +1000, Greg Ungerer wrote:
>>>>> On 21/03/17 18:05, Uwe Kleine-K?nig wrote:
>>>>>> On Tue, Mar 21, 2017 at 12:05:20PM +1000, Greg Ungerer wrote:
>>>>>>> On 20/03/17 23:22, Vladimir Zapolskiy wrote:
>>>>>>>> For that type of bindings locally I have a hackish spi-imx driver change,
>>>>>>>> which supports this option, but I'm unsure if it is universal enough.
>>>>>>>
>>>>>>> Do you mean supporting no cs-gpios tag?
>>>>>>> That would be nice, but it would seem not many users of this are
>>>>>>> using native chip selects.
>>>>>>
>>>>>> The reason for this is that the native chip selects are less flexible
>>>>>> than gpios because you cannot control when they deassert. IIRC they do
>>>>>> it too much for some chips. So the only reason to stick to them is that
>>>>>> on some SoCs not all pins have a GPIO function. Not sure if transfer
>>>>>> speed is another reason, but I would expect that the gain isn't that
>>>>>> big.
>>>>>
>>>>> For the particular SPI device I am using, a Silicon Labs 32260,
>>>>> it actually wants the assertion and de-assertion of the chip-select
>>>>> between each byte. So it is the only way it can work for me.
>>>>
>>>> That should be doable with gpio-cs, too. You just need the right flags
>>>> in your spi transfer IIRC.
>>>
>>> Do you know which flag(s)  do that?
>>
>> Looking at the source it's not about flags, but you have to split your
>> transfer into several messages.
> 
> ... and set spi_transfer.cs_change.

Yep, that looks like the one. Though it would appear not all
spi drivers support it. The spi-imx driver for one doesn't look
at it at all.


>> AFAICT that's how the spi stuff is
>> supposed to work. That is, at the start of a message CS is asserted and
>> (only) at it's end CS is deasserted. So the imx core with native chip
>> select actually misbehaves by toggling CS between each word.
> 
> Indeed.

If you look around the kernel source for cs_change there is
a number of devices that use it. A bunch od ADC/DACs in
particular (including in backlight support). 

So I don't know that I would characterize the iMX one as
misbehaving so much as only natively supporting the model
where chip select is asserted/deasserted per burst. It is
strait forward to implement the GPIO method instead of the
native chip select with the iMX pin multiplexing.

Regards
Greg

  reply	other threads:[~2017-03-22  0:50 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-17  5:03 [PATCH 0/2] spi: imx: native chip selects and devicetree Greg Ungerer
2017-03-17  5:03 ` [PATCH 1/2] spi: imx: set correct chip_select in platform setup Greg Ungerer
2017-03-20  7:38   ` Shawn Guo
2017-03-20 11:52     ` Greg Ungerer
2017-03-17  5:03 ` [PATCH 2/2] spi: imx: fix use of native chip-selects with devicetree Greg Ungerer
2017-03-20  7:39   ` Shawn Guo
2017-03-20 13:22   ` Vladimir Zapolskiy
2017-03-21  2:05     ` Greg Ungerer
2017-03-21  8:05       ` Uwe Kleine-König
2017-03-21 11:53         ` Greg Ungerer
2017-03-21 12:11           ` Uwe Kleine-König
2017-03-21 13:22             ` Greg Ungerer
2017-03-21 19:23               ` Uwe Kleine-König
2017-03-21 20:15                 ` Geert Uytterhoeven
2017-03-22  0:50                   ` Greg Ungerer [this message]
2017-03-22  7:09                     ` Geert Uytterhoeven
2017-09-04 12:47   ` Applied "spi: imx: fix use of native chip-selects with devicetree" to the spi tree Mark Brown
2017-10-10 20:38   ` [2/2] spi: imx: fix use of native chip-selects with devicetree Trent Piepho
2017-10-12  6:26     ` Greg Ungerer
2017-10-12 20:41       ` Trent Piepho
2017-03-20  7:35 ` [PATCH 0/2] spi: imx: native chip selects and devicetree Shawn Guo

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=51a48190-9edb-093e-a6fc-a7cb8c1e0ce0@linux-m68k.org \
    --to=gerg@linux-m68k.org \
    --cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).