Set up SOF on MinnowBoard Turbot

Development

Hardware Rework & Connect External Audio Codec

  • Realtek ALC5651
  • Dialog DA7212

Update BIOS and Insert OEM Key

MinnowBoard does not need key signing, so no OEM key is needed.

Set Up SOF

Please follow the build from scratch instructions for generic set up steps.

Set up Xtensa config to build with xt-xcc:

  1. Install the RD-2012.5 version of Xtensa tools from Xplorer.

  2. Download the Xtensa core config for BYT.

  3. Save the core config tarball (Intel_HiFiEP_linux.tgz) in your <xtensa-tools-root>/XtDevTools/downloads directory.

  4. Unzip and install the tarball.

    tar xvzf Intel\_HiFiEP\_linux.tgz
    cd Intel\_HiFiEP
    ./install
    
  5. When prompted, enter the Xtensa tools directory.

    <xtensa-tools-root>/XtDevTools/install/tools/RD-2012.5-linux/XtensaTools
    

After you have built and setup SOF:

  1. Copy the*sof-byt.ri* to /lib/firmware/intel/ on Minnow Turbot FS

  2. Clone the Sound Open Firmware firmware tools from git://git.alsa-project.org/sound-open-firmware-tools.git and select a topology file like one of the following:

    test-ssp2-passthrough-s16le-s16le-48k-codec.tplg
    test-ssp2-passthrough-s24le-s24le-48k-codec.tplg
    test-ssp2-volume-s16le-s16le-48k-codec.tplg
    test-ssp2-volume-s24le-s24le-48k-codec.tplg
    

    Note

    We only support pass-through topology in SOF 1.0.

  3. Copy the topology file to /lib/firmware/intel/ as sof-byt-“codec name”.tplg (e.g. sof-byt-rt5651.tplg) to the Minnow Turbot FS.

UCM

Pierre Bossart provides a UCM repository that supports both headset mode and line in/out mode.

You can also use alsactl to restore a recommended asound.state file for the amixer setting.

asound.state files: user@bee:/git/audio/reef/board-int

Kernel build

Kernel update

Repo: https://github.com/plbossart/sound.git

Branch: heads/topic/sof-v4.14

  1. Select the machine and codec driver in kernel config

    Device Drivers > Sound card support > Advanced Linux Sound Architecture > ALSA for SoC audio support
    

    Make sure ASoC SOF Baytrail and codec RT5651/DA7212 are selected.

    image1

  2. Build deb package.

    make -j8 && make -j8 deb-pkg
    
  3. Package all the *.deb files for MinnowBoard, and install all deb files.

    dpkg -i \*.deb
    
  4. Reboot your system.

EFI API

Repo: https://github.com/plbossart/MinnowBoardMaxFirmware.git

Clone the repo and build the source code.

Note

AudioSsdtUpdate.efi and associated .aml files are avaible as pre-compiled binaries under X64/

Steps:

  1. Create a startup.nsh file in /boot/efi/

    vim startup.nsh
    

    Add the following:

    fs0:
    cd EFI
    AudioSsdtUpdate.efi "codecname".aml(like RT5651.aml or DA7212.aml)
    cd ubuntu
    grubx64.efi
    
  2. Move .aml and .efi files to EFI directory.

    cp \*.aml /boot/efi/EFI
    cp AudioSsdtUpdate.efi /boot/efi/EFI
    
  3. Configure the BIOS.

    • From the BIOS press F2.
    • Select the EFI Internal Shell as primary boot option: Boot-Maintenance Manager -> Boot Options -> Change Boot Order
    • Press F10 to save and exit.

    EFI shell will automatically run the startup.nsh shell script.