linux-stable/Documentation/devicetree/bindings/sound/mvebu-audio.txt
Marcin Wojtas 2adfc68877
ASoC: kirkwood: enable Kirkwood driver for Armada 38x platforms
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@semihalf.com>
Tested-by: Star_Automation <star@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Reviewed-by: Lior Amsalem <alior@marvell.com>
Tested-by: Lior Amsalem <alior@marvell.com>
Signed-off-by: Hezi Shahmoon <hezi@marvell.com>
Reviewed-by: Neta Zur Hershkovits <neta@marvell.com>
[pali: Fix support for pre-38x SoCs]
Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20220926110533.13475-1-pali@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-10-17 12:48:28 +01:00

46 lines
1.4 KiB
Text

* mvebu (Kirkwood, Dove, Armada 370) audio controller
Required properties:
- compatible:
"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
- reg: physical base address of the controller and length of memory mapped
region (named "i2s_regs").
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
with "marvell,dove-audio", a list of two interrupts, the first for
the data flow, and the second for errors.
- clocks: one or two phandles.
The first one is mandatory and defines the internal clock.
The second one is optional and defines an external clock.
- clock-names: names associated to the clocks:
"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.
Example:
i2s1: audio-controller@b4000 {
compatible = "marvell,dove-audio";
reg = <0xb4000 0x2210>;
interrupts = <21>, <22>;
clocks = <&gate_clk 13>;
clock-names = "internal";
};