ブログ

Armadillo-400シリーズのUART2のハードフロー制御を無効にする

at_kazutaka.bito
2014年11月29日 14時19分

Armadillo-400シリーズのUART2は、標準のカーネルコンフィギュレーションでは ハードフロー制御が有効になっており、make menuconfigからは設定変更できない。

そこで、ハードフロー制御を無効にできるようにする。

備考)以下の説明において、、ディレクトリ構成は、 Armadillo実践開発ガイド第1部7.2. Atmark Distを使ったルートファイルシステムの作成に基づいて環境構築しているものとする。

1. Kconfigの編集

atmark-dist/linux-2.6.x/arch/arm/mach-mx25のKconfig内で、Armadillo-410/420/440については、 デフォルトでUART2のハードフロー制御が有効になるように設定されているので、その設定を削除する。

[atde ~]$ cd atmark-dist/linux-2.6.x/arch/arm/mach-mx25
[atde ~]$ gedit Kconfig

でKconfigファイルを開いて、下記の"select SERIAL_MXC_HW_FLOW2"の行を削除する(3か所)) <select SERIAL_MXC_HW_FLOW2削除前>

config MACH_ARMADILLO410
    bool "Support Atmark Techno Armadillo-410"
      select SERIAL_MXC_SELECT2
      select SERIAL_MXC_HW_FLOW2
    help
      Say 'Y' here if you want your kernel to support the
      Atmark Techno Armadillo-410 board.
 
config MACH_ARMADILLO420
    bool "Support Atmark Techno Armadillo-420"
      select SERIAL_MXC_SELECT2
      select SERIAL_MXC_HW_FLOW2
    help
      Say 'Y' here if you want your kernel to support the
      Atmark Techno Armadillo-420 board.
 
config MACH_ARMADILLO440
    bool "Support Atmark Techno Armadillo-440"
      select SERIAL_MXC_SELECT2
      select SERIAL_MXC_HW_FLOW2
    help
      Say 'Y' here if you want your kernel to support the
      Atmark Techno Armadillo-440 board.

<select SERIAL_MXC_HW_FLOW2削除後>

config MACH_ARMADILLO410
    bool "Support Atmark Techno Armadillo-410"
      select SERIAL_MXC_SELECT2
    help
      Say 'Y' here if you want your kernel to support the
      Atmark Techno Armadillo-410 board.
 
config MACH_ARMADILLO420
    bool "Support Atmark Techno Armadillo-420"
      select SERIAL_MXC_SELECT2
    help
      Say 'Y' here if you want your kernel to support the
      Atmark Techno Armadillo-420 board.
 
config MACH_ARMADILLO440
    bool "Support Atmark Techno Armadillo-440"
      select SERIAL_MXC_SELECT2
    help
      Say 'Y' here if you want your kernel to support the
      Atmark Techno Armadillo-440 board.

2. make menuconfigでUART2のハードフロー制御を無効にする

[atde ~atmark-dist]$ make menuconfig
Main Menu
    Kernel/Library/Defaults Selection --->
    [*] Customize Kernel Setting

でMain Menuをexitして、Kernel Configurationの画面を開いて、

Linux Kernel Configuration
    System Type --->
        Freescale MXC Implementations --->
        MX25 Options --->
        Device options --->
        [ ] Enable UART2 HW Flow Control

のように、Enable UART2 HW Flow Controlに*印がないように設定する。

上記の設定をしてビルドしたカーネルイメージをArmadilloに書き込んで実行するとUART2のハードフロー制御が無効で動作する。