linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 00/14] clk/mfd/ASoC/ARM: OMAP4/5: McPDM/twl6040 pdmclk support
@ 2016-05-30  8:55 Peter Ujfalusi
  2016-05-30  8:55 ` [PATCH v1 01/14] clk: twl6040: Correct clk_ops Peter Ujfalusi
                   ` (13 more replies)
  0 siblings, 14 replies; 20+ messages in thread
From: Peter Ujfalusi @ 2016-05-30  8:55 UTC (permalink / raw)
  To: mturquette, sboyd, tony, lee.jones, robh+dt, lgirdwood, broonie
  Cc: t-kristo, linux-kernel, linux-clk, linux-omap, devicetree,
	linux-arm-kernel, alsa-devel

Hi,

Changes since v1:
- Added Rob's Acked-by to patch 5 and 14
- Check the return value of clk_prepare_enable() calls in the last patch

this is something I wanted to do for a long time...

First of all: sorry for the cross domain series. I did tested alone all the
domain patches and they are not causing any regression. When they come together
we will have ability to control the pdmclk needed by McPDM.

CLK patches:
The driver was w/o DT support and needed some cleanup so we can use the driver.
I have also renamed it to twl6040-pdmclk from twl6040-clk to be precise.

MFD patches:
The regmap_sync() was not working since the twl6040 does not support bulk access
and now we are going to create the needed child for the pdmclk.

ARM patches:
Updatding the board DTS files and add the needed lines for the pdmclk.

ASoC patches:
The machine driver needs to select the twl6040-clk driver as it will be used
by the omap-mcpdm.
I needed to do some cleanup and add also suspend/resume support before adding
the code for pdmclk handling since I don't want to keep the twl6040 powered on
when the board is suspended. At the moment it is not possible to do true
dynamic twl6040 power up/down due to pop noises, but I will be looking at that
later.
The driver in the future will fail if it is not able to get the pdmclk to avoid
kernel crash (McPDM registers are not accessible when pdmclk is not available).

I have tested the patches by domain and also in all (I hope) permutation they
could be. I have not experienced any regression.

Regards,
Peter
---
Peter Ujfalusi (14):
  clk: twl6040: Correct clk_ops
  clk: twl6040: Register the clock as of_clk_provider
  clk: twl6040: Rename the driver and use consistent names in the code
  mfd: twl6040: The chip does not support bulk access
  mfd: twl6040: Register child device for twl6040-pdmclk
  ARM: dts: omap5-board-common: Add pdmclk binding for audio
  ARM: dts: omap4-panda-common: Add pdmclk binding for audio
  ARM: dts: omap4-sdp: Add pdmclk binding for audio
  ARM: dts: omap4-var-som-om44: Add pdmclk binding for audio
  ARM: dts: omap4-duovero: Add pdmclk binding for audio
  ASoC: omap: Kconfig: SND_OMAP_SOC_OMAP_ABE_TWL6040 to select
    CLK_TWL6040
  ASoC: omap-mcpdm: Move the WD enable write inside
    omap_mcpdm_open_streams()
  ASoC: omap-mcpdm: Support for suspend resume
  ASoC: omap-mcpdm: Add support for pdmclk clock handling

 Documentation/devicetree/bindings/mfd/twl6040.txt  |  1 +
 .../devicetree/bindings/sound/omap-mcpdm.txt       | 10 +++
 arch/arm/boot/dts/omap4-duovero.dtsi               |  5 ++
 arch/arm/boot/dts/omap4-panda-common.dtsi          |  5 ++
 arch/arm/boot/dts/omap4-sdp.dts                    |  5 ++
 arch/arm/boot/dts/omap4-var-som-om44.dtsi          |  5 ++
 arch/arm/boot/dts/omap5-board-common.dtsi          |  5 ++
 drivers/clk/clk-twl6040.c                          | 80 ++++++++++++---------
 drivers/mfd/twl6040.c                              |  6 ++
 include/linux/mfd/twl6040.h                        |  2 +-
 sound/soc/omap/Kconfig                             |  1 +
 sound/soc/omap/omap-mcpdm.c                        | 84 ++++++++++++++++++++--
 12 files changed, 170 insertions(+), 39 deletions(-)

-- 
2.8.3

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-08-15 19:10 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-30  8:55 [PATCH v1 00/14] clk/mfd/ASoC/ARM: OMAP4/5: McPDM/twl6040 pdmclk support Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 01/14] clk: twl6040: Correct clk_ops Peter Ujfalusi
2016-08-15 19:10   ` Stephen Boyd
2016-05-30  8:55 ` [PATCH v1 02/14] clk: twl6040: Register the clock as of_clk_provider Peter Ujfalusi
2016-08-15 19:10   ` Stephen Boyd
2016-05-30  8:55 ` [PATCH v1 03/14] clk: twl6040: Rename the driver and use consistent names in the code Peter Ujfalusi
2016-08-15 19:10   ` Stephen Boyd
2016-05-30  8:55 ` [PATCH v1 04/14] mfd: twl6040: The chip does not support bulk access Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 05/14] mfd: twl6040: Register child device for twl6040-pdmclk Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 06/14] ARM: dts: omap5-board-common: Add pdmclk binding for audio Peter Ujfalusi
2016-06-10 11:36   ` Tony Lindgren
2016-05-30  8:55 ` [PATCH v1 07/14] ARM: dts: omap4-panda-common: " Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 08/14] ARM: dts: omap4-sdp: " Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 09/14] ARM: dts: omap4-var-som-om44: " Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 10/14] ARM: dts: omap4-duovero: " Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 11/14] ASoC: omap: Kconfig: SND_OMAP_SOC_OMAP_ABE_TWL6040 to select CLK_TWL6040 Peter Ujfalusi
2016-05-30 16:15   ` Mark Brown
2016-05-30  8:55 ` [PATCH v1 12/14] ASoC: omap-mcpdm: Move the WD enable write inside omap_mcpdm_open_streams() Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 13/14] ASoC: omap-mcpdm: Support for suspend resume Peter Ujfalusi
2016-05-30  8:55 ` [PATCH v1 14/14] ASoC: omap-mcpdm: Add support for pdmclk clock handling Peter Ujfalusi

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).