From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/8] gpio: 74x164: Add output pin support
Date: Wed, 05 Sep 2012 15:02:09 +0200 [thread overview]
Message-ID: <50474D51.40007@free-electrons.com> (raw)
In-Reply-To: <20120905145411.195f8438@eb-e6520>
Le 05/09/2012 14:54, Eric B?nard a ?crit :
> Le Wed, 5 Sep 2012 14:29:52 +0200,
> Thomas Petazzoni <thomas.petazzoni@free-electrons.com> a ?crit :
>
>> Le Wed, 5 Sep 2012 14:22:44 +0200,
>> Eric B?nard <eric@eukrea.com> a ?crit :
>>
>>>>> OK that's exactly what I was thinking to ;-)
>>>>
>>>> Good. So, do you think it's reasonable to use the STCP as a chip-select
>>>> for this device?
>>>
>>> in your case maybe but that really depends on how the chip is wired to
>>> the CPU so I'm not sure that can be a generic choice.
>>
>> I'm not sure to see how this chip could be wired differently to the
>> CPU. The CPU must do a low-to-high transition on STCP to get the values
>> out from the internal register.
>>
>> So, in other words, we don't know how to choose between:
>>
>> *) Keep the current solution Maxime has implemented, where we have a
>> specific latch GPIO property in the Device Tree for this 74HC595,
>> and the 74HC595 driver is responsible for toggling this GPIO when
>> needed.
>>
>> *) Use the internal SPI controller logic to control this pin as a
>> chip-select, and therefore get rid of Maxime's code with the
>> specific latch GPIO property in the Device Tree.
>>
> daisy chaining won't work in the second case (I may be wrong but IIRC
> the chip select will toggle at each spi_write) unless you configure the
> spi controller to send a 8x(number of 74HC595) bits word :
>
> gpio_set_value(chip->chip_select, 0);
> for (i = chip->registers - 1; i >= 0; i--) {
> ret = spi_write(chip->spi,
> chip->buffer + i, sizeof(u8));
> if (ret)
> return ret;
> }
>
> gpio_set_value(chip->chip_select, 1);
And what about using the spi_message structure and one single spi_sync
instead of several spi_write ? Would that work in our case ?
--
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2012-09-05 13:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-05 8:40 [PATCH 1/8] gpio: 74x164: Use module_spi_driver boiler plate function Maxime Ripard
2012-09-05 8:40 ` [PATCH 2/8] gpio: 74x164: Use devm_kzalloc Maxime Ripard
2012-09-05 8:46 ` Florian Fainelli
2012-09-05 9:16 ` Thomas Petazzoni
2012-09-06 7:22 ` Linus Walleij
2012-09-07 21:02 ` Linus Walleij
2012-09-05 8:40 ` [PATCH 3/8] gpio: 74x164: Remove platform data and use dynamic gpio number assignment Maxime Ripard
2012-09-05 8:48 ` Florian Fainelli
2012-09-05 9:15 ` Thomas Petazzoni
2012-09-05 9:17 ` Thomas Petazzoni
2012-09-05 8:40 ` [PATCH 4/8] gpio: 74x164: Add device tree support Maxime Ripard
2012-09-05 8:50 ` Florian Fainelli
2012-09-05 9:17 ` Thomas Petazzoni
2012-09-06 7:22 ` Linus Walleij
2012-09-05 8:40 ` [PATCH 5/8] gpio: 74x164: Add output pin support Maxime Ripard
2012-09-05 9:20 ` Thomas Petazzoni
2012-09-05 9:46 ` Eric Bénard
2012-09-05 10:09 ` Thomas Petazzoni
2012-09-05 10:26 ` Eric Bénard
2012-09-05 11:56 ` Thomas Petazzoni
2012-09-05 12:22 ` Eric Bénard
2012-09-05 12:29 ` Thomas Petazzoni
2012-09-05 12:54 ` Eric Bénard
2012-09-05 13:02 ` Maxime Ripard [this message]
2012-09-05 13:27 ` Eric Bénard
2012-09-05 8:40 ` [PATCH 6/8] gpio: 74x164: Add support for daisy-chaining Maxime Ripard
2012-09-05 8:56 ` Thomas Petazzoni
2012-09-05 8:40 ` [PATCH 7/8] gpio: 74x164: dts: Add documentation for the dt binding Maxime Ripard
2012-09-05 8:40 ` [PATCH 8/8] ARM: dts: cfa10049: Add the 74HC595 gpio expanders Maxime Ripard
2012-09-05 8:46 ` [PATCH 1/8] gpio: 74x164: Use module_spi_driver boiler plate function Florian Fainelli
2012-09-05 9:16 ` Thomas Petazzoni
2012-09-06 7:21 ` Linus Walleij
2012-09-06 14:10 ` Maxime Ripard
2012-09-07 21:09 ` Linus Walleij
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=50474D51.40007@free-electrons.com \
--to=maxime.ripard@free-electrons.com \
--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 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.