[PATCH v2 0/9] ASoC: ux500: Migrate HREF and Samsung audio to audio-graph-card2
From: Linus Walleij <linusw@kernel.org>
Date: 2026-09-17 22:51:08
Also in:
linux-sound
The Ux500 HREF500 and HREF520 audio support still relies on a MOP500-specific machine driver and ad-hoc text bindings. Convert the MSP binding to DT schema and make the MSP and AB8500 codec nodes proper sound DAI providers with audio graph ports. Document the sparse TDM slot masks already parsed from audio graph endpoints. Describe the fixed DSP_A or DSP_B format, codec clock-provider role, TDM frame and active slots through endpoint graphs. Add two-link audio-graph-card2 cards for HREF500, HREF520 and the seven supported Samsung U8500 phones. Keep the codec-provided bit and frame clocks running continuously on the HREF and Samsung links. This matches the legacy machine driver for HREF and the product kernels for Samsung, and was verified on Skomer. Remove the MOP500 machine driver after moving its fixed clock and link policy into the device trees. This intentionally breaks the device tree ABI with older Ux500 HREF device trees. The old binding and driver have been broken for years and need a clean restart. The series has been tested on HREF500, HREF520 and Samsung phones. MERGING STRATEGY: - Get DT bindings ACKed - Lee merges the MFD binding patch - Mark merges the ASoC bits including the MOP500 binding removal - I merge the top commits with DTS changes and defconfig Assisted-by: LLM Signed-off-by: Linus Walleij <linusw@kernel.org> --- Changes in v2: - Keep the HREF and Samsung codec clocks running continuously. - Rework the HREF and Samsung cards around audio-graph-card2. - Describe the DAI links through provider endpoint graphs. - Document sparse TDM slot masks on audio graph endpoints. - Link to v1: https://lore.kernel.org/r/20260911-ux500-simple-sound-v1-0-6771ac714e82@kernel.org (local) --- Linus Walleij (9): ASoC: dt-bindings: sound: Prepare Ux500 audio graph links mfd: dt-bindings: ab8500: Describe codec graph and microphone wiring ASoC: dt-bindings: ux500: Remove MOP500 sound card binding ASoC: ab8500: Skip digital microphone support on AB8505 ASoC: ux500: Remove the MOP500 machine driver ARM: dts: ux500: Add sound DAI provider cells ARM: dts: ux500: Convert HREF audio to audio-graph-card2 ARM: dts: ux500: Add Samsung phone audio graphs ARM: config: u8500: Enable audio graph card2 .../devicetree/bindings/mfd/stericsson,ab8500.yaml | 28 ++ .../bindings/sound/audio-graph-port.yaml | 10 +- .../bindings/sound/stericsson,ux500-msp-i2s.yaml | 96 +++++ .../devicetree/bindings/sound/ux500-mop500.txt | 39 -- .../devicetree/bindings/sound/ux500-msp.txt | 42 -- arch/arm/boot/dts/st/ste-ab8500.dtsi | 7 +- arch/arm/boot/dts/st/ste-ab8505.dtsi | 7 +- arch/arm/boot/dts/st/ste-dbx5x0.dtsi | 9 +- arch/arm/boot/dts/st/ste-href-ab8500.dtsi | 104 +++++ arch/arm/boot/dts/st/ste-href-ab8505.dtsi | 118 ++++-- .../boot/dts/st/ste-ux500-samsung-codina-tmo.dts | 1 + arch/arm/boot/dts/st/ste-ux500-samsung-codina.dts | 21 + arch/arm/boot/dts/st/ste-ux500-samsung-gavini.dts | 5 + arch/arm/boot/dts/st/ste-ux500-samsung-golden.dts | 1 + arch/arm/boot/dts/st/ste-ux500-samsung-janice.dts | 1 + arch/arm/boot/dts/st/ste-ux500-samsung-kyle.dts | 1 + arch/arm/boot/dts/st/ste-ux500-samsung-skomer.dts | 1 + arch/arm/boot/dts/st/ste-ux500-samsung.dtsi | 77 ++++ arch/arm/configs/u8500_defconfig | 2 +- sound/soc/codecs/ab8500-codec.c | 144 ++++--- sound/soc/ux500/Kconfig | 23 +- sound/soc/ux500/Makefile | 3 - sound/soc/ux500/mop500.c | 167 -------- sound/soc/ux500/mop500_ab8500.c | 437 --------------------- sound/soc/ux500/mop500_ab8500.h | 17 - 25 files changed, 528 insertions(+), 833 deletions(-) --- base-commit: f41d0fbffacda2322a25d2918191a462fe79667e change-id: 20260903-ux500-simple-sound-d077d5486a72 Best regards, -- Linus Walleij [off-list ref]