[PATCH 00/14] clk/mfd/ASoC/ARM: OMAP4/5: McPDM/twl6040 pdmclk support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

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                        | 74 ++++++++++++++++++--
 12 files changed, 160 insertions(+), 39 deletions(-)

-- 
2.8.2

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux