[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