[alsa-devel] [PATCH v2 07/10] dt-bindings: sound: Add sun8i audio documentation
Icenowy Zheng
icenowy at aosc.xyz
Tue Jan 17 18:14:30 CET 2017
2017年1月18日 00:51于 Maxime Ripard <maxime.ripard at free-electrons.com>写道:
>
> Hi,
>
> On Tue, Jan 17, 2017 at 03:02:27PM +0100, Mylène Josserand wrote:
> > Add the documentation for dt-binding of the digital audio codec driver
> > and the audio card driver for Sun8i SoCs.
> >
> > Signed-off-by: Mylène Josserand <mylene.josserand at free-electrons.com>
>
> One small comment below,
>
> > ---
> > .../devicetree/bindings/sound/sun8i-codec.txt | 76 ++++++++++++++++++++++
> > 1 file changed, 76 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/sound/sun8i-codec.txt
> >
> > diff --git a/Documentation/devicetree/bindings/sound/sun8i-codec.txt b/Documentation/devicetree/bindings/sound/sun8i-codec.txt
> > new file mode 100644
> > index 000000000000..ce3c05219e33
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/sound/sun8i-codec.txt
> > @@ -0,0 +1,76 @@
> > +Allwinner SUN8I audio codec
> > +------------------------------------
> > +
> > +On Sun8i SoCs, and particularly on A33, the audio is separated in
>
> Technically that's not true on all the SoCs of the sun8i family, but
> only a few of them (A33 and H3 iirc).
H3 is still the old-style sunxi codec.
I think A64 has the same digital codec part (but A64's analog part is different)
>
> This driver is only made for the A33 at the moment, so you should only
> mention it (and you should rename that file as well).
>
> Once done,
> Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com>
>
> Thanks,
> Maxime
>
>
> > +different parts:
> > + - A DAI driver. It uses the "sun4i-i2s" driver which is
> > + documented here:
> > + Documentation/devicetree/bindings/sound/sun4i-i2s.txt
> > + - An analog part of the codec which is handled as PRCM registers.
> > + See Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
> > + - An digital part of the codec which is documented in this current
> > + binding documentation.
> > + - And finally, an audio card which links all the above components.
> > + The simple-audio card will be used.
> > + See Documentation/devicetree/bindings/sound/simple-card.txt
> > +
> > +This bindings documentation exposes Sun8i codec (digital part).
> > +
> > +Required properties:
> > +- compatible: must be "allwinner,sun8i-a33-codec"
> > +- reg: must contain the registers location and length
> > +- interrupts: must contain the codec interrupt
> > +- clocks: a list of phandle + clock-specifer pairs, one for each entry
> > + in clock-names.
> > +- clock-names: should contain followings:
> > + - "bus": the parent APB clock for this controller
> > + - "mod": the parent module clock
> > +
> > +Example:
> > +codec: codec at 01c22e00 {
> > + #sound-dai-cells = <0>;
> > + compatible = "allwinner,sun8i-a33-codec";
> > + reg = <0x01c22e00 0x400>;
> > + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
> > + clock-names = "bus", "mod";
> > + status = "disabled";
> > +};
> > +
> > +Here is an example to add a sound card and the codec binding on sun8i SoCs that
> > +are similar to A33 using simple-card:
> > +
> > + sound {
> > + compatible = "simple-audio-card";
> > + simple-audio-card,name = "Sun8i Audio Card";
> > + simple-audio-card,format = "i2s";
> > + simple-audio-card,frame-master = <&link_codec>;
> > + simple-audio-card,bitclock-master = <&link_codec>;
> > + simple-audio-card,mclk-fs = <512>;
> > + simple-audio-card,aux-devs = <&codec_analog>;
> > + simple-audio-card,routing =
> > + "Left DAC", "Digital Left DAC",
> > + "Right DAC", "Digital Right DAC";
> > +
> > + simple-audio-card,cpu {
> > + sound-dai = <&dai>;
> > + };
> > +
> > + link_codec: simple-audio-card,codec {
> > + sound-dai = <&codec>;
> > + };
> > +
> > + soc at 01c00000 {
> > + [...]
> > +
> > + codec: codec at 01c22e00 {
> > + #sound-dai-cells = <0>;
> > + compatible = "allwinner,sun8i-a33-codec";
> > + reg = <0x01c22e00 0x400>;
> > + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
> > + clock-names = "bus", "mod";
> > + status = "disabled";
> > + };
> > + };
> > +
> > --
> > 2.11.0
> >
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the Alsa-devel
mailing list