Howto

Armadillo-460でLCD拡張ボードのオーディオを使用するには

Armadillo-460のデフォルトのソフトウェアイメージでは、 Armadillo-460にArmadillo-400シリーズ LCD拡張ボードを接続したとしても、 オーディオを使用することはできません。

これは、Armadillo-440でオーディオとして使用する信号を、 Armadillo-460ではUARTとして使用しているためです。

i.MX257の信号名 Armadillo-440 Armadillo-460
KPP_ROW2 CON11-42(AUD5_SYSCLK) CON11-42(未使用)
KPP_ROW3 CON11-43(未使用) CON11-43(未使用)
KPP_COL0 CON11-44(AUD5_TXD) CON19-3(UART4_RXD)
KPP_COL1 CON11-45(AUD5_RXD) CON19-5(UART4_TXD)
KPP_COL2 CON11-46(AUD5_TXC) CON19-6(UART4_RTS)
KPP_COL3 CON11-47(AUD5_TXFS) CON19-4(UART4_CTS)

本Howtoでは、Armadillo-460でArmadillo-400シリーズ LCD拡張ボードの オーディオを利用する方法を紹介します。

1. オーディオ対応カーネルイメージを作成

ここでは、Armadillo-460のデフォルトコンフィグレーション(armadillo460_defconfig) から変更を行います。

atde:~$ wget http://download.atmark-techno.com/armadillo-460/source/kernel/linux-2.6.26-at15.tar.gz
atde:~$ tar zxvf linux-2.6.26-at15.tar.gz
atde:~$ cd linux-2.6.26-at15
atde:~/linux-2.6.26-at15$ make armadillo460_defconfig
atde:~/linux-2.6.26-at15$ make menuconfig

以下の項目を変更します。

Linux Kernel Configuration
 
System Type  --->
  Freescale MXC Implementations  --->
    MX25 Options  --->
      Armadillo-400 Board options  --->
        [ ]   Enable UART4 at CON19                           ←チェックを外す
        [ ]     Enable UART4 HW flow control at CON19         ←(チェックを外す)
        [*] Enable AUD5 at CON11                              ←チェックを入れる
            *** Select the devices to wakeup the system, which will be enabled by default
        [ ] UART4                                             ←チェックを外す
      Device options  --->
        [ ] Enable UART4 module                               ←チェックを外す
        [ ] Enable UART4 HW Flow Control                      ←(チェックを外す)
 
Device Drivers  --->
  Sound  --->
    <*> Sound card support                                    ←チェックを入れる
      Advanced Linux Sound Architecture  --->
        <*> Advanced Linux Sound Architecture                 ←チェックを入れる
          System on Chip audio support  --->
            <*> ALSA for SoC audio support                    ←チェックを入れる
            <*> SoC Audio for the Freescale i.MX CPU          ←チェックを入れる
            <*> SoC Audio support for Armadillo-440 - WM8978  ←チェックを入れる

make を実行し、新しい Linux カーネルイメージをビルドします。

atde:~/linux-2.6.26-at15$ make CROSS_COMPILE=arm-linux-gnueabi-
                            :  ビルドには数分かかります
atde:~/linux-2.6.26-at15$ gzip -c arch/arm/boot/Image > linux.bin.gz

ソフトウェアマニュアルを参照し、新しい Linux カーネルイメージを Armadillo-460 に書き込んでください。

2. 動作確認

FTPなどを利用して、Armadillo-460へ音楽ファイルを転送しておきます。
ここでは、wgetコマンドを使用してサウンドサンプルファイルを取得します。
音楽を再生するには、以下のようにコマンドを実行してください。

[root@armadillo460-0 (ttymxc1) ~]# cd /home/ftp/pub/
[root@armadillo460-0 (ttymxc1) /home/ftp/pub]# wget http://download.atmark-techno.com/sample/a460-audio-con11/sample.wav
[root@armadillo460-0 (ttymxc1) /home/ftp/pub]# ls
sample.wav
[root@armadillo460-0 (ttymxc1) /home/ftp/pub]# aplay -Dhw -M sample.wav 
Playing WAVE 'sample.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo

A. 参考リンク

Armadillo-400シリーズ ソフトウェアマニュアル - オーディオ