[PATCH v3 0/9] ASoC: mediatek: mt2701: HDMI audio support

Daniel Golle posted 9 patches 1 month, 3 weeks ago
.../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
[PATCH v3 0/9] ASoC: mediatek: mt2701: HDMI audio support
Posted by Daniel Golle 1 month, 3 weeks ago
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
Re: [PATCH v3 0/9] ASoC: mediatek: mt2701: HDMI audio support
Posted by AngeloGioacchino Del Regno 1 month ago
On 4/24/26 04:48, Daniel Golle wrote:
> 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/
> 

Whole series is

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

I'll pick the devicetree bits after the ASoC and bindings bits get picked.

Cheers,
Angelo
Re: (subset) [PATCH v3 0/9] ASoC: mediatek: mt2701: HDMI audio support
Posted by Mark Brown 1 month, 1 week ago
On Fri, 24 Apr 2026 03:48:29 +0100, Daniel Golle wrote:
> ASoC: mediatek: mt2701: HDMI audio support
> 
> 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.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.2

Thanks!

[1/9] ASoC: dt-bindings: mt2701-afe-pcm: add HDMI audio path clocks
      https://git.kernel.org/broonie/sound/c/7139d75a1ac1
[2/9] ASoC: dt-bindings: mediatek,mt2701-hdmi-audio: add MT2701 HDMI audio
      https://git.kernel.org/broonie/sound/c/069ac057ddaf
[3/9] ASoC: mediatek: mt2701: add AFE HDMI register definitions
      https://git.kernel.org/broonie/sound/c/3401cff9a9ef
[4/9] ASoC: mediatek: mt2701: add optional HDMI audio path clocks
      https://git.kernel.org/broonie/sound/c/06efb5f1b777
[5/9] ASoC: mediatek: mt2701: add HDMI audio memif, FE and BE DAIs
      https://git.kernel.org/broonie/sound/c/0e2f1d39c2bf
[6/9] ASoC: mediatek: mt2701: add machine driver for on-chip HDMI codec
      https://git.kernel.org/broonie/sound/c/4d9c6bbfed7d

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark