From: Fabrice Gasnier <fabrice.gasnier@st.com>
To: Rob Herring <robh@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Alexandre Torgue <alexandre.torgue@st.com>,
"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
Peter Meerwald <pmeerw@pmeerw.net>,
Russell King <linux@armlinux.org.uk>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Jonathan Cameron <jic23@kernel.org>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Hartmut Knaack <knaack.h@gmx.de>,
Linus Walleij <linus.walleij@linaro.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Benjamin Gaignard <benjamin.gaignard@st.com>
Subject: Re: [PATCH 3/5] Documentation: dt: iio: document stm32 exti trigger
Date: Fri, 3 Feb 2017 11:37:37 +0100 [thread overview]
Message-ID: <9ef03374-9108-aec4-d2d8-58af17d62fef@st.com> (raw)
In-Reply-To: <CAL_JsqKgGuh5==Xfd6LKZe70G1NiuesW0_xE98CZQZ3=BCPvLg@mail.gmail.com>
On 02/02/2017 04:45 PM, Rob Herring wrote:
> +Linus W
>
> On Thu, Feb 2, 2017 at 3:19 AM, Fabrice Gasnier <fabrice.gasnier@st.com> wrote:
>> On 02/01/2017 05:35 PM, Rob Herring wrote:
>>>
>>> On Mon, Jan 30, 2017 at 02:57:41PM +0100, Fabrice Gasnier wrote:
>>>>
>>>> Add dt documentation for st,stm32-exti-trigger.
>>>> EXTi gpio signal can be routed internally as trigger source for various
>>>
>>>
>>> s/gpio/GPIO/
>>>
>>>> IPs (e.g. for ADC or DAC conversions).
>>>
>>>
>>> Please use "dt-bindings: iio:" for the subject prefix.
>>
>>
>> Hi Rob,
>>
>> I'll fix this in V2.
>>
>>>
>>>>
>>>> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
>>>> ---
>>>> .../bindings/iio/trigger/st,stm32-exti-trigger.txt | 17
>>>> +++++++++++++++++
>>>> 1 file changed, 17 insertions(+)
>>>> create mode 100644
>>>> Documentation/devicetree/bindings/iio/trigger/st,stm32-exti-trigger.txt
>>>>
>>>> diff --git
>>>> a/Documentation/devicetree/bindings/iio/trigger/st,stm32-exti-trigger.txt
>>>> b/Documentation/devicetree/bindings/iio/trigger/st,stm32-exti-trigger.txt
>>>> new file mode 100644
>>>> index 0000000..ebf2645
>>>> --- /dev/null
>>>> +++
>>>> b/Documentation/devicetree/bindings/iio/trigger/st,stm32-exti-trigger.txt
>>>> @@ -0,0 +1,17 @@
>>>> +STMicroelectronics STM32 EXTI trigger bindings
>>>> +
>>>> +EXTi gpio signal can be routed internally as trigger source for various
>>>
>>>
>>> s/gpio/GPIO/
>>>
>>>> +IPs (e.g. for ADC or DAC conversions).
>>>> +
>>>> +Contents of a stm32 exti trigger root node:
>>>
>>>
>>> Drop "root"
>>
>> I'll fix these in V2.
>>
>>>
>>>> +-------------------------------------------
>>>> +Required properties:
>>>> +- compatible: Should be "st,stm32-exti-trigger"
>>>
>>>
>>> This whole binding looks a bit suspicious. Is this actually a h/w block?
>>> What makes it stm32 specific? Seems like the gpio properties should just
>>> be part of the ADC or DAC that they trigger.
>>
>>
>> Please let me explain in more details.
>> I think best is I add following documentation in binding. Something like:
>>
>> GPIO + EXTI controller side | ADC side (input trigger MUX, same for DAC)
>> |
>> IIO trigger ---> IIO device
>> | __________
>> | inX --| \
>> | ... --| SAR ADC |-->
>> __ | __ |__________/
>> PA11 --| \ | TIMx --| \ trigger ^
>> PB11 --| | ... --| }----------->'
>> ... --| }---- EXTI11 ---------->--|__/
>> --| | |
>> PJ11 --|__/ |
>>
>> In fact, this driver configures GPIO and EXTI controllers (left side of
>> above scheme), and it registers corresponding trigger in IIO. Then it can be
>> used by other IPs registered as IIO devices.
>>
>> I think this should be outside of ADC or DAC IIO device drivers, to live in
>> separate IIO trigger driver. It will avoid duplicating code (e.g. PATCH 4)
>> into several IIO device drivers.
>>
>> Is it ok to declare this as separate IIO trigger driver?
>
> Drivers and DT nodes are not necessarily 1 to 1.
Hi Rob,
Sorry, I don't get it. Can you clarify ?
>
> What controls the GPIO line that is used for the trigger?
This can be anything connected to GPIO line, such as (on board)
push-button, external synchronization signal ...
>
>> Maybe Jonathan could also advise on this ?
>>
>> As I see it, this is stm32 specific, as any GPIO bank, (e.g. PA11,
>> PB11...) can be selected to generate (EXTI11) hardware trigger signal.
>
> This seems more like a pinmux'ing issue than a GPIO. This isn't really
> a GPIO if it is routed to a h/w control.
Sorry, muxing part (e.g. PA11, PB11...) isn't shown in above scheme.
GPIO is muxed via gpio/pinctrl driver.
>
> A -gpios property for a trigger would make sense if you had a driver
> handling GPIO interrupts to generate IIO triggers. This seems to be
> just mux control.
This is almost it, there are two stages.
- trigger starts conversion on device (e.g. ADC...) by hardware (no need
for interrupt on 1st stage, data isn't ready anyway).
- 2nd stage, end of conversion polls the trigger.
Just to summarize, rephrase, in case push button is used to trigger
conversions:
- 1st declare GPIO (to which push button is connected)
- GPIO is muxed into external interrupt (e.g. EXTI) by using pinctrl
and exti driver. This may be compared to a 'gpio_keys' up to this point.
- EXTI line is able to either generate an interrupt (not used here)
and/or start conversion as trigger line (that is used here).
- end of conversion does the actual trigger poll.
>
>>>> +- extiN-gpio: optional gpio line that may be used as external trigger
>>>> source
>>>
>>>
>>> -gpios is the preferred form.
>>
>>
>> I apologize, I didn't make it clear in the first place. Please let me
>> rephrase. Is bellow description more suitable ?
>
> What I mean is the property name is wrong. It should be "extiN-gpios".
Oh... got it, thanks.
I'll update this.
Best Regards,
Fabrice
>
>>
>> - extiN-gpio: One or several named GPIO lines that may be used as
>> external trigger source by STM32 ADC, DAC. N may be 0..15.
>> For example, on stm32f4, exti11-gpio can trig ADC, exti9-gpio can
>> trig DAC.
>>
>>>
>>>> + (e.g. N may be 0..15. For example, exti11-gpio can trig ADC on
>>>> stm32f4).
>>>> +
>>>> +Example:
>>>> + triggers {
>>>> + compatible = "st,stm32-exti-trigger";
>>>> + exti11-gpio=<&gpioa 11 0>;
>>>
>>>
>>> spaces around the "=".
>>
>> I'll fix it in V2, and also add example for more that one EXTI trigger:
>>
>> triggers {
>> compatible = "st,stm32-exti-trigger";
>> exti9-gpio = <&gpioa 9 0>;
>> exti11-gpio = <&gpioa 11 0>;
>> ...
>> };
>>
>> Above binding can typically be used in board dt, in case on-board gpio is
>> connected/used as trigger source for IIO device (STM32 ADC/DAC).
>>
>> Please let me know if this clarifies, so I'll do necessary changes in V2.
>>
>> Many thanks for your review.
>> Best Regards,
>> Fabrice
>>
>>>
>>>> + };
>>>> --
>>>> 1.9.1
>>>>
>>
next prev parent reply other threads:[~2017-02-03 10:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-30 13:57 [PATCH 0/5] Add EXTI GPIO trigger support to STM32 ADC Fabrice Gasnier
2017-01-30 13:57 ` [PATCH 1/5] Documentation: dt: iio: document stm32 adc trigger polarity Fabrice Gasnier
2017-01-30 13:57 ` [PATCH 2/5] iio: adc: stm32: add dt option to set default " Fabrice Gasnier
2017-01-30 13:57 ` [PATCH 3/5] Documentation: dt: iio: document stm32 exti trigger Fabrice Gasnier
[not found] ` <1485784663-19505-4-git-send-email-fabrice.gasnier-qxv4g6HH51o@public.gmane.org>
2017-02-01 16:35 ` Rob Herring
2017-02-02 9:19 ` Fabrice Gasnier
[not found] ` <e814a2c6-f0de-cb56-eb3a-e22daed8990b-qxv4g6HH51o@public.gmane.org>
2017-02-02 15:45 ` Rob Herring
2017-02-03 10:37 ` Fabrice Gasnier [this message]
2017-02-03 19:11 ` Linus Walleij
[not found] ` <1485784663-19505-1-git-send-email-fabrice.gasnier-qxv4g6HH51o@public.gmane.org>
2017-01-30 13:57 ` [PATCH 4/5] iio: trigger: add support for STM32 EXTI triggers Fabrice Gasnier
2017-01-30 13:57 ` [PATCH 5/5] iio: adc: stm32: add exti11 gpio trigger source Fabrice Gasnier
2017-01-30 14:09 ` [PATCH 0/5] Add EXTI GPIO trigger support to STM32 ADC Fabrice Gasnier
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=9ef03374-9108-aec4-d2d8-58af17d62fef@st.com \
--to=fabrice.gasnier@st.com \
--cc=alexandre.torgue@st.com \
--cc=benjamin.gaignard@linaro.org \
--cc=benjamin.gaignard@st.com \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=pmeerw@pmeerw.net \
--cc=robh@kernel.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).