lkml.org 
[lkml]   [2017]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 5/8] ASoC: codecs: Add sun8i-a33 binding documentation
    Date
    Add the documentation for dt-binding of the digital audio codec driver
    and the audio card driver for Sun8i-a33 SoCs.

    Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com>
    ---
    .../devicetree/bindings/sound/sun8i-a33-codec.txt | 75 ++++++++++++++++++++++
    1 file changed, 75 insertions(+)
    create mode 100644 Documentation/devicetree/bindings/sound/sun8i-a33-codec.txt

    diff --git a/Documentation/devicetree/bindings/sound/sun8i-a33-codec.txt b/Documentation/devicetree/bindings/sound/sun8i-a33-codec.txt
    new file mode 100644
    index 000000000000..2425c74bce7e
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/sound/sun8i-a33-codec.txt
    @@ -0,0 +1,75 @@
    +Allwinner SUN8I audio codec
    +------------------------------------
    +
    +On Sun8i-A33 SoCs, the audio is separated in 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@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-a33-audio";
    + 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@01c00000 {
    + [...]
    +
    + codec: codec@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
    \
     
     \ /
      Last update: 2017-01-31 11:11    [W:4.060 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site