From: Luca Ceresoli <luca.ceresoli@bootlin.com>
To: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Heiko Stuebner <heiko@sntech.de>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
linux-rockchip@lists.infradead.org, linux-sound@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
Luca Ceresoli <luca.ceresoli@bootlin.com>
Subject: [PATCH v2 0/6] Add support for the internal RK3308 audio codec
Date: Tue, 19 Dec 2023 15:54:15 +0100 [thread overview]
Message-ID: <20231219-rk3308-audio-codec-v2-0-c70d06021946@bootlin.com> (raw)
This series of patches adds support to use the internal audio codec of the
Rockchip RK3308 SoC. This codec is internally connected to the I2S
peripherals on the same chip, and it has some peculiarities arising from
that interconnection.
For proper bidirectional operation with the internal codec, the I2S
peripheral needs two clock sources (tx and rx), while connection with an
external codec commonly needs only one. Since v5.16 there is a driver for
the I2S in sound/soc/rockchip/rockchip_i2s_tdm.c, but it does not correctly
handle receiving those two clocks via the .set_sysclk op. Patch 1 fixes
that.
Patches 2-4 adds the codec driver along with the bindings and a new helper
macro.
Patches 5-6 add to the SoC DT file two I2S controllers (those which are
internally connected to the internal codec) and the codec itself.
Luca
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changed in v2:
- largely rewrote the codec driver to use DAPM and lots of improvements
and cleanups
- removed the RK3308 audio card and related patches, will be sent later
- various other changes, listed per-patch
---
Luca Ceresoli (6):
ASoC: rockchip: i2s-tdm: Fix clk_id usage in .set_sysclk()
ASoC: dt-bindings: Add Rockchip RK3308 internal audio codec
ASoC: core: add SOC_DOUBLE_RANGE_TLV() helper macro
ASoC: codecs: Add RK3308 internal audio codec driver
arm64: dts: rockchip: add i2s_8ch_2 and i2s_8ch_3
arm64: dts: rockchip: add the internal audio codec
.../bindings/sound/rockchip,rk3308-codec.yaml | 98 ++
MAINTAINERS | 7 +
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 68 ++
include/sound/soc.h | 12 +
sound/soc/codecs/Kconfig | 11 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/rk3308_codec.c | 1012 ++++++++++++++++++++
sound/soc/codecs/rk3308_codec.h | 593 ++++++++++++
sound/soc/rockchip/rockchip_i2s_tdm.c | 22 +-
9 files changed, 1819 insertions(+), 6 deletions(-)
---
base-commit: f89a0253ea1f519e6866689f0e83857ca276a2e9
change-id: 20231219-rk3308-audio-codec-a5558ba8949d
Best regards,
--
Luca Ceresoli <luca.ceresoli@bootlin.com>
next reply other threads:[~2023-12-19 14:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-19 14:54 Luca Ceresoli [this message]
2023-12-19 14:54 ` [PATCH v2 1/6] ASoC: rockchip: i2s-tdm: Fix clk_id usage in .set_sysclk() Luca Ceresoli
2023-12-19 14:54 ` [PATCH v2 2/6] ASoC: dt-bindings: Add Rockchip RK3308 internal audio codec Luca Ceresoli
2023-12-19 23:13 ` Rob Herring
2023-12-20 8:10 ` Luca Ceresoli
2023-12-19 14:54 ` [PATCH v2 3/6] ASoC: core: add SOC_DOUBLE_RANGE_TLV() helper macro Luca Ceresoli
2023-12-19 14:54 ` [PATCH v2 4/6] ASoC: codecs: Add RK3308 internal audio codec driver Luca Ceresoli
2023-12-19 14:54 ` [PATCH v2 5/6] arm64: dts: rockchip: add i2s_8ch_2 and i2s_8ch_3 Luca Ceresoli
2023-12-19 14:54 ` [PATCH v2 6/6] arm64: dts: rockchip: add the internal audio codec Luca Ceresoli
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=20231219-rk3308-audio-codec-v2-0-c70d06021946@bootlin.com \
--to=luca.ceresoli@bootlin.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=frattaroli.nicolas@gmail.com \
--cc=heiko@sntech.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-sound@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=perex@perex.cz \
--cc=robh+dt@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
--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).