From: Daniel Golle <daniel@makrotopia•org>
To: "Liam Girdwood" <lgirdwood@gmail•com>,
"Mark Brown" <broonie@kernel•org>,
"Rob Herring" <robh@kernel•org>,
"Krzysztof Kozlowski" <krzk+dt@kernel•org>,
"Conor Dooley" <conor+dt@kernel•org>,
"Matthias Brugger" <matthias.bgg@gmail•com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora•com>,
"Jaroslav Kysela" <perex@perex•cz>,
"Takashi Iwai" <tiwai@suse•com>,
"Cyril Chao" <Cyril.Chao@mediatek•com>,
"Arnd Bergmann" <arnd@arndb•de>,
"Nícolas F. R. A. Prado" <nfraprado@collabora•com>,
"Kuninori Morimoto" <kuninori.morimoto.gx@renesas•com>,
"Daniel Golle" <daniel@makrotopia•org>,
"Eugen Hristev" <eugen.hristev@linaro•org>,
linux-sound@vger•kernel.org, devicetree@vger•kernel.org,
linux-kernel@vger•kernel.org,
linux-arm-kernel@lists•infradead.org,
linux-mediatek@lists•infradead.org
Subject: [PATCH v3 0/9] ASoC: mediatek: mt2701: HDMI audio support
Date: Fri, 24 Apr 2026 03:48:29 +0100 [thread overview]
Message-ID: <cover.1776998727.git.daniel@makrotopia.org> (raw)
This series wires up on-chip HDMI audio on MT2701 and MT7623N, from the
DRM bridge down through the AFE into a small machine driver that binds
the AFE HDMI BE to the HDMI TX codec already exposed by the
mediatek-drm-hdmi driver. Bindings, DT and a BananaPi R2 board node
are included.
In order to survive vblank or late hotplug of the monitor, the fix
submitted separately [1] is required as well.
Everything here was developed for and tested on a BananaPi R2
(MT7623N), which turns ten years old this year -- a nice occasion to
finally land HDMI audio for a SoC which was truly ahead of its time.
[1]: https://patchwork.kernel.org/project/linux-mediatek/patch/a3e22cbae528c9a38d854a586d1736b860998d41.1776265222.git.daniel@makrotopia.org/
Changes since v2:
* allOf goes before additionalProperties
* remove now unused clk bits
* remove redundant clock un-gating via regmap access
Changes since v1:
* Restrict the four HDMI clocks to mediatek,mt2701-audio only
using an allOf/if/then conditional; MT7622 is capped at 34
clocks (Krzysztof Kozlowski)
* Fix subject prefix to use schema filename (Krzysztof Kozlowski)
* Rewrite title and description to describe hardware, not driver
(Krzysztof Kozlowski)
* Clarify in commit message why this is a separate binding from
mediatek,mt2701-audio (Krzysztof Kozlowski)
* use named masks and explicitly set BIT_WIDTH_16 when
programming AFE_HDMI_OUT_CON0 channel count (Mark Brown)
* add AUDIO_TOP_CON3, AFE_HDMI_OUT_CON0, AFE_HDMI_CONN0,
AFE_8CH_I2S_OUT_CON to suspend/resume backup list
(Mark Brown)
Daniel Golle (9):
ASoC: dt-bindings: mt2701-afe-pcm: add HDMI audio path clocks
ASoC: dt-bindings: mediatek,mt2701-hdmi-audio: add MT2701 HDMI audio
ASoC: mediatek: mt2701: add AFE HDMI register definitions
ASoC: mediatek: mt2701: add optional HDMI audio path clocks
ASoC: mediatek: mt2701: add HDMI audio memif, FE and BE DAIs
ASoC: mediatek: mt2701: add machine driver for on-chip HDMI codec
ARM: dts: mediatek: mt2701: wire HDMI audio path clocks into AFE
ARM: dts: mediatek: mt7623: wire HDMI audio path clocks into AFE
ARM: dts: mediatek: mt7623n-bananapi-bpi-r2: add HDMI audio machine
node
.../bindings/sound/mediatek,mt2701-audio.yaml | 23 ++
.../sound/mediatek,mt2701-hdmi-audio.yaml | 48 +++
arch/arm/boot/dts/mediatek/mt2701.dtsi | 21 +-
arch/arm/boot/dts/mediatek/mt7623.dtsi | 21 +-
.../dts/mediatek/mt7623n-bananapi-bpi-r2.dts | 7 +
sound/soc/mediatek/Kconfig | 10 +
sound/soc/mediatek/mt2701/Makefile | 1 +
.../mediatek/mt2701/mt2701-afe-clock-ctrl.c | 22 ++
sound/soc/mediatek/mt2701/mt2701-afe-common.h | 6 +
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 284 +++++++++++++++++-
sound/soc/mediatek/mt2701/mt2701-hdmi.c | 114 +++++++
sound/soc/mediatek/mt2701/mt2701-reg.h | 29 ++
12 files changed, 575 insertions(+), 11 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt2701-hdmi-audio.yaml
create mode 100644 sound/soc/mediatek/mt2701/mt2701-hdmi.c
--
2.54.0
next reply other threads:[~2026-04-24 2:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-24 2:48 Daniel Golle [this message]
2026-04-24 2:48 ` [PATCH v3 1/9] ASoC: dt-bindings: mt2701-afe-pcm: add HDMI audio path clocks Daniel Golle
2026-04-24 2:48 ` [PATCH v3 2/9] ASoC: dt-bindings: mediatek,mt2701-hdmi-audio: add MT2701 HDMI audio Daniel Golle
2026-04-24 2:49 ` [PATCH v3 3/9] ASoC: mediatek: mt2701: add AFE HDMI register definitions Daniel Golle
2026-04-24 2:49 ` [PATCH v3 4/9] ASoC: mediatek: mt2701: add optional HDMI audio path clocks Daniel Golle
2026-04-24 2:50 ` [PATCH v3 5/9] ASoC: mediatek: mt2701: add HDMI audio memif, FE and BE DAIs Daniel Golle
2026-04-24 2:50 ` [PATCH v3 6/9] ASoC: mediatek: mt2701: add machine driver for on-chip HDMI codec Daniel Golle
2026-04-24 2:50 ` [PATCH v3 7/9] ARM: dts: mediatek: mt2701: wire HDMI audio path clocks into AFE Daniel Golle
2026-04-24 2:50 ` [PATCH v3 8/9] ARM: dts: mediatek: mt7623: " Daniel Golle
2026-04-24 2:50 ` [PATCH v3 9/9] ARM: dts: mediatek: mt7623n-bananapi-bpi-r2: add HDMI audio machine node Daniel Golle
2026-05-05 1:52 ` (subset) [PATCH v3 0/9] ASoC: mediatek: mt2701: HDMI audio support Mark Brown
2026-05-11 9:43 ` AngeloGioacchino Del Regno
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=cover.1776998727.git.daniel@makrotopia.org \
--to=daniel@makrotopia$(echo .)org \
--cc=Cyril.Chao@mediatek$(echo .)com \
--cc=angelogioacchino.delregno@collabora$(echo .)com \
--cc=arnd@arndb$(echo .)de \
--cc=broonie@kernel$(echo .)org \
--cc=conor+dt@kernel$(echo .)org \
--cc=devicetree@vger$(echo .)kernel.org \
--cc=eugen.hristev@linaro$(echo .)org \
--cc=krzk+dt@kernel$(echo .)org \
--cc=kuninori.morimoto.gx@renesas$(echo .)com \
--cc=lgirdwood@gmail$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-mediatek@lists$(echo .)infradead.org \
--cc=linux-sound@vger$(echo .)kernel.org \
--cc=matthias.bgg@gmail$(echo .)com \
--cc=nfraprado@collabora$(echo .)com \
--cc=perex@perex$(echo .)cz \
--cc=robh@kernel$(echo .)org \
--cc=tiwai@suse$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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