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 が書きました。