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