• Das Quartz64 Board hat einen GPIO Pin für SPDIF Daten Ausgabe. Ein anderer Benutzer hat jetzt dafür ein Modul gebaut, was man aufstecken kann.

    Hardware

    3b57277f-0275-4a16-aaf3-894112b2f2ed-grafik.png

    https://forum.pine64.org/showthread.php?tid=15010

    Das Modul nutzt die Pins 16,18 und 20. Aufgesteckt sieht das dann so aus.

    index.jpeg

    Software

    Aktuell funktioniert das Modul noch nicht mit dem Kernel des Manjaro Images.

    [root@quartz64 ~]# uname -a
    Linux quartz64 5.15.0-rc1-0.3-MANJARO-ARM #1 SMP PREEMPT Thu Oct 7 06:08:24 UTC 2021 aarch64 GNU/Linux
    

    Kann man testen, wenn man sich die Soundkarten des Systems anzeigen lässt.

    [root@quartz64 ~]# cat /proc/asound/cards
     0 [RK817          ]: simple-card - Analog RK817
                          Analog RK817
    

    Ok, hier ist das Modul noch nicht vorhanden. Die Hardwaredefinition des Boards wird ja mit einem File gemacht. Das findet man unter

    /boot/dtbs/rockchip/rk3566-quartz64-a.dtb
    

    Vor der Bearbeitung bitte irgendwo sichern. Und drann denken, falsche Parameter können die Hardware beschädigen!

    Wir machen daraus jetzt ein lesbares File.

    dtc -I dtb -O dts -o /root/testfile.dts /root/rk3566-quartz64-a.dtb
    

    Wenn ihr das Tool dtc nicht habt, ein

    pacman -S dtc
    

    installiert euch das.

    Das File öffnen wir jetzt mal und suchen nach SPDIF. Ich finde das hier

    spdif@fe460000 {
                    compatible = "rockchip,rk3568-spdif";
                    reg = <0x00 0xfe460000 0x00 0x1000>;
                    interrupts = <0x00 0x66 0x04>;
                    dmas = <0x5a 0x01>;
                    dma-names = "tx";
                    clock-names = "mclk\0hclk";
                    clocks = <0x0b 0x5f 0x0b 0x5c>;
                    #sound-dai-cells = <0x00>;
                    pinctrl-names = "default";
                    pinctrl-0 = <0x5f>;
                    status = "disabled";
                    phandle = <0x9e>;
            };
    

    Ok, ist "disabled". Um es zu aktivieren, muss da ein "okay" hin.

    spdif@fe460000 {
                    compatible = "rockchip,rk3568-spdif";
                    reg = <0x00 0xfe460000 0x00 0x1000>;
                    interrupts = <0x00 0x66 0x04>;
                    dmas = <0x5a 0x01>;
                    dma-names = "tx";
                    clock-names = "mclk\0hclk";
                    clocks = <0x0b 0x5f 0x0b 0x5c>;
                    #sound-dai-cells = <0x00>;
                    pinctrl-names = "default";
                    pinctrl-0 = <0x5f>;
                    status = "okay";
                    phandle = <0x9e>;
            };
    

    Aus dem File jetzt wieder ein .dtb machen.

    dtc -I dts -O dtb -o /root/rk3566-quartz64-a.dtb /root/testfile.dts
    

    Das File kopieren wir jetzt an die richtige Stelle.

    cp rk3566-quartz64-a.dtb  /boot/dtbs/rockchip/
    

    Den Quartz64 neu starten! Wir schauen nach den Soundkarten.

    [root@quartz64 ~]# cat /proc/asound/cards
     0 [RK817          ]: simple-card - Analog RK817
                          Analog RK817
     1 [SPDIF          ]: simple-card - SPDIF
                          SPDIF
    

    Gut, das ist sie. Jetzt müssen wir dem System noch mitteilen, das es diese Soundkarte benutzen soll.

    ALSA

    Wir erzeugen folgendes File.

    nano /etc/asound.conf
    

    Inhalt

    defaults.pcm.card 1
    defaults.ctl.card 1
    

    Ich benutze zum Testen das Tool mpv

    pacman -S mpv
    

    z.B. so

    ~~mpv http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3~~
    

    Das ist natürlich Bullshit, das Testfile muss natürlich auch Digital Ton enthalten. Ok, wir laden uns hier was runter.

    Dann geben wir das Video aus, müssen aber die Bildausgabe abschalten. Geht ja auf dem Quartz64 noch nicht 😞

    mpv --no-video /home/frank/Countdown-v1-Dolby-thedigitaltheater.mp4
    

    Vor Erstellung des Files kam der Sound aus der analogen Buchse, daran hängen hier zwei PC-Boxen. Jetzt geht im Adapter rotes Licht an 🙂

    index2.jpeg

    Und der Sound kommt aus meinem AVReiceiver 🤓


  • Für das bequeme Umschalten der Soundkarten kann man das Tool alsamixer benutzen.

    pacman -S alsa-utils
    

    Danach

    alsamixer
    

    e912744f-8f69-4b28-a50b-7ffc8a3ab399-grafik.png