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:
parent
0363835985
commit
489fe5d440
|
@ -9,6 +9,9 @@ XSERVER = "xserver-kdrive-fbdev"
|
||||||
# Ship all kernel modules by default
|
# Ship all kernel modules by default
|
||||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
|
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)
|
# Allow for MMC booting (required by the NAND-less Beagleboard XM)
|
||||||
EXTRA_IMAGEDEPENDS += "u-boot x-load"
|
EXTRA_IMAGEDEPENDS += "u-boot x-load"
|
||||||
|
|
||||||
|
|
|
@ -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}
|
||||||
|
}
|
||||||
|
|
|
@ -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
|
Loading…
Reference in New Issue