devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Gaignard <benjamin.gaignard@linaro.org>
To: Lee Jones <lee.jones@linaro.org>
Cc: robh+dt@kernel.org, Mark Rutland <mark.rutland@arm.com>,
	Alexandre Torgue <alexandre.torgue@st.com>,
	devicetree@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Linux PWM List <linux-pwm@vger.kernel.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	Fabrice Gasnier <fabrice.gasnier@st.com>,
	Gerald Baeza <gerald.baeza@st.com>,
	Arnaud Pouliquen <arnaud.pouliquen@st.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Linaro Kernel Mailman List <linaro-kernel@lists.linaro.org>,
	Benjamin Gaignard <benjamin.gaignard@st.com>
Subject: Re: [PATCH v7 0/8] Add PWM and IIO timer drivers for STM32
Date: Fri, 6 Jan 2017 08:58:46 +0100	[thread overview]
Message-ID: <CA+M3ks43GYEQo6Sev9oB5RfSF3fYNLixESSceXpu2CtKPnpB1Q@mail.gmail.com> (raw)
In-Reply-To: <20170105144953.GT24225@dell>

2017-01-05 15:49 GMT+01:00 Lee Jones <lee.jones@linaro.org>:
> On Thu, 05 Jan 2017, Benjamin Gaignard wrote:
>
>> version 7:
>> - rebase on v4.10-rc2
>> - remove iio_device code from driver and keep only the trigger part
>>
>> version 6:
>> - rename stm32-gptimer in stm32-timers.
>> - change "st,stm32-gptimer" compatible to "st,stm32-timers".
>> - modify "st,breakinput" parameter in pwm part.
>> - split DT patch in 2
>>
>> version 5:
>> - fix comments done on version 4
>> - rebased on kernel 4.9-rc8
>> - change nodes names and re-order then by addresses
>>
>> version 4:
>> - fix comments done on version 3
>> - don't use interrupts anymore in IIO timer
>> - detect hardware capabilities at probe time to simplify binding
>>
>> version 3:
>> - no change on mfd and pwm divers patches
>> - add cross reference between bindings
>> - change compatible to "st,stm32-timer-trigger"
>> - fix attributes access rights
>> - use string instead of int for master_mode and slave_mode
>> - document device attributes in sysfs-bus-iio-timer-stm32
>> - update DT with the new compatible
>>
>> version 2:
>> - keep only one compatible per driver
>> - use DT parameters to describe hardware block configuration:
>>   - pwm channels, complementary output, counter size, break input
>>   - triggers accepted and create by IIO timers
>> - change DT to limite use of reference to the node
>> - interrupt is now in IIO timer driver
>> - rename stm32-mfd-timer to stm32-timers (for general purpose timer)
>>
>> The following patches enable PWM and IIO Timer features for STM32 platforms.
>>
>> Those two features are mixed into the registers of the same hardware block
>> (named general purpose timer) which lead to introduce a multifunctions driver
>> on the top of them to be able to share the registers.
>>
>> In STM32f4 14 instances of timer hardware block exist, even if they all have
>> the same register mapping they could have a different number of pwm channels
>> and/or different triggers capabilities. We use various parameters in DT to
>> describe the differences between hardware blocks
>>
>> The MFD (stm32-timers.c) takes care of clock and register mapping
>> by using regmap. stm32_timers structure is provided to its sub-node to
>> share those information.
>>
>> PWM driver is implemented into pwm-stm32.c. Depending of the instance we may
>> have up to 4 channels, sometime with complementary outputs or 32 bits counter
>> instead of 16 bits. Some hardware blocks may also have a break input function
>> which allows to stop pwm depending of a level, defined in devicetree, on an
>> external pin.
>>
>> IIO timer driver (stm32-timer-trigger.c and stm32-timer-trigger.h) define a list
>> of hardware triggers usable by hardware blocks like ADC, DAC or other timers.
>>
>> The matrix of possible connections between blocks is quite complex so we use
>> trigger names and is_stm32_iio_timer_trigger() function to be sure that
>> triggers are valid and configure the IPs.
>>
>> At run time IIO timer hardware blocks can configure (through "master_mode"
>> IIO device attribute) which internal signal (counter enable, reset,
>> comparison block, etc...) is used to generate the trigger.
>>
>> Benjamin Gaignard (8):
>>   MFD: add bindings for STM32 Timers driver
>>   MFD: add STM32 Timers driver
>>   PWM: add pwm-stm32 DT bindings
>>   PWM: add PWM driver for STM32 plaftorm
>>   IIO: add bindings for STM32 timer trigger driver
>>   IIO: add STM32 timer trigger driver
>>   ARM: dts: stm32: add Timers driver for stm32f429 MCU
>>   ARM: dts: stm32: Enable pwm1 and pwm3 for stm32f469-disco
>
> Any reason why you've dropped all your Acks?
>
> I don't really want to review it again if little is different.
>
> How much MFD related code has changed since the last review?

All my apologies I forgot to add your Acks for MFD parts.

Sorry for that

>
>>  .../ABI/testing/sysfs-bus-iio-timer-stm32          |  29 ++
>>  .../bindings/iio/timer/stm32-timer-trigger.txt     |  23 ++
>>  .../devicetree/bindings/mfd/stm32-timers.txt       |  46 +++
>>  .../devicetree/bindings/pwm/pwm-stm32.txt          |  33 ++
>>  arch/arm/boot/dts/stm32f429.dtsi                   | 275 +++++++++++++
>>  arch/arm/boot/dts/stm32f469-disco.dts              |  28 ++
>>  drivers/iio/Kconfig                                |   1 -
>>  drivers/iio/trigger/Kconfig                        |  10 +
>>  drivers/iio/trigger/Makefile                       |   1 +
>>  drivers/iio/trigger/stm32-timer-trigger.c          | 340 ++++++++++++++++
>>  drivers/mfd/Kconfig                                |  11 +
>>  drivers/mfd/Makefile                               |   2 +
>>  drivers/mfd/stm32-timers.c                         |  80 ++++
>>  drivers/pwm/Kconfig                                |   9 +
>>  drivers/pwm/Makefile                               |   1 +
>>  drivers/pwm/pwm-stm32.c                            | 434 +++++++++++++++++++++
>>  include/linux/iio/timer/stm32-timer-trigger.h      |  62 +++
>>  include/linux/mfd/stm32-timers.h                   |  71 ++++
>>  18 files changed, 1455 insertions(+), 1 deletion(-)
>>  create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
>>  create mode 100644 Documentation/devicetree/bindings/iio/timer/stm32-timer-trigger.txt
>>  create mode 100644 Documentation/devicetree/bindings/mfd/stm32-timers.txt
>>  create mode 100644 Documentation/devicetree/bindings/pwm/pwm-stm32.txt
>>  create mode 100644 drivers/iio/trigger/stm32-timer-trigger.c
>>  create mode 100644 drivers/mfd/stm32-timers.c
>>  create mode 100644 drivers/pwm/pwm-stm32.c
>>  create mode 100644 include/linux/iio/timer/stm32-timer-trigger.h
>>  create mode 100644 include/linux/mfd/stm32-timers.h
>>
>
> --
> Lee Jones
> Linaro STMicroelectronics Landing Team Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog



-- 
Benjamin Gaignard

Graphic Study Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2017-01-06  7:58 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-05  9:25 [PATCH v7 0/8] Add PWM and IIO timer drivers for STM32 Benjamin Gaignard
2017-01-05  9:25 ` [PATCH v7 2/8] MFD: add STM32 Timers driver Benjamin Gaignard
2017-01-09 18:00   ` Rob Herring
2017-01-10  8:56     ` Benjamin Gaignard
     [not found] ` <1483608344-9012-1-git-send-email-benjamin.gaignard-qxv4g6HH51o@public.gmane.org>
2017-01-05  9:25   ` [PATCH v7 1/8] MFD: add bindings for " Benjamin Gaignard
2017-01-09 17:59     ` Rob Herring
2017-01-05  9:25   ` [PATCH v7 3/8] PWM: add pwm-stm32 DT bindings Benjamin Gaignard
2017-01-09 18:01     ` Rob Herring
     [not found]     ` <1483608344-9012-4-git-send-email-benjamin.gaignard-qxv4g6HH51o@public.gmane.org>
2017-01-18  9:20       ` Thierry Reding
2017-01-18  9:42         ` Benjamin Gaignard
2017-01-05  9:25   ` [PATCH v7 4/8] PWM: add PWM driver for STM32 plaftorm Benjamin Gaignard
     [not found]     ` <1483608344-9012-5-git-send-email-benjamin.gaignard-qxv4g6HH51o@public.gmane.org>
2017-01-18 10:08       ` Thierry Reding
2017-01-18 11:15         ` Benjamin Gaignard
2017-01-18 11:37           ` Thierry Reding
     [not found]             ` <20170118113759.GA16826-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2017-01-18 12:37               ` Benjamin Gaignard
2017-01-18 10:16     ` Thierry Reding
2017-01-18 11:16       ` Benjamin Gaignard
2017-01-05  9:25   ` [PATCH v7 5/8] IIO: add bindings for STM32 timer trigger driver Benjamin Gaignard
2017-01-08 11:23     ` Jonathan Cameron
     [not found]     ` <1483608344-9012-6-git-send-email-benjamin.gaignard-qxv4g6HH51o@public.gmane.org>
2017-01-09 18:04       ` Rob Herring
2017-01-10  8:55         ` Benjamin Gaignard
2017-01-05  9:25   ` [PATCH v7 7/8] ARM: dts: stm32: add Timers driver for stm32f429 MCU Benjamin Gaignard
2017-01-05  9:25 ` [PATCH v7 6/8] IIO: add STM32 timer trigger driver Benjamin Gaignard
2017-01-08 11:30   ` Jonathan Cameron
2017-01-05  9:25 ` [PATCH v7 8/8] ARM: dts: stm32: Enable pwm1 and pwm3 for stm32f469-disco Benjamin Gaignard
2017-01-05 14:49 ` [PATCH v7 0/8] Add PWM and IIO timer drivers for STM32 Lee Jones
2017-01-06  7:58   ` Benjamin Gaignard [this message]
     [not found]     ` <CA+M3ks43GYEQo6Sev9oB5RfSF3fYNLixESSceXpu2CtKPnpB1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-13 12:30       ` Benjamin Gaignard

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=CA+M3ks43GYEQo6Sev9oB5RfSF3fYNLixESSceXpu2CtKPnpB1Q@mail.gmail.com \
    --to=benjamin.gaignard@linaro.org \
    --cc=alexandre.torgue@st.com \
    --cc=arnaud.pouliquen@st.com \
    --cc=benjamin.gaignard@st.com \
    --cc=devicetree@vger.kernel.org \
    --cc=fabrice.gasnier@st.com \
    --cc=gerald.baeza@st.com \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=lee.jones@linaro.org \
    --cc=linaro-kernel@lists.linaro.org \
    --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-pwm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pmeerw@pmeerw.net \
    --cc=robh+dt@kernel.org \
    --cc=thierry.reding@gmail.com \
    /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).