linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chen-Yu Tsai <wens@csie.org>
To: Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
	Takashi Iwai <tiwai@suse.com>,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>,
	alsa-devel@alsa-project.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-sunxi@googlegroups.com
Subject: [PATCH v2 00/14] ASoC: sun4i-codec: Add support for A31 Codec
Date: Thu,  3 Nov 2016 15:55:42 +0800	[thread overview]
Message-ID: <20161103075556.29018-1-wens@csie.org> (raw)

Hi everyone,

This is v2 of my Allwinner A31 audio codec support series. The ASoC DAPM
stereo control patches in v1 were split out and merged already. These
remaining patches depend on them.

The A31's internal codec is similar (in terms of DMA, interface and
control layouts) to the one found in the A10/A13/A20 SoCs. However
it has more external inputs and outputs, the mixer controls are now
stereo (left/right separated), and it also has some audio processing
features (not supported yet).

Changes since v1:

  - Patches 1, 2, 3 and 4 were split out from patch 6.

  - Reworked handling of register offset differences with regmap_field,
    as suggested by Maxime.

  - Added support for an optional (in the driver) reset control (patch 5)

  - Added required reset control for sun6i-a31-codec

  - Added more comments for sun6i registers

  - Added HPCOM (direct drive mode) support

  - Renamed sun6i audio card name to "A31 Audio Codec"

  - Added example for allwinner,sun6i-a31-codec device tree

  - Fixed line out volume control scale

  - Added external amplifier enable GPIO for Hummingbird A31

  - Added patch to enable audio codec on Sinlinx SinA31s

Patch 1 moves some code around to facilitate patch 2. No code was
changed

Patch 2 expands the quirks to handle different register offsets for

    - ADC FIFO controls, using regmap_field's

    - RX/TX FIFO addresses, with offsets stored directly, as these
      are only used to setup DMA and not actually accessed by the
      driver

    - card setup functions, as the newer codecs have a very different
      layout

Patch 3 fixes some of the comments in the register definition section,
so the separation of different functions is clearer.

Patch 4 increases the maximum DMA burst size from 4 to 8. 4 is not
a valid size on later SoCs.

Patch 5 adds driver support for an optional reset control.

Patches 6 through 11 add support for the A31's internal codec, one
feature per patch. Hopefully this makes it easier to review. Some
features, such as PHONE inputs/outputs, audio processing, headset
jack detection and buttons, aren't supported yet.

Patch 12 adds a device node for the codec to the A31 dtsi.

Patch 13 enables the codec for the Hummingbird A31 board.

Patch 14 enables the codec for the Sinlinx SinA31s board.


Please let me know what you think.

Regards
ChenYu


Chen-Yu Tsai (14):
  ASoC: sun4i-codec: Move data structures to add create_card call to
    quirks
  ASoC: sun4i-codec: Expand quirks to handle register offsets and card
    creation
  ASoC: sun4i-codec: Revise comments for register definition macros
  ASoC: sun4i-codec: Increase DMA max burst to 8
  ASoC: sun4i-codec: Add support for optional reset control to quirks
  ASoC: sun4i-codec: Add support for A31 playback through headphone
    output
  ASoC: sun4i-codec: Add support for A31 Line In playback
  ASoC: sun4i-codec: Add support for A31 Line Out playback
  ASoC: sun4i-codec: Add support for A31 analog microphone inputs
  ASoC: sun4i-codec: Add support for A31 ADC capture path
  ASoC: sun4i-codec: Add support for A31 board level audio routing
  ARM: dts: sun6i: Add audio codec device node
  ARM: dts: sun6i: hummingbird: Enable internal audio codec
  ARM: dts: sun6i: sina31s: Enable internal audio codec

 .../devicetree/bindings/sound/sun4i-codec.txt      |  55 +-
 arch/arm/boot/dts/sun6i-a31-hummingbird.dts        |  20 +
 arch/arm/boot/dts/sun6i-a31.dtsi                   |  13 +
 arch/arm/boot/dts/sun6i-a31s-sina31s.dts           |   8 +
 sound/soc/sunxi/sun4i-codec.c                      | 688 ++++++++++++++++++---
 5 files changed, 706 insertions(+), 78 deletions(-)

-- 
2.10.2

             reply	other threads:[~2016-11-03  7:56 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-03  7:55 Chen-Yu Tsai [this message]
2016-11-03  7:55 ` [PATCH v2 01/14] ASoC: sun4i-codec: Move data structures to add create_card call to quirks Chen-Yu Tsai
2016-11-03  8:23   ` Maxime Ripard
2016-11-03 17:26   ` Applied "ASoC: sun4i-codec: Move data structures to add create_card call to quirks" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 02/14] ASoC: sun4i-codec: Expand quirks to handle register offsets and card creation Chen-Yu Tsai
2016-11-03 17:34   ` Maxime Ripard
2016-11-03 20:34   ` Applied "ASoC: sun4i-codec: Expand quirks to handle register offsets and card creation" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 03/14] ASoC: sun4i-codec: Revise comments for register definition macros Chen-Yu Tsai
2016-11-03  8:24   ` Maxime Ripard
2016-11-03 20:34   ` Applied "ASoC: sun4i-codec: Revise comments for register definition macros" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 04/14] ASoC: sun4i-codec: Increase DMA max burst to 8 Chen-Yu Tsai
2016-11-03  8:26   ` Maxime Ripard
2016-11-03  8:42   ` [linux-sunxi] " Priit Laes
2016-11-03 20:33   ` Applied "ASoC: sun4i-codec: Increase DMA max burst to 8" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 05/14] ASoC: sun4i-codec: Add support for optional reset control to quirks Chen-Yu Tsai
2016-11-03  8:26   ` Maxime Ripard
2016-11-09 14:59   ` Applied "ASoC: sun4i-codec: Add support for optional reset control to quirks" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 06/14] ASoC: sun4i-codec: Add support for A31 playback through headphone output Chen-Yu Tsai
2016-11-03 17:36   ` Maxime Ripard
2016-11-04  1:08     ` Chen-Yu Tsai
2016-11-06 18:57       ` Maxime Ripard
2016-11-07  1:51         ` Chen-Yu Tsai
2016-11-03 20:33   ` Applied "ASoC: sun4i-codec: Add support for A31 playback through headphone output" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 07/14] ASoC: sun4i-codec: Add support for A31 Line In playback Chen-Yu Tsai
2016-11-03  8:29   ` Maxime Ripard
2016-11-03  7:55 ` [PATCH v2 08/14] ASoC: sun4i-codec: Add support for A31 Line Out playback Chen-Yu Tsai
2016-11-04 20:40   ` Applied "ASoC: sun4i-codec: Add support for A31 Line Out playback" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 09/14] ASoC: sun4i-codec: Add support for A31 analog microphone inputs Chen-Yu Tsai
2016-11-04 20:40   ` Applied "ASoC: sun4i-codec: Add support for A31 analog microphone inputs" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 10/14] ASoC: sun4i-codec: Add support for A31 ADC capture path Chen-Yu Tsai
2016-11-03  8:30   ` Maxime Ripard
2016-11-03  7:55 ` [PATCH v2 11/14] ASoC: sun4i-codec: Add support for A31 board level audio routing Chen-Yu Tsai
2016-11-03  8:31   ` Maxime Ripard
2016-11-04 20:39   ` Applied "ASoC: sun4i-codec: Add support for A31 board level audio routing" to the asoc tree Mark Brown
2016-11-03  7:55 ` [PATCH v2 12/14] ARM: dts: sun6i: Add audio codec device node Chen-Yu Tsai
2016-11-03  7:55 ` [PATCH v2 13/14] ARM: dts: sun6i: hummingbird: Enable internal audio codec Chen-Yu Tsai
2016-11-03  8:45   ` Maxime Ripard
2016-11-04  8:12     ` Chen-Yu Tsai
2016-11-03  7:55 ` [PATCH v2 14/14] ARM: dts: sun6i: sina31s: " Chen-Yu Tsai

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=20161103075556.29018-1-wens@csie.org \
    --to=wens@csie.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=perex@perex.cz \
    --cc=robh+dt@kernel.org \
    --cc=tiwai@suse.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).