linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* i.MX audio support
@ 2009-11-19 15:48 Sascha Hauer
  2009-11-19 15:48 ` [PATCH 01/12] mx3: Add SSI pins to iomux table Sascha Hauer
                   ` (3 more replies)
  0 siblings, 4 replies; 40+ messages in thread
From: Sascha Hauer @ 2009-11-19 15:48 UTC (permalink / raw)
  To: linux-arm-kernel


Hi All,

This series adds support for AOSC on i.MX platforms. It uses DMA where
available (i.MX27) and fiq otherwise. The driver works on all Phytec i.MX
platforms, so the i.MX27, i.MX31 and the i.MX35 are supported including
AC97 support.

There already is a driver for i.MX in the tree, this one is a nearly complete
rewrite. I haven't touched the in Kernel driver with these patches. The in
Kernel driver has several problems, it doesn't use ioremap, uses direct pointer
derefs instead of proper access functions and the only board supported so far is
itself not supported in mainline.

AC97 support is a problem on i.MX. I found no way to tell the SSI controller
which slots it should capture, so all slots the codec decides to send go into
one single FIFO. The WM9712 I worked with sends data in slot 12 which we have
to sort out manually from the FIFO, so I think there is no way to work around
the fiq handler using the DMA engine with AC97.

The devdma code is actually a copy of sound/arm/devdma.[ch]. It should probably
be selected somehow instead of duplicated.

I'm not very familiar with ALSA, so I expect some comments in this area. Let
me know what has to be done to get this into mainline.

This series depends on the SSI resources and audmux support being present. I posted
these patches on arm linux kernel recently and they are available here:

git://git.pengutronix.de/git/imx/linux-2.6.git mxc-master


Any comments welcome.

  Sascha

The following changes since commit 3f92a8bd5fb13e7e2505c65d1548910eaa843024:
  Uwe Kleine-K?nig (1):
        imx: copy constants from mx3x.h to mx35.h using the appropriate namespace

are available in the git repository at:

  git://git.pengutronix.de/git/imx/linux-2.6.git asoc

Sascha Hauer (12):
      mx3: Add SSI pins to iomux table
      mxc: iomux v3: remove resource handling
      add a mc13783 codec driver
      i.MX31 clock: rename SSI clocks to driver name
      mxc: mx1/mx2 DMA: add a possibility to create an endless DMA transfer
      imx-ssi sound driver
      add phycore sound support
      sound/soc/imx: Makefile/Kconfig changes for new driver
      pcm038: add sound support
      pcm043: add sound support
      pca100: add sound support
      pcm037: Add sound support

 arch/arm/mach-mx2/pca100.c                   |   52 +
 arch/arm/mach-mx2/pcm038.c                   |   23 +-
 arch/arm/mach-mx3/clock.c                    |    4 +-
 arch/arm/mach-mx3/pcm037.c                   |   72 ++
 arch/arm/mach-mx3/pcm043.c                   |  102 ++
 arch/arm/plat-mxc/Makefile                   |    1 +
 arch/arm/plat-mxc/dma-mx1-mx2.c              |    3 +-
 arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h |    8 +
 arch/arm/plat-mxc/include/mach/iomux-mx3.h   |    8 +
 arch/arm/plat-mxc/include/mach/iomux-v3.h    |   17 +-
 arch/arm/plat-mxc/include/mach/ssi.h         |   17 +
 arch/arm/plat-mxc/iomux-v3.c                 |   36 +-
 arch/arm/plat-mxc/ssi-fiq.S                  |  134 +++
 sound/soc/codecs/Kconfig                     |    3 +
 sound/soc/codecs/Makefile                    |    2 +
 sound/soc/codecs/mc13783.c                   |  739 ++++++++++++++
 sound/soc/codecs/mc13783.h                   |   29 +
 sound/soc/imx/Kconfig                        |   15 +-
 sound/soc/imx/Makefile                       |    9 +-
 sound/soc/imx/devdma.c                       |   80 ++
 sound/soc/imx/devdma.h                       |    3 +
 sound/soc/imx/imx-ssi.c                      | 1349 ++++++++++++++++++++++++++
 sound/soc/imx/imx-ssi.h                      |   24 +
 sound/soc/imx/phycore.c                      |  181 ++++
 24 files changed, 2851 insertions(+), 60 deletions(-)
 create mode 100644 arch/arm/plat-mxc/include/mach/ssi.h
 create mode 100644 arch/arm/plat-mxc/ssi-fiq.S
 create mode 100644 sound/soc/codecs/mc13783.c
 create mode 100644 sound/soc/codecs/mc13783.h
 create mode 100644 sound/soc/imx/devdma.c
 create mode 100644 sound/soc/imx/devdma.h
 create mode 100644 sound/soc/imx/imx-ssi.c
 create mode 100644 sound/soc/imx/imx-ssi.h
 create mode 100644 sound/soc/imx/phycore.c

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

end of thread, other threads:[~2009-11-28 22:00 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-19 15:48 i.MX audio support Sascha Hauer
2009-11-19 15:48 ` [PATCH 01/12] mx3: Add SSI pins to iomux table Sascha Hauer
2009-11-19 15:48   ` [PATCH 02/12] mxc: iomux v3: remove resource handling Sascha Hauer
2009-11-19 15:48     ` [PATCH 03/12] add a mc13783 codec driver Sascha Hauer
2009-11-19 15:48       ` [PATCH 04/12] i.MX31 clock: rename SSI clocks to driver name Sascha Hauer
2009-11-19 15:48         ` [PATCH 05/12] mxc: mx1/mx2 DMA: add a possibility to create an endless DMA transfer Sascha Hauer
2009-11-19 15:48           ` [PATCH 06/12] imx-ssi sound driver Sascha Hauer
2009-11-19 15:48             ` [PATCH 07/12] add phycore sound support Sascha Hauer
2009-11-19 15:48               ` [PATCH 08/12] sound/soc/imx: Makefile/Kconfig changes for new driver Sascha Hauer
2009-11-19 15:48                 ` [PATCH 09/12] pcm038: add sound support Sascha Hauer
2009-11-19 15:48                   ` [PATCH 10/12] pcm043: " Sascha Hauer
2009-11-19 15:48                     ` [PATCH 11/12] pca100: " Sascha Hauer
2009-11-19 15:48                       ` [PATCH 12/12] pcm037: Add " Sascha Hauer
2009-11-19 19:03               ` [alsa-devel] [PATCH 07/12] add phycore " Mark Brown
2009-11-20 11:11             ` [alsa-devel] [PATCH 06/12] imx-ssi sound driver Mark Brown
2009-11-22  2:12             ` Timur Tabi
2009-11-23 12:00               ` Mark Brown
2009-11-23 12:13                 ` Sascha Hauer
2009-11-28 22:00                   ` Timur Tabi
2009-11-23 12:10               ` Sascha Hauer
2009-11-28 19:53                 ` Timur Tabi
2009-11-19 19:30       ` [alsa-devel] [PATCH 03/12] add a mc13783 codec driver Mark Brown
2009-11-25  7:46         ` Sascha Hauer
2009-11-25 10:39           ` Mark Brown
2009-11-25 11:08             ` Sascha Hauer
2009-11-25 11:10               ` Mark Brown
2009-11-25 11:30                 ` Sascha Hauer
2009-11-25 12:00                   ` Mark Brown
2009-11-19 16:28 ` i.MX audio support Mark Brown
2009-11-19 17:53   ` Sascha Hauer
2009-11-19 18:54     ` [alsa-devel] " Mark Brown
2009-11-20  7:51       ` javier Martin
2009-11-20  9:51         ` Sascha Hauer
2009-11-20 10:32           ` javier Martin
2009-11-20 11:10             ` Sascha Hauer
2009-11-19 16:32 ` Mark Brown
2009-11-19 17:47   ` [alsa-devel] " Sascha Hauer
2009-11-19 18:32     ` Mark Brown
2009-11-20 11:17 ` Mark Brown
2009-11-20 12:27   ` Sascha Hauer

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