Set up SOF on MinnowBoard Turbot

MinnowBoard resources

About Turbot

https://minnowboard.org/minnowboard-turbot/technical-specs

Schematic

https://minnowboard.org/minnowboard-turbot/documentation

BIOS

We recommend using the latest version.

https://firmware.intel.com/projects/minnowboard-max

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.

Install Linux

Install Ubuntu: https://minnowboard.org/tutorials/installing-ubuntu-lts/

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.