第10章 デバイスドライバ仕様

10.1. GPIO ポート

GPIO ポートに対応するデバイスノードのパラメータは、以下の通りです。

表10.1 GPIO ノード

タイプ

メジャー

番号

マイナー

番号

ノード名

(/dev/xxx)

キャラクタ

デバイス

10185gpio

ioctl を使用してアクセスすることにより、Armadillo-210 のGPIO を直接操作することができます。第1引数には、デバイスファイルのファイルディスクリプタを指定します。第2引数には、GPIO を操作するためのコマンドを指定します。

表10.2 GPIO 操作コマンド

コマンド説明第3引数のType
PARAM_SET第3引数で指定する内容でGPIO の状態を設定しますstruct gpio_param
PARAM_GET第3引数で指定する内容で GPIO の状態を取得しますstruct gpio_param
INTERRUPT_WAIT第3引数で指定する内容でGPIO の割込みが発生するまでWAIT しますstruct wait_param

第3引数には、(カーネルソース)/include/asm-arm/arch-ep93xx/armadillo2x0_gpio.h に定義されている構造体「struct gpio_param」と「struct wait_param」を使用します。「struct gpio_param」は単方向リストになっているので、複数のGPIO を一度に制御する場合はnext メンバを使用してください。また、リストの最後のnext メンバには"0(NULL)"を指定してください。

GPIO デバイスドライバの詳細な使用方法については、サンプルのGPIO 制御アプリケーション(atmark-dist/vendors/AtmarkTechno/Armadillo-210.Common/gpioctrl)のソースコードを参考にしてください。

10.2. LED

LED に対応するデバイスノードのパラメータは、以下の通りです。

表10.3 LED ノード

タイプ

メジャー

番号

マイナー

番号

ノード名

(/dev/xxx)

キャラクタ

デバイス

10215led

ioctl を使用してアクセスすることにより、Armadillo-210 のLED を直接操作することができます。

第1引数には、デバイスファイルのファイルディスクリプタを指定します。

第2引数には、LED を操作するためのコマンドを指定します。

表10.4 LED 操作コマンド

コマンド説明第3引数のType
LED_RED_ONLED(赤)を点灯しますなし
LED_RED_OFFLED(赤)を消灯しますなし
LED_RED_STATUSLED(赤)の状態を取得します状態を保存するバッファ(最小1バイト)
LED_GREEN_ONLED(緑)を点灯しますなし
LED_GREEN_OFFLED(緑)を消灯しますなし
LED_GREEN_STATUSLED(緑)の状態を取得します状態を保存するバッファ(最小1バイト)

LED デバイスドライバの詳細な使用方法については、サンプルのLED 制御アプリケーション(atmark-dist/vendors/AtmarkTechno/Armadillo-210.Common/ledctrl)のソースコードを参考にしてください。

10.3. オンボードフラッシュメモリ

オンボードフラッシュメモリは、Memory Technology Device(MTD)としてリージョン単位で扱われます。オンボードフラッシュメモリのリージョンについては、9章メモリマップについてを参照してください。

各リージョンに対応するデバイスノードのパラメータは、以下の通りです。

表10.5 MTD ノード

タイプ

メジャー

番号

マイナー

番号

ノード名

(/dev/xxx)

デバイス名

キャラクタ

デバイス

900mtd0bootloader
1mtdr0bootloader (read only)
2mtd1kernel
3mtdr1kernel (read only)
4mtd2userland
5mtdr2userland (read only)
6mtd3config
7mtdr3config (read only)

ブロック

デバイス

310mtdblock0bootloader
1mtdblock1kernel
2mtdblock2userland
3mtdblock3config