• Content Count

  • Joined

  • Last visited

Reputation Activity

  1. Like
    mhc reacted to Werner in About Building Armbian   
    That cannot be answered by a simple yes or no. It depends.
    Let's take the 5.4 example.
    If you follow the current branch it leads us to megi's orangepi-5.4 branch. If you check the Makefile (
    you will notice that the actual version of this branch is 5.4.18. But when you compile the kernel it is actually 5.4.47 or something like that.
    This means these patches come from Armbian. If you check the patch directory for your board family (
    you can see that the upstream patches are added here. If you need a very specific kernel version remove or rename the patches you do not need.
    That was a quite easy example to get what you want.
    On other sources, vanilla for example, it is a bit tougher. You would need to specify a commit at which point you want to use the sources.
    Sometimes a board is fixed to a specific commit or kernel version because it is known that newer version of the same kernel branch are known to be broken and (as most of the times) nobody has time or resources to deal with it.
  2. Like
    mhc reacted to Asimov in Enable sound on Banana Pi M2 Ultra   
    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
  3. Like
    mhc got a reaction from Igor in Problem getting correct version of kernel headers   
    Hi Igor, thank you very much for your answer.
    I understand that you contribute by using time you could spend on other things, and I am completely grateful for that. 
    I will help if I found something that " know how" from your link