beagleboard: add basic audio mixer defaults

We need a generic alsa based mechanism that we can use a bbappend to save
default mixer controls per bsp. Until that is ready, this ensures the Audio Out
on the Beagleboard is enabled out of the box.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
This commit is contained in:
Darren Hart 2011-06-17 14:42:32 -07:00 committed by Richard Purdie
parent 0363835985
commit 489fe5d440
3 changed files with 77 additions and 0 deletions

View File

@ -9,6 +9,9 @@ XSERVER = "xserver-kdrive-fbdev"
# Ship all kernel modules by default
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
# Setup sane default mixer settings
MACHINE_EXTRA_RRECOMMENDS += "beagleboard-audio"
# Allow for MMC booting (required by the NAND-less Beagleboard XM)
EXTRA_IMAGEDEPENDS += "u-boot x-load"

View File

@ -0,0 +1,30 @@
SUMMARY = "Provide a basic init script to enable audio"
DESCRIPTION = "Set the volume and unmute the Front mixer setting during boot."
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
PR = "r4"
inherit update-rc.d
RDEPENDS = "alsa-utils-amixer"
SRC_URI = "file://beagleboard-audio"
INITSCRIPT_NAME = "beagleboard-audio"
INITSCRIPT_PARAMS = "defaults 90"
do_install() {
install -d ${D}${sysconfdir} \
${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/beagleboard-audio ${D}${sysconfdir}/init.d
cat ${WORKDIR}/${INITSCRIPT_NAME} | \
sed -e 's,/etc,${sysconfdir},g' \
-e 's,/usr/sbin,${sbindir},g' \
-e 's,/var,${localstatedir},g' \
-e 's,/usr/bin,${bindir},g' \
-e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
chmod 755 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
}

View File

@ -0,0 +1,44 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: beagleboard mixer setup
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Initialize the beagleboard audio mixer
# Description: Unmute FRONT and set volume to ~70%.
### END INIT INFO
# Author: Darren Hart <dvhart@linux.intel.com>
# Based on /etc/init.d/skeleton
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Audio mixer settings"
NAME=beagleboard-audio
AMIXER=`which amixer`
SCRIPTNAME=/etc/init.d/$NAME
# Exit if amixer is not installed
[ -x "$AMIXER" ] || exit 0
do_start() {
# Enable the Headset (Audio Out)
$AMIXER sset "Headset" 2 > /dev/null
$AMIXER sset "HeadsetL Mixer AudioL1" on > /dev/null
$AMIXER sset "HeadsetR Mixer AudioR1" on > /dev/null
}
case "$1" in
start)
echo "$NAME: setting default mixer settings."
do_start
;;
stop)
;;
*)
echo "Usage: $SCRIPTNAME {start|stop}" >&2
exit 3
;;
esac
exit 0