EN JA
TERASIC_MTL(4)
TERASIC_MTL(4) FreeBSD Kernel Interfaces Manual TERASIC_MTL(4)

名称

terasic_mtlTerasic/Cambridge Multi-Touch LCD デバイスのためのドライバ

書式

device terasic_mtl

/boot/device.hints の中は、次の通りです:
hint.terasic_mtl.0.at="nexus0"
hint.terasic_mtl.0.reg_maddr=0x70400000
hint.terasic_mtl.0.reg_msize=0x1000
hint.terasic_mtl.0.pixel_maddr=0x70000000
hint.terasic_mtl.0.pixel_msize=0x177000
hint.terasic_mtl.0.text_maddr=0x70177000
hint.terasic_mtl.0.text_msize=0x2000

解説

terasic_mtl デバイスドライバは、University of Cambridge の IP コアによって制御されるような組み合わされた Terasic Multi-Touch LCD のサポートを行います。 3 つのデバイスノードは、デバイスによってサポートされた様々なサービスを表わす実例で説明します:
terasic_regX
タッチスクリーン入力を含む、メモリにマップされたレジスタインタフェース。
terasic_pixelX
メモリにマップされたピクセル指向のフレームバッファ。
terasic_textX
メモリにマップされたテキスト指向のフレームバッファ。

また terasic_mtl デバイスは、 tty(4) フレームワークに接続された VT 互換の端末を実装した、 syscons(4) フレームワークにアタッチされます。 ttyvX デバイスノードは、ブートで login(1) セッションを始めるために ttys(5) に追加されます。

レジスタ、テキストとピクセルデバイスは、 read(2)write(2) システムコールと mmap(2) を使用してマップされたメモリを使用してアクセスされます。

歴史

terasic_mtl デバイスドライバは、 FreeBSD 10.0 ではじめて登場しました。

作者

terasic_mtl デバイスドライバとこのマニュアルページは、 DARPA CRASH 研究プログラムの一環として、 DARPA/AFRL 契約 (FA8750-10-C-0237) (“CTSRD”) の下で SRI International と University of Cambridge Computer Laboratory によって開発されました。このデバイスドライバは、 Robert N. M. Watson によって書かれました。

バグ

syscons(4) アタッチメントは、ハードウェアカーソルの機能をサポートしません。

ioctl(2) システムコールを使用してレジスタを制御するためのより構造化されたインタフェースは、ときどきメモリマッピングより望ましいことです。タッチスクリーン入力について、ユーザ空間のアプリケーションではなくポーリングを行なうカーネルで poll(2) と関連するシステムコールを使用してイベントを管理することができるストリーミングインタフェースを提示することは高度に望ましいでしょう。

terasic_mtl は、Altera's Avalon バスのようなシステムオンチップ (system-on-chip) バスに適切な、 nexus バスアタッチメントのみをサポートします。 IP コアが別のバスタイプに設定されていないなら、追加のバスアタッチメントが必要となります。

August 18, 2012 FreeBSD