Jump to content

Enable sound on Banana Pi M2 Ultra


Asimov

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

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines