第8章 Linuxカーネル仕様

本章では、工場出荷状態のArmadillo-810のLinuxカーネルの仕様について説明します。

8.1. デフォルトコンフィグレーション

工場出荷状態のフラッシュメモリに書き込まれているLinuxカーネルイメージをビルドする場合には、デフォルトコンフィギュレーションが適用されています。 Armadillo-810用のデフォルトコンフィギュレーションが記載されているファイルは、Linux カーネルソースファイル(linux-3.4-[VERSION].tar.gz)に含まれるarch/arm/configs/armadillo810_defconfigです。

armadillo810_defconfigで有効になっている主要な設定を表8.1「Linuxカーネル主要設定」に示します。

表8.1 Linuxカーネル主要設定

コンフィグ説明
NO_HZTickless System (Dynamic Ticks)
HIGH_RES_TIMERSHigh Resolution Timer Support
PREEMPTPreemptible Kernel (Low-Latency Desktop)
AEABIUse the ARM EABI to compile the kernel
VFPVFP-format floating point maths
NEONAdvanced SIMD (NEON) Extension support
BINFMT_ELFKernel support for ELF binaries

8.2. デフォルト起動オプション

工場出荷状態のArmadillo-810のLinuxカーネルの起動オプションについて説明します。デフォルト状態では、次のように設定されています。

表8.2 Linuxカーネルのデフォルト起動オプション

起動オプション説明
console=ttySC2,115200起動ログなどが出力されるイニシャルコンソールにttySC2(Armadillo-810:CON3)を、ボーレートに 115200bps を指定します。
earlyprintk=sh-sci.2,115200可能な限り早い段階で起動ログを出力するデバイスとしてsh-sci.2(Armadillo-810:CON3)を、ボーレートに 115200bps を指定します。Linuxカーネルが起動しないような不具合のデバッグに役立ちます。
mem=384MLinuxカーネルが利用可能なメモリを384MByteに制限します。AVコーデックミドルウェアを使用する場合に必須の設定です。

[注記]

Linuxカーネルイメージ linux-a810-v1.05.bin.gz以降(linux-3.4-at6以降)のデフォルト起動オプションです。linux-a840-v1.04.bin.gz以前(linux-3.4-at5以前)では、AVコーデックミドルウェアが使用できないため次のように設定されていました。

console=ttySC2,115200 earlyprintk=sh-sci.2,115200

8.3. Linuxドライバ一覧

Armadillo-810を制御するLinuxドライバのソースコードのパスや制御可能なデバイスを示します。

ボード固有設定
ソースコード

arch/arm/mach-shmobile/board-armadillo810.c

SoC(R-Mobile A1)固有ドライバー
ソースコード

arch/arm/mach-shmobile/setup-r8a7740.c
arch/arm/mach-shmobile/pfc-r8a7740.c
arch/arm/mach-shmobile/intc-r8a7740.c
arch/arm/mach-shmobile/clock-r8a7740.c

割り込みコントローラードライバー
ソースコードディレクトリ

drivers/sh/intc/

タイマードライバー
ソースコード

drivers/clocksource/sh_cmt_simple.c

MTDマップドライバー
ソースコード

drivers/mtd/maps/physmap.c

UARTドライバー
ソースコード

drivers/serial/sh-sci.c

デバイスファイル

/dev/ttySC2 (Armadillo-810: CON3)
/dev/ttySC8 (Armadillo-810: CON2)

SDホストドライバー
ソースコード

drivers/mmc/host/sh_mobile_sdhi.c

デバイス

/dev/mmcblk0

USBホストドライバー
ソースコード

drivers/usb/host/ehci-rmobile.c
drivers/usb/host/ohci-rmobile.c

USBファンクションドライバー
ソースコードディレクトリ

drivers/usb/renesas_usbhs/

USBガジェット - UVCコンポジットドライバー
ソースコード

drivers/usb/gadget/uvc_acm_ether.c
drivers/usb/gadget/webcam-armadillo810.c

デバイス

/dev/video0 (UVC gadget)
/dev/ttyGS0 (CDC-ACM gadget)

ソケット

usb0 (RNDIS/CDC-ECM gadget)

キャプチャーインターフェースドライバー
ソースコード

drivers/media/video/sh_mobile_ceu_camera.c

カメラドライバー
ソースコード

drivers/media/video/ov772x.c

デバイス

/dev/video1 (OV7725)

リアルタイムクロックドライバー
ソースコード

drivers/rtc/rtc-s35390a.c

デバイス

/dev/rtc0

LEDドライバー
ソースコード

drivers/leds/leds-gpio.c

デバイス

/sys/class/leds/LED1 (LED1)
/sys/class/leds/LED2 (LED2)
/sys/class/leds/LED3 (LED3)
/sys/class/leds/LED4 (LED4)

オーディオドライバー
ソースコード

sound/soc/sh/fsi.c

I2Cバスドライバー
ソースコード

drivers/i2c/busses/i2c-sh_mobile.c (i2c-0, i2c-1)
drivers/i2c/busses/i2c-gpio.c (i2c-2)

SPIマスタードライバー
ソースコード

drivers/spi/spi-sh-msiof.c

PWM - バックライトドライバー
ソースコード

drivers/misc/rmob-tpu-pwm.c
drivers/video/backlight/backlight.c
drivers/video/backlight/pwm_bl.c

AVコーデックミドルウェアドライバー
ソースコードディレクトリ

drivers/media/video/acm/

デバイス

/dev/video2 (H.264/AVCエンコーダー)[17][18]
/dev/video3 (AACエンコーダー)[17][18]
/dev/video4 (JPEGエンコーダー)[17][18]
/dev/video2 (H.264/AVCデコーダー)[19][18]
/dev/video3 (AACデコーダー)[19][18]



[17] AVコーデックミドルウェアのエンコーダー有効時。

[18] デフォルトカーネルで外部デバイスを何も接続しなかった場合。V4L2ドライバ対応のUSBカメラなどを接続すると、デバイスファイル名が変わる事があります。

[19] AVコーデックミドルウェアのデコーダー有効時。