forked from Minki/linux
d098b2f0cf
The compatible string of the kirkwood-i2s driver was chosen as "marvell,mvebu-audio". Using such a compatible string is not a good idea, since "mvebu" is the name of a large family of SOCs, in which new, unknown SOCs will be coming in the future. It is therefore impossible to know what will be evolutions of this hardware block in the next generations of the SOCs. For this reason, the recommandation for compatible strings of on-SOCs devices has always been to use the name of the oldest SOC that has the hardware block. New SOCs that have an exactly compatible hardware block can reference it using the same compatible string. See [1], [2] and [3] for various cases were this suggestion was made, including from Rob Herring, a Device Tree binding maintainer. As an example, there are already small differences between current generations: * On Kirkwood, only one interrupt is used for audio. * On Dove, two interrupts are used, one for audio data and one for error reporting. In the near future, I'll be adding audio support to Armada 370, which allows has the same hardware block (but maybe with minor variants). Therefore, this patch changes the driver to accept "marvell,kirkwood-audio" and "marvell,dove-audio" as compatible strings instead of the too-generic "marvell,mvebu-audio". The reason for the two different compatible strings is the difference in the number of interrupts used by the two SOCs for audio. This Device Tree binding has never been part of a Linux kernel stable release so far, so it can be changed now without breaking backward compatibility. [1] http://lists.infradead.org/pipermail/linux-mtd/2012-March/040417.html [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-April/161065.html [3] http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/087702.html Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mark Brown <broonie@linaro.org>
34 lines
904 B
Plaintext
34 lines
904 B
Plaintext
* mvebu (Kirkwood, Dove, Armada 370) audio controller
|
|
|
|
Required properties:
|
|
|
|
- compatible:
|
|
"marvell,kirkwood-audio" for Kirkwood platforms
|
|
"marvell,dove-audio" for Dove platforms
|
|
|
|
- reg: physical base address of the controller and length of memory mapped
|
|
region.
|
|
|
|
- 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
|
|
|
|
Example:
|
|
|
|
i2s1: audio-controller@b4000 {
|
|
compatible = "marvell,dove-audio";
|
|
reg = <0xb4000 0x2210>;
|
|
interrupts = <21>, <22>;
|
|
clocks = <&gate_clk 13>;
|
|
clock-names = "internal";
|
|
};
|