スポンサーリンク

PPC(4) FreeBSD カーネルインタフェースマニュアル PPC(4)

名称

ppc − パラレルポートチップセットドライバ

書式

controller ppc0 at isa? port? tty irq 7

1 つ以上の PPBUS バスに対して:

controller ppbus at ppc0

解説

ppc ドライバは、 ppbus(4) システム用に、様々なパラレルポートチップセット の低レベルのサポートを提供します。

プローブフェーズの間に、ppc はパラレルポートチップセットの検出を行い、そ れらの動作モード (コンパチブル、ニブル、PS/2、EPP、ECP または他の混合モー ド) に従ってプライベートなデータの初期化を行います。スタートアップ時に ブートインタフェースの flags 変数によってモードが指定された場合には、チッ プセットの動作モードは「flags」とその使用可能なモードによって強制的に決定 されます。

アタッチフェーズでは、ppc は ppbus 構造体の割り当てを行い、それを初期化し て ppbus の attach 関数をコールします。

サポートされているフラグ

ビット 0-4: チップセット強制モード

PPB_COMPATIBLE  0x0     /* セントロニクスコンパチブルモード */
PPB_NIBBLE      0x1     /* 反転 4 ビットモード */
PPB_PS2         0x2     /* PS/2 バイトモード */
PPB_EPP         0x4     /* EPP モード, 32 ビット */
PPB_ECP         0x8     /* ECP モード */

これらを組み合わせることにより混合モードとなります。

ビット 5: EPP プロトコル (0 EPP 1.9, 1 EPP 1.7)

ビット 6: IRQ の活性化 (1 IRQ 無効, 0 IRQ 有効)

サポートされているチップセット

ppc はいくつかのパラレルポートチップセットを明示的にサポートしています。 それらでは検出と初期化のコードは仕様データシートに従って書かれています。

 SMC FDC37C665GT と FDC37C666GT チップセット

Natsemi PC873xx ファミリ (PC87332 と PC87306)

Winbond W83877xx ファミリ (W83877F と W83877AF)

SMC ライクな混合モードのチップセット ( ppbus(4) 参照)

新しいチップセットのサポートを追加する
あなたの一番新しいマザーボードについているチップセットをサポートしたいで しょう? ISA バスではチップセットの仕様を取り寄せて、対応する ppc_mychipset_detect() 関数を書くだけで良いです。そして汎用の ppc_detect() 関数にエントリを追加します。

あなたの ppc_mychipset_detect() 関数では以下のことを確認してください。 flags ブート変数のモードフィールドがヌルでなければ、動作モードは強制的に 指定されたモードになり、他のモードは使用不可となります。ま た、ppb->ppb_avm フィールドには、そのチップセットで使用できるモードが含ま れています。

関連項目

ppbus(4)

歴史

ppc マニュアルページは FreeBSD 3.0 で最初に登場しました。

作者

このマニュアルは Nicolas Souchu が書きました。

FreeBSD March 5, 1998 FreeBSD

スポンサーリンク