]> code.ossystems Code Review - meta-freescale.git/commitdiff
imx-audio: alsa mixer settings for imx platforms
authorAdrian Alonso <aalonso00@gmail.com>
Thu, 6 Oct 2011 05:49:26 +0000 (00:49 -0500)
committerAdrian Alonso <aalonso00@gmail.com>
Thu, 6 Oct 2011 05:49:26 +0000 (00:49 -0500)
* Add alsa mixer setting to enable audio on imx
  platforms

Signed-off-by: Adrian Alonso <aalonso00@gmail.com>
meta-fsl-arm/recipes-bsp/imx-audio/imx-audio/imx53ard/imx-audio [new file with mode: 0644]
meta-fsl-arm/recipes-bsp/imx-audio/imx-audio/imx53qsb/imx-audio [new file with mode: 0644]
meta-fsl-arm/recipes-bsp/imx-audio/imx-audio_0.1.bb [new file with mode: 0644]

diff --git a/meta-fsl-arm/recipes-bsp/imx-audio/imx-audio/imx53ard/imx-audio b/meta-fsl-arm/recipes-bsp/imx-audio/imx-audio/imx53ard/imx-audio
new file mode 100644 (file)
index 0000000..e2c3cc8
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          imx mixer setup
+# Required-Start:    $syslog
+# Required-Stop:     $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Initialize the imx audio mixer
+# Description:       Unmute FRONT and set volume to ~70%.
+### END INIT INFO
+# Based on /etc/init.d/skeleton
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Audio mixer settings"
+NAME=imx-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
diff --git a/meta-fsl-arm/recipes-bsp/imx-audio/imx-audio/imx53qsb/imx-audio b/meta-fsl-arm/recipes-bsp/imx-audio/imx-audio/imx53qsb/imx-audio
new file mode 100644 (file)
index 0000000..e2c3cc8
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          imx mixer setup
+# Required-Start:    $syslog
+# Required-Stop:     $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Initialize the imx audio mixer
+# Description:       Unmute FRONT and set volume to ~70%.
+### END INIT INFO
+# Based on /etc/init.d/skeleton
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Audio mixer settings"
+NAME=imx-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
diff --git a/meta-fsl-arm/recipes-bsp/imx-audio/imx-audio_0.1.bb b/meta-fsl-arm/recipes-bsp/imx-audio/imx-audio_0.1.bb
new file mode 100644 (file)
index 0000000..7b81424
--- /dev/null
@@ -0,0 +1,33 @@
+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 = "r0"
+
+inherit update-rc.d
+
+RDEPENDS_${PN} = "alsa-utils-amixer"
+
+SRC_URI = "file://imx-audio"
+
+INITSCRIPT_NAME = "imx-audio"
+INITSCRIPT_PARAMS = "defaults 90"
+
+COMPATIBLE_MACHINE = "(imx53ard|imx53qsb)"
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_install() {
+       install -d ${D}${sysconfdir} \
+                  ${D}${sysconfdir}/init.d
+       install -m 0755 ${WORKDIR}/imx-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}
+}
+