1 1
Asimov

Enable sound on Banana Pi M2 Ultra

Recommended Posts

I can enable bananpi M2 ultra sound (headphone and mic on pcb)  You must add this on the dtsi file.

 

        dma: dma-controller@01c02000 {
            compatible = "allwinner,sun8i-h3-dma";
            reg = <0x01c02000 0x1000>;
            interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&ccu CLK_BUS_DMA>;
            resets = <&ccu RST_BUS_DMA>;
            #dma-cells = <1>;
        };

        codec: codec@01c22c00 {
            #sound-dai-cells = <0>;
            compatible = "allwinner,sun8i-h3-codec";
            reg = <0x01c22c00 0x300>;
            interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_CODEC>;
            clock-names = "apb", "codec";
            resets = <&ccu RST_BUS_CODEC>;
            dmas = <&dma 19>, <&dma 19>;
            dma-names = "rx", "tx";
            allwinner,codec-analog-controls = <&codec_analog>;
            allwinner,audio-routing =
                "Headphone", "HP",
                "LINEIN", "Line In",
                "MIC1",    "MBIAS",
                "MIC1", "Mic",
                "MIC2", "HBIAS",
                "MIC2", "Headset Mic";
            status = "okay";
        };

        codec_analog: codec-analog@01c22f00 {
            compatible = "allwinner,sun8i-a23-codec-analog";
            reg = <0x01c22f00 0x4>;
        };

 

Then modules that must be loaded are

 

sun8i_codec_analog     24576  1
sun4i_codec            32768  3
snd_soc_core          118784  2 sun4i_codec,sun8i_codec_analog
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm                65536  2 snd_pcm_dmaengine,snd_soc_core
snd_timer              24576  1 snd_pcm
snd                    45056  3 snd_timer,snd_soc_core,snd_pcm
soundcore              16384  1 snd

 

to test the player execute that to check the sound

$ aplay /usr/share/sounds/alsa/Front_Center.wav

 

then execute

$ alsamixer

to control the volumen and gain

 

To enable mic do that.

1) open alsamixer;
2) press "tab" to switch to capture;
3) press "bar" on the first capture channel;
"L_____R" red sign should appear;
4) select by arrow key MIC as the source of the first
input source;
2) record a test file:
arecord -f cd -D hw:0,0 -d 10 test.wav
play it back to test i.e.:

mplayer test.wav

 

Thats all ...

 

best regards Asimov

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
1 1