(toppers-users 3677) [ASP] pdic/sh/ のシリアルドライバについて

Masaki Muranaka monamour @ monaka.org
2011年 10月 30日 (日) 21:07:22 JST


TOPPERS users ML のみなさま:
こんばんは.
ASPの pdic/sh/ に依存したお話です.

現時点の SuperH 系の ASP ターゲットは,シリアルポートとしてルネサスのSCIFを使うことを前提としています.
しかしながら,現存するMPUだけ見ても,SCIFしか存在しない型番は稀です.大抵はSCIとSCIFが混在しています.
さらにカーネルにとって都合の悪いことに,SCIFが0で始まらないMPUも稀ではありません.
(具体例として, SH7214/7216系があります.SCIは0から2の3つ,SCIF は 3 の1つだけ存在します.)

pdic は個々のMPUの事情に深く関与すべきではないと思いますが,現時点の sh_scif.c のコードは,
SuperH 系の現状を反映するのは難しい状態にあると思います.
どのポート番号がSCI/SCIFのいずれなのかは,arch が頑張ることとして,それが判別できた後の処理を
pdic が支援できるように,添付の patch のような改変を提案します.

arch や target では,SCIF の数の文を,TNUM_SCIF_SIOP で定義します.また,存在する SCIFx に対応する
SH_SCIFx_BASE を定義します.既述の SH7214系では, SH_SCIF_SIOP は 1,また SH_SCIF3_BASE のみ
定義されます.

パッチでは,TNUM_SCIF_SIOP が定義されない場合は,従来のコードと互換性があるようにしてあります.
(…つもりです.ケアレスミスはあるかも)

このパッチと並行して,sh_sci.[ch] が新規に書かれるべきですが,今回は含めていません.

パッチの方針につきましてご意見頂ければ幸いです.

--
from もなか
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: sh_scif.c.diff
型:         application/octet-stream
サイズ:     2259 バイト
説明:       無し
URL:        <http://www.toppers.jp/pipermail/users/attachments/20111030/dba07905/attachment.obj>