工場出荷状態では、SPIフラッシュメモリのfdtパーティションに DTB(Device Tree Blob) が書き込まれています。DTB は DTS(Device Tree Source) を DTC(Device Tree Compiler) でバイナリ形式に変換したファイルです。
DTSは、Linux カーネルソースアーカイブ(linux-3.4-ae1500-[VERSION].tar.gz)に含まれる arch/arm/boot/dts/r8a7791-armadilloeva1500.dts
です。
工場出荷状態の eMMC に書き込まれている Linuxカーネルイメージは、Device Tree を使用したマシンのセットアップのみをサポートしています。従来のマシンタイプIDおよびATAGを使用したマシンのセットアップを行うことはできませんので、オリジナルのブートローダーを作成する場合は注意してください。
Armadillo-EVA 1500で利用することができるデバイスドライバについて説明します。
各ドライバで利用しているソースコードの内主要なファイルのパスや、コンフィギュレーションに必要な情報、およびデバイスファイルなどについて記載します。
7.4.1. Armadillo-EVA 1500
Armadillo-EVA 1500 の初期化手順やハードウェアの構成情報などが定義されています。
新規にデバイスを追加する場合などに変更を加えます。
- 関連するソースコード
arch/arm/mach-shmobile/board-armadilloeva1500.c |
arch/arm/mach-shmobile/setup-r8a7791.c |
arch/arm/mach-shmobile/setup-rcar-gen2.c |
arch/arm/mach-shmobile/smp-r8a7791.c |
arch/arm/mach-shmobile/platsmp-apmu.c |
arch/arm/mach-shmobile/platsmp-rst.c |
arch/arm/mach-shmobile/pm-r8a7791.c |
arch/arm/mach-shmobile/clock-r8a7791.c |
Armadillo-EVA 1500 のプロセッサである R8A77430HA01BG のピンマルチプレクステーブルなどが定義されています。
- 関連するソースコード
drivers/pinctrl/sh-pfc/pfc-r8a7791.c |
drivers/pinctrl/sh-pfc/sh-pfc.c |
drivers/pinctrl/sh-pfc/core.c |
drivers/pinctrl/sh-pfc/gpio.c |
drivers/pinctrl/sh-pfc/pinctrl.c |
Armadillo-EVA 1500では、カーネル内部のクロックソースに R8A77430HA01BG のCMT0(Compare Match Timer 0) を利用しています。
- 関連するソースコード
drivers/clocksource/sh_cmt.c |
Armadillo-EVA 1500では、SPIフラッシュメモリを制御するソフトウェアとして MTD(Memory Technology Device) を利用しています。
MTDのキャラクタデバイスまたはブロックデバイスを経由して、ユーザーランドからアクセスすることができます。
- 関連するソースコード
drivers/mtd/mtdcore.c |
drivers/mtd/mtdchar.c |
drivers/mtd/mtdblock.c |
drivers/mtd/devices/m25p80.c |
Armadillo-EVA 1500のシリアルは、R8A77430HA01BG の SCIFB (Serial Communications Interface with FIFO B) を利用しています。
Armadillo-EVA 1500の標準状態で利用可能なポートは、SCIFB1(CON14) および SCIFB0(CON16) です。
- フォーマット
データビット長: 7 or 8ビット |
ストップビット長: 1 or 2ビット |
パリティ: 偶数 or 奇数 or なし |
フロー制御: CTS/RTS or XON/XOFF or なし |
最大ボーレート: 1Mbps |
- 関連するソースコード
drivers/tty/serial/serial_core.c |
drivers/tty/serial/sh-sci.c |
Armadillo-EVA 1500のEthernet(LAN)は、R8A77430HA01BG の Ether(Ethernet MAC Controller)を利用しています。
- 機能
通信速度: 100Mbps(100BASE-TX), 10Mbps(10BASE-T) |
通信モード: Full-Duplex(全二重), Half-Duplex(半二重) |
Auto Negotiationサポート |
Auto MDIXサポート |
- 関連するソースコード
drivers/net/ethernet/renesas/sh_eth.c |
Armadillo-EVA 1500の MMC ホストは、R8A77430HA01BG の MMC(Multi Media Card Interface) を利用しています。Armadillo-EVA 1500 には、SAMSUNG製 eMMC(KLM8G1GEAC)が搭載されています。
- 機能
バス幅: 8bit |
スピードモード: High Speed モード対応 |
活線挿抜非対応 |
- 関連するソースコード
drivers/mmc/host/sh_mmcif.c |
drivers/mmc/card/block.c |
drivers/mmc/card/queue.c |
Armadillo-EVA 1500 の SD ホストは、R8A77430HA01BG の SDHI(SD card Host Interface)を利用しています。
Armadillo-EVA 1500 の標準状態で利用可能なポートは、SDHI0(CON6) および SDHI2(CON4 または CON5) です。
- 機能
カードタイプ: SD / SDHC / SDXC / SDIO |
バス幅: 1bit or 4bit |
スピードモード: Default Speed, High Speed, Ultra High Speed Phase I(UHS-I)[] |
カードディテクトサポート |
ライトプロテクトサポート |
- デバイスファイル
メモリカードの場合は、カードを認識した順番で/dev/mmcblkN (Nは'1'または'2')となります。 |
I/Oカードの場合は、ファンクションに応じたデバイスファイルとなります。 |
- 関連するソースコード
drivers/mmc/host/sh_mobile_sdhi.c |
drivers/mmc/host/tmio_mmc_dma.c |
drivers/mmc/host/tmio_mmc_pio.c |
Armadillo-EVA 1500 の USB 3.0 ホストは、R8A77430HA01BG の USB3.0 Host Controller を利用しています。
Armadillo-EVA 1500の標準状態では、USB 3.0 Type-Aコネクタ(CON10) を USB 3.0 ホストとして利用することができます。カーネルをコンフィギュレーションし、USB 3.0 ホストドライバを無効化することで USB 2.0 ホストとして利用することもできます。
- 機能
Universal Serial Bus 3.0 Specification Revision 1.0 準拠 |
転送レート: USB 3.0 Super Speed(5Gbps), High-Speed(480Mbps), Full-Speed(12Mbps), Low-Speed(1.5Mbps) |
- デバイスファイル
メモリデバイスの場合は、デバイスを認識した順番で/dev/sdN (Nは'a'からの連番)となります。 |
I/Oデバイスの場合は、ファンクションに応じたデバイスファイルとなります。 |
- 関連するソースコード
drivers/usb/host/xhci-rcar.c |
drivers/usb/host/xhci.c |
drivers/usb/host/xhci-mem.c |
drivers/usb/host/xhci-ring.c |
drivers/usb/host/xhci-hub.c |
drivers/usb/host/xhci-dbg.c |
drivers/usb/host/xhci-pci.c |
- ファームウェア
firmware/UU3DRD1FW_2005L.dlmem |
Armadillo-EVA 1500 の USB 2.0 ホストは、R8A77430HA01BG の USB2.0 Host (EHCI/OHCI) を利用しています。
Armadillo-EVA 1500の標準状態では、USB Type-Aコネクタ(CON8) を USB 2.0 ホストとして利用することができます。カーネルをコンフィギュレーションし、USB 2.0 ファンクションドライバを有効化することで USB Type-Bコネクタ(CON9)を USB 2.0 ファンクションとして利用することもできます。
- 機能
Universal Serial Bus Specification Revision 2.0 準拠 |
Open Host Controller Interface (OHCI) Specification for USB Rev 1.0a 準拠 |
Enhanced Host Controller Interface (EHCI) Specification for USB Rev 1.0 準拠 |
転送レート: USB 2.0 High-Speed(480Mbps), Full-Speed(12Mbps), Low-Speed(1.5Mbps) |
- デバイスファイル
メモリデバイスの場合は、デバイスを認識した順番で/dev/sdN (Nは'a'からの連番)となります。 |
I/Oデバイスの場合は、ファンクションに応じたデバイスファイルとなります。 |
- 関連するソースコード
drivers/usb/host/ehci-rcar.c |
drivers/usb/host/ohci-rcar.c |
drivers/usb/host/ehci-hcd.c |
drivers/usb/host/ohci-hcd.c |
Armadillo-EVA 1500 の USB ファンクションは、R8A77430HA01BG の HS-USB(USB High-Speed Module)および USB-DMAC(USB High-Speed DMAC)を利用しています。
Armadillo-EVA 1500の標準状態では、USBファンクションを利用することができません。USBファンクションを利用するには、カーネルをコンフィギュレーションし、USB 2.0 ファンクションドライバの有効化[]およびガジェットドライバの選択をおこないます。
Armadillo-EVA 1500とホスト機器を接続する場合は、USB Type-Bコネクタ(CON9) に USBケーブルを接続して利用します。
Linuxカーネルに用意されている代表的なガジェットドライバを次に示します。
表7.3 代表的なガジェットドライバ
ガジェット | 機能 |
---|
Ethernet Gadget | 接続されるとホスト機器間でネットワーク通信させることができます |
Serial Gadget | 接続されるとホスト機器間でシリアル通信させることができます |
- 関連するソースコード
drivers/usb/gadget/r8a66597-udc.c |
Armadillo-EVA 1500 のデジタル HD 出力は、 R8A77430HA01BG の DU1(Display Unit 1) を利用しています。ディスプレイへの画像出力をサポートしています。HDMI トランスミッターには、Analog Devices 製 ADV7511W が採用されています。ADV7511W は I2C-GPIO1(I2C ノード: 8-0039) に接続されています。音声出力およびCEC(Consumer Electronics Control)は非サポートです。
Linuxでは、フレームバッファおよび DRM(Direct Rendering Manager) アクセスをサポートしています。
- 機能
最大解像度[]: 1920 x 1080 ピクセル |
カラーフォーマット[]: RGB565, ARGB1555, XRGB1555, XRGB8888, ARGB8888, YUYV, UYUV, NV12, NV16, NV21 |
ダブルバッファ, トリプルバッファサポート |
- デバイスファイル
フレームバッファデバイス: /dev/fb0 |
DRMデバイス: /dev/dri/card0 |
- 関連するソースコード
drivers/gpu/drm/rcar-du/ |
drivers/gpu/drm/i2c/adv7511_core.c |
Armadillo-EVA 1500 のコンポジットビデオ入力は、 R8A77430HA01BG の VIN2(Video Input Module 2) を利用しています。ビデオデコーダには Analog Devices 製 ADV7180 が採用されています。ADV7180 は、I2C-GPIO1(I2C ノード: 8-0020) に接続されています。
Linuxでは、V4L2(Video for Linux Two) アクセスをサポートしています。
- 機能
インターフェース: ITU-R BT.656 |
VIN入力フォーマット: UYVY |
VIN出力フォーマット: YUYV |
- 関連するソースコード
drivers/media/video/vin.c |
drivers/media/video/adv7180.c |
drivers/media/video/v4l2-dev.c |
drivers/media/video/v4l2-ioctl.c |
drivers/media/video/v4l2-device.c |
drivers/media/video/v4l2-fh.c |
drivers/media/video/v4l2-event.c |
drivers/media/video/v4l2-ctrls.c |
drivers/media/video/v4l2-subdev.c |
drivers/media/video/v4l2-int-device.c |
Armadillo-EVA 1500のアナログオーディオは、R8A77430HA01BG の SSIU(Serial Sound Interface Unit)、ADG(Audio Clock Generator) および SCU(Sampling Rate Converter Unit)を利用しています。オーディオコーデックには、Cirrus Logic製 CS42L52 が採用されています。CS42L52は I2C-GPIO1(I2Cノード: 8-004a) に接続されています。
- 機能
サンプリング周波数: 8000, 16000, 32000, 48000, 96000 |
チャンネル数: 1 or 2 |
フォーマット: Signed/Unsigned 16/18/20/24 bit, Little-endian |
再生(Playback), 録音(Capture)サポート |
ミキサーサポート |
- 関連するソースコード
sound/soc/sh/armadilloeva1500.c |
sound/soc/sh/scu_pcm.c |
sound/soc/sh/scu_dai.c |
sound/soc/codecs/cs42l52.c |
Armadillo-EVA 1500 のマルチメディア機能(H.264/AVC動画デコード)は、R8A77430HA01BG の次に示す機能を利用しています。
VCP3
VSP1
VPC(Video Processing Unit Cache)
S3CTRL(S3 Cache Controller)
FDP1(Fine Display Processor)
マルチメディアパッケージドライバは、次に示すLinuxカーネルが管理しないメモリを使用します。
- デバイスファイル
V4L2デバイス: /dev/video1〜/dev/video16, /dev/v4l-subdev0〜/dev/v4l-subdev23 |
メディアデバイス: /dev/media0, /dev/media1 |
- 関連するソースコード
drivers/media/video/rcar-mmp/ |
drivers/media/video/vsp1/ |
|
Armadillo-EVA 1500 の SATA は、R8A77430HA01BG の Serial-ATA を利用しています。
- 機能
Serial ATA Revision 3.1 準拠 |
転送レート: 3.0Gbps(Gen2), 1.5Gbps(Gen1) |
接続形式: 1チャンネル, Master |
NCQ(Native Command Queuing)非サポート |
活線挿抜非サポート |
- デバイスファイル
HDDやSSDなどの場合は、デバイスを認識した順番で/dev/sdN (Nは'a'からの連番)となります。 |
CDやDVDなどの場合は、デバイスを認識した順番で/dev/srN (Nは'0'からの連番)となります。 |
- 関連するソースコード
drivers/ata/sata_rcar.c |
drivers/ata/libata-sff.c |
drivers/scsi/sd.c |
drivers/scsi/sd_dif.c |
drivers/scsi/sr.c |
drivers/scsi/sr_ioctl.c |
drivers/scsi/sr_vendor.c |
Armadillo-EVA 1500 の PCI Express は、R8A77430HA01BG の PCIEC を利用しています。
- 機能
PCI Express Base Specification Revision 2.0 (December 20, 2006) サブセットに対応 |
リンク幅: x1 |
転送レート: 2.5GT/s, 5.0GT/s |
割り込み通知方式: INTx, MSI, MSI-X |
- 関連するソースコード
drivers/pci/host/pci-rcar.c |
Armadillo-EVA 1500 の温度センサー は、R8A77430HA01BG の THS/TSC(Thermal Sensor) を利用しています。
温度センサーの測定温度が 80°C 以上になった場合、警告 LED(LED9) が点灯します。80°C 未満になった場合は警告 LED が消灯します。また、90°C 以上になった場合は Linux カーネルが /sbin/poweroffコマンドを実行し、システムを停止します。
- 機能
分解能: 5°C |
測定範囲: -40°C 〜 125°C |
|
- sysfs Thermalクラスディレクトリ
/sys/class/thermal/thermal_zone0 |
- 関連するソースコード
drivers/thermal/rcar_thermal.c |
drivers/thermal/thermal_sys.c |
Armadillo-EVA 1500には、セイコーインスツル(SII)製 S-35390Aが搭載されています。
S-35390A は、I2C-GPIO0 (I2Cノード: 7-0030) に接続されています。
- 関連するソースコード
drivers/rtc/rtc-s35390a.c |
drivers/rtc/class.c |
drivers/rtc/rtc-dev.c |
drivers/rtc/rtc-sysfs.c |
Armadillo-EVA 1500に搭載されている制御可能なLEDは、GPIOが接続されています。
Linuxでは、GPIO接続用LEDドライバ(leds-gpio)で制御することができます。
Armadillo-EVA 1500には、LED4〜LED7 が実装されています。
- sysfs LEDクラスディレクトリ
/sys/class/leds/LED4 |
/sys/class/leds/LED5 |
/sys/class/leds/LED6 |
/sys/class/leds/LED7 |
- 関連するソースコード
drivers/leds/leds-gpio.c |
drivers/leds/led-class.c |
drivers/leds/led-triggers.c |
drivers/leds/ledtrig-timer.c |
Armadillo-EVA 1500に搭載されているユーザースイッチは、GPIOが接続されています。
Linuxでは、GPIO接続用キーボードドライバ(gpio_keys)で制御されます。
ユーザースイッチにはそれぞれにキーコードが割り当てられています。
表7.4 キーコード
ユーザースイッチ | キーコード | イベントコード |
---|
SW3 | KEY_3 | 4 |
SW4 | KEY_4 | 5 |
SW5 | KEY_5 | 6 |
SW6 | KEY_6 | 7 |
- 関連するソースコード
drivers/input/keyboard/gpio_keys.c |
drivers/input/input.c |
drivers/input/evdev.c |
Armadillo-EVA 1500 の I2C インターフェースは、GPIO を利用した I2C バスドライバ(i2c-gpio)を利用しています。
Armadillo-EVA 1500 で利用している I2C バスと、接続される I2C デバイスを次に示します。
表7.5 I2Cデバイス
I2Cバス | I2Cデバイス |
---|
アドレス | デバイス名 |
---|
I2C-GPIO0 | 0x30 (0x31〜0x37も予約済み), 0x5a | S-35390Aリアルタイムクロック, DA9063パワーマネジメントIC |
I2C-GPIO1 | 0x4a | CS42L52オーディオコーデック |
I2C-GPIO2 | 0x55 | ST1232 タッチスクリーンコントローラ[] |
Armadillo-EVA 1500では標準状態では、CONFIG_I2C_CHARDEVが有効となっているためユーザードライバでI2Cデバイスを制御することができます。
ユーザードライバを利用する場合は、LinuxカーネルでI2Cデバイスに対応するデバイスドライバを無効にする必要があります。
- デバイスファイル
/dev/i2c-7 (I2C-GPIO0) |
/dev/i2c-8 (I2C-GPIO1) |
/dev/i2c-9 (I2C-GPIO2) |
- 関連するソースコード
drivers/i2c/busses/i2c-gpio.c |
drivers/i2c/i2c-core.c |
drivers/i2c/i2c-dev.c |
Armadillo-EVA 1500 の LCDインターフェースは、R8A77430HA01BG の DU1(Display Unit 1)を利用しています。Linuxでは、フレームバッファおよび DRM(Direct Rendering Manager) アクセスをサポートしています。
Armadillo-EVA 1500 LCD拡張ボードでは、バックライトの輝度調整および、タッチスクリーンに対応しています。Linuxでは、それぞれPWM制御用バックライトドライバ(pwm_bl)、ST1232タッチスクリーンドライバを利用しています。
Armadillo-EVA 1500 の標準状態では、LCD 利用することができません。LCD を利用するには、カーネルをコンフィギュレーションし、LCDの有効化[]をおこないます。
- 機能
対応可能LCD: TFTカラー液晶 (最大解像度[]: 1920 x 1080 ピクセル) |
カラーフォーマット[]: RGB565, ARGB1555, XRGB1555, XRGB8888, ARGB8888, YUYV, UYUV, NV12, NV16, NV21 |
ダブルバッファ, トリプルバッファサポート |
256段階バックライト輝度調整 |
マルチタッチサポート (ST1232) |
- デバイスファイル
フレームバッファデバイス: /dev/fb0 |
DRMデバイス: /dev/dri/card0 |
タッチスクリーンデバイス: /dev/input/event0[] |
バックライト輝度調整用sysfsファイル: /sys/class/backlight/pwm-backlight/brightness |
- 関連するソースコード
drivers/gpu/drm/rcar-du/ |
drivers/video/backlight/backlight.c |
drivers/video/backlight/pwm_bl.c |
drivers/misc/rcar-pwm.c |
drivers/input/touchscreen/st1232.c |
Armadillo-EVA 1500 の LVDSは、 R8A77430HA01BG の DU0(Display Unit 0) を利用しています。
Linuxでは、フレームバッファおよび DRM(Direct Rendering Manager) アクセスをサポートしています。デフォルトの解像度は、1024 x 768 ピクセルです。
- 機能
出力信号: TIA/EIA-644 標準(差動ペアがデータ4組、クロック1組) |
最大ドットクロック: 148.5 MHz |
- デバイスファイル
フレームバッファデバイス: /dev/fb0 |
DRMデバイス: /dev/dri/card0 |