Message ID | 1526456161-27865-1-git-send-email-fabrice.gasnier@st.com |
---|---|
Headers | show |
Series | Add support for PWM input capture on STM32 | expand |
On Wed, 16 May 2018, Fabrice Gasnier wrote: > This series adds support for capture to stm32-pwm driver. > Capture is based on DMAs. > - First two patches add support for requesting DMAs to MFD core > - Next three patches add support for capture to stm32-pwm driver > - This has been tested on stm32429i-eval board. > > --- > Changes in v5: > - update patch 2 (mfd: stm32-timers: add support for dmas) > move stm32_timers_dma struct to header file, > fix warning on dma_mapping_error(). > > Changes in v4: > - Lee's comments on patch 2 (mfd: stm32-timers: add support for dmas) > Add kerneldoc header, better format comments. > > Changes in v3: > - Dropped 2 precusor patches applied by Thierry in pwm tree: > "pwm: stm32: fix, remove unused struct device" > "pwm: stm32: protect common prescaler for all channels" > - Note: this series applies on top on pwm tree > - Implements Lee's comments on MFD part: rework stm32_timers_dma struct, > exported routine prototype now use generic device struct, more > various comments (see patch 2 changelog). > > Resend v2: > - Add collected Acks > > Changes in v2: > - Abstract DMA handling from child driver: move it to MFD core > - Rework pwm capture routines to adopt this change > - Comment on optional dma support, beautify DMAs probe > > Fabrice Gasnier (6): > dt-bindings: mfd: stm32-timers: add support for dmas > mfd: stm32-timers: add support for dmas > pwm: stm32: add capture support > pwm: stm32: improve capture by tuning counter prescaler > pwm: stm32: use input prescaler to improve period capture > ARM: dts: stm32: Enable pwm3 input capture on stm32f429i-eval Applied patches 1-5. > .../devicetree/bindings/mfd/stm32-timers.txt | 20 ++ > arch/arm/boot/dts/stm32429i-eval.dts | 3 + > drivers/mfd/stm32-timers.c | 201 +++++++++++++++- > drivers/pwm/pwm-stm32.c | 257 +++++++++++++++++++++ > include/linux/mfd/stm32-timers.h | 58 +++++ > 5 files changed, 537 insertions(+), 2 deletions(-) >
On 05/16/2018 10:06 AM, Lee Jones wrote: > On Wed, 16 May 2018, Fabrice Gasnier wrote: > >> This series adds support for capture to stm32-pwm driver. >> Capture is based on DMAs. >> - First two patches add support for requesting DMAs to MFD core >> - Next three patches add support for capture to stm32-pwm driver >> - This has been tested on stm32429i-eval board. >> >> --- >> Changes in v5: >> - update patch 2 (mfd: stm32-timers: add support for dmas) >> move stm32_timers_dma struct to header file, >> fix warning on dma_mapping_error(). >> >> Changes in v4: >> - Lee's comments on patch 2 (mfd: stm32-timers: add support for dmas) >> Add kerneldoc header, better format comments. >> >> Changes in v3: >> - Dropped 2 precusor patches applied by Thierry in pwm tree: >> "pwm: stm32: fix, remove unused struct device" >> "pwm: stm32: protect common prescaler for all channels" >> - Note: this series applies on top on pwm tree >> - Implements Lee's comments on MFD part: rework stm32_timers_dma struct, >> exported routine prototype now use generic device struct, more >> various comments (see patch 2 changelog). >> >> Resend v2: >> - Add collected Acks >> >> Changes in v2: >> - Abstract DMA handling from child driver: move it to MFD core >> - Rework pwm capture routines to adopt this change >> - Comment on optional dma support, beautify DMAs probe >> >> Fabrice Gasnier (6): >> dt-bindings: mfd: stm32-timers: add support for dmas >> mfd: stm32-timers: add support for dmas >> pwm: stm32: add capture support >> pwm: stm32: improve capture by tuning counter prescaler >> pwm: stm32: use input prescaler to improve period capture >> ARM: dts: stm32: Enable pwm3 input capture on stm32f429i-eval > > Applied patches 1-5. Many thanks Lee ! Maybe I missed something, but just in case... In your pull request ("[GIT PULL] Immutable branch between MFD and PWM due for the v4.18 merge window") I only see 4 patches: Fabrice Gasnier (4): mfd: stm32-timers: Add support for DMAs pwm: stm32: Add capture support pwm: stm32: Improve capture by tuning counter prescaler pwm: stm32: Use input prescaler to improve period capture I can't see patch 1 ("dt-bindings: mfd: stm32-timers: add support for dmas") Is it applied on another tree ? Best Regards, Fabrice > >> .../devicetree/bindings/mfd/stm32-timers.txt | 20 ++ >> arch/arm/boot/dts/stm32429i-eval.dts | 3 + >> drivers/mfd/stm32-timers.c | 201 +++++++++++++++- >> drivers/pwm/pwm-stm32.c | 257 +++++++++++++++++++++ >> include/linux/mfd/stm32-timers.h | 58 +++++ >> 5 files changed, 537 insertions(+), 2 deletions(-) >> > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 16 May 2018, Fabrice Gasnier wrote: > On 05/16/2018 10:06 AM, Lee Jones wrote: > > On Wed, 16 May 2018, Fabrice Gasnier wrote: > > > >> This series adds support for capture to stm32-pwm driver. > >> Capture is based on DMAs. > >> - First two patches add support for requesting DMAs to MFD core > >> - Next three patches add support for capture to stm32-pwm driver > >> - This has been tested on stm32429i-eval board. > >> > >> --- > >> Changes in v5: > >> - update patch 2 (mfd: stm32-timers: add support for dmas) > >> move stm32_timers_dma struct to header file, > >> fix warning on dma_mapping_error(). > >> > >> Changes in v4: > >> - Lee's comments on patch 2 (mfd: stm32-timers: add support for dmas) > >> Add kerneldoc header, better format comments. > >> > >> Changes in v3: > >> - Dropped 2 precusor patches applied by Thierry in pwm tree: > >> "pwm: stm32: fix, remove unused struct device" > >> "pwm: stm32: protect common prescaler for all channels" > >> - Note: this series applies on top on pwm tree > >> - Implements Lee's comments on MFD part: rework stm32_timers_dma struct, > >> exported routine prototype now use generic device struct, more > >> various comments (see patch 2 changelog). > >> > >> Resend v2: > >> - Add collected Acks > >> > >> Changes in v2: > >> - Abstract DMA handling from child driver: move it to MFD core > >> - Rework pwm capture routines to adopt this change > >> - Comment on optional dma support, beautify DMAs probe > >> > >> Fabrice Gasnier (6): > >> dt-bindings: mfd: stm32-timers: add support for dmas > >> mfd: stm32-timers: add support for dmas > >> pwm: stm32: add capture support > >> pwm: stm32: improve capture by tuning counter prescaler > >> pwm: stm32: use input prescaler to improve period capture > >> ARM: dts: stm32: Enable pwm3 input capture on stm32f429i-eval > > > > Applied patches 1-5. > > Many thanks Lee ! > > Maybe I missed something, but just in case... > In your pull request ("[GIT PULL] Immutable branch between MFD and PWM > due for the v4.18 merge window") I only see 4 patches: > Fabrice Gasnier (4): > mfd: stm32-timers: Add support for DMAs > pwm: stm32: Add capture support > pwm: stm32: Improve capture by tuning counter prescaler > pwm: stm32: Use input prescaler to improve period capture > > I can't see patch 1 ("dt-bindings: mfd: stm32-timers: add support for dmas") > Is it applied on another tree ? Good spot. Looks like a fumbled the key combination for the bindings patch. Pull-request to follow. > >> .../devicetree/bindings/mfd/stm32-timers.txt | 20 ++ > >> arch/arm/boot/dts/stm32429i-eval.dts | 3 + > >> drivers/mfd/stm32-timers.c | 201 +++++++++++++++- > >> drivers/pwm/pwm-stm32.c | 257 +++++++++++++++++++++ > >> include/linux/mfd/stm32-timers.h | 58 +++++ > >> 5 files changed, 537 insertions(+), 2 deletions(-) > >> > >
On Wed, 16 May 2018, Fabrice Gasnier wrote: > STM32 Timers can support up to 7 DMA requests: > - 4 channels, update, compare and trigger. > Optionally request part, or all DMAs from stm32-timers MFD core. > > Also add routine to implement burst reads using DMA from timer registers. > This is exported. So, it can be used by child drivers, PWM capture > for instance (but not limited to). > > Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> > Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> > --- > Changes in v5: > - fix warning on dma_mapping_error() that doesn't return an error code. > - move stm32_timers_dma struct to header file as discussed with Lee. > This allows to remove alloc for this struct in stm32_timers_dma_probe. > > Changes in v4: > - Lee's comments: Add kerneldoc header, better format comments. > > Changes in v3: > - Basically Lee's comments: > - rather create a struct stm32_timers_dma, and place a reference to it > in existing ddata (instead of adding priv struct). > - rather use a struct device in exported routine prototype, and use > standard helpers instead of ddata. Get rid of to_stm32_timers_priv(). > - simplify error handling in probe (remove a goto) > - comment on devm_of_platform_*populate() usage. > > Changes in v2: > - Abstract DMA handling from child driver: move it to MFD core > - Add comments on optional dma support > --- > drivers/mfd/stm32-timers.c | 201 ++++++++++++++++++++++++++++++++++++++- > include/linux/mfd/stm32-timers.h | 46 +++++++++ > 2 files changed, 245 insertions(+), 2 deletions(-) For my own reference: Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>