[PATCH 1/5] ASoC: kirkwood: enable Kirkwood driver for Armada 38x platforms
Rob Herring
robh at kernel.org
Mon Sep 26 21:48:32 CEST 2022
On Tue, Sep 20, 2022 at 03:26:44PM +0200, Pali Rohár wrote:
> From: Marcin Wojtas <mw at semihalf.com>
>
> The audio unit of Marvell Armada38x SoC is similar to the ones comprised by
> other Marvell SoCs (Kirkwood, Dove and Armada 370). Therefore KW audio
> driver can be used to support it and this commit adds new compatible string
> to identify Armada 38x variant.
>
> Two new memory regions are added: first one for PLL configuration and
> the second one for choosing one of audio I/O modes (I2S or S/PDIF).
> For the latter purpose a new optional DT property is added ('spdif-mode').
>
> kirkwood-i2s driver is extended by adding a new init function for Armada
> 38x flavor and also a routine that enables PLL output (i.e. MCLK)
> configuration.
>
> Signed-off-by: Marcin Wojtas <mw at semihalf.com>
> Tested-by: Star_Automation <star at marvell.com>
> Reviewed-by: Nadav Haklai <nadavh at marvell.com>
> Reviewed-by: Lior Amsalem <alior at marvell.com>
> Tested-by: Lior Amsalem <alior at marvell.com>
> Signed-off-by: Hezi Shahmoon <hezi at marvell.com>
> Reviewed-by: Neta Zur Hershkovits <neta at marvell.com>
> [pali: Fix support for pre-38x SoCs]
> Signed-off-by: Pali Rohár <pali at kernel.org>
> ---
> .../devicetree/bindings/sound/mvebu-audio.txt | 14 +-
> sound/soc/kirkwood/kirkwood-i2s.c | 136 +++++++++++++++++-
> sound/soc/kirkwood/kirkwood.h | 2 +
> 3 files changed, 149 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/sound/mvebu-audio.txt b/Documentation/devicetree/bindings/sound/mvebu-audio.txt
> index cb8c07c81ce4..4f5dec5cb3c2 100644
> --- a/Documentation/devicetree/bindings/sound/mvebu-audio.txt
> +++ b/Documentation/devicetree/bindings/sound/mvebu-audio.txt
> @@ -6,9 +6,14 @@ Required properties:
> "marvell,kirkwood-audio" for Kirkwood platforms
> "marvell,dove-audio" for Dove platforms
> "marvell,armada370-audio" for Armada 370 platforms
> + "marvell,armada-380-audio" for Armada 38x platforms
Perhaps be consistent with the 370 string above it.
>
> - reg: physical base address of the controller and length of memory mapped
> - region.
> + region (named "i2s_regs").
So you are adding 'reg-names'? The values belong under 'reg-names' then.
'_regs' is also redundant.
> + With "marvell,armada-380-audio" two other regions are required:
> + first of those is dedicated for Audio PLL Configuration registers
> + (named "pll_regs") and the second one ("soc_ctrl") - for register
> + where one of exceptive I/O types (I2S or S/PDIF) is set.
>
> - interrupts:
> with "marvell,kirkwood-audio", the audio interrupt
> @@ -23,6 +28,13 @@ Required properties:
> "internal" for the internal clock
> "extclk" for the external clock
>
> +Optional properties:
> +
> +- spdif-mode:
> + Enable S/PDIF mode on Armada 38x SoC. Using this property
> + disables standard I2S I/O. Valid only with "marvell,armada-380-audio"
> + compatible string.
So boolean?
> +
> Example:
>
> i2s1: audio-controller at b4000 {
DT changes should be separate patch. It would also be nice to see this
converted to schema first.
Rob
More information about the Alsa-devel
mailing list