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:
Install the RD-2012.5 version of Xtensa tools from Xplorer.
Download the Xtensa core config for BYT.
Save the core config tarball (Intel_HiFiEP_linux.tgz) in your <xtensa-tools-root>/XtDevTools/downloads directory.
Unzip and install the tarball.
tar xvzf Intel\_HiFiEP\_linux.tgz cd Intel\_HiFiEP ./install
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:
Copy the*sof-byt.ri* to /lib/firmware/intel/ on Minnow Turbot FS
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.
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
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.
Build deb package.
make -j8 && make -j8 deb-pkg
Package all the *.deb files for MinnowBoard, and install all deb files.
dpkg -i \*.deb
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:
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
Move .aml and .efi files to EFI directory.
cp \*.aml /boot/efi/EFI cp AudioSsdtUpdate.efi /boot/efi/EFI
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.