# rubikpi3-audioreach-topology

AudioReach (ALSA) topology for the Thundercomm Rubik Pi 3 sound card.

The shipped binary `lib/firmware/qcom/qcm6490/qcs6490-rubikpi3-snd-card-tplg.bin` is built from `src/QCS6490-RubikPi3-Liberux.m4` against the macros of the [linux-msm audioreach-topology](https://github.com/linux-msm/audioreach-topology) project:

    git clone https://github.com/linux-msm/audioreach-topology
    cp src/QCS6490-RubikPi3-Liberux.m4 audioreach-topology/
    cd audioreach-topology
    m4 -I . QCS6490-RubikPi3-Liberux.m4 > rubik.conf
    alsatplg -c rubik.conf -o qcs6490-rubikpi3-snd-card-tplg.bin

Graphs: MultiMedia1 (S16) -> PRIMARY_MI2S_RX (ES8316 jack), MultiMedia2 (S32) -> QUATERNARY_MI2S_RX (LT9611 HDMI), MultiMedia3 capture <- PRIMARY_MI2S_TX (jack mic), MultiMedia4 (S16) -> DISPLAY_PORT_RX (USB-C DP alt mode). The alsatplg warnings about undefined `* MI2S Playback/Capture` sink/source streams are expected: those widgets are created at runtime by the kernel's backend DAIs.
