|
どーも Libretto L2 + FreeBSD の具合いがよろしくない. すえちゃまの ページにも書いてあるんだけど問題山積み.
ってことでこの日は すえちゃまの研究室に行って Libretto をつつきまくった. ちょうどこの日, FreeBSD 4.4-RELEASE が出てて, bsd-nomads の ToPIC100 で 3.3V のカードが使えるパッチが merge されていた (そのままじゃないけど)ので すえちゃまの Libretto L2 に 4.4-RELEASE を入れてみた. うーん,pcicは認識するけど, PCMCIAカードを差してもカードは認識されない... どうする? と思ってたら, おれらの持ってる PCMCIA カードは全部 5V only なカードでした. 「なにー!! このパッチじゃ 5V only なカードは全滅かい!!」 ってことで適当にいじる. /sys/pccard/pcic_pci.c を見ると, pcic_pci_topic_init() はこうなってました.
static void
pcic_pci_topic_init(device_t dev)
{
struct pcic_softc *sc = device_get_softc(dev);
u_int32_t device_id;
device_id = pci_get_devid(dev);
if (device_id == PCI_DEVICE_ID_TOSHIBA_TOPIC100 ||
device_id == PCI_DEVICE_ID_TOSHIBA_TOPIC97) {
/*
* We need to enable voltage sense and 3V cards explicitly
* in the bridge. The datasheets I have for both the
* ToPIC 97 and 100 both lists these ports. Without
* datasheets for the ToPIC95s, I can't tell if we need
* to do it there or not.
*/
pcic_setb(&sc->slots[0], PCIC_TOPIC_FCR,
PCIC_FCR_3V_EN | PCIC_FCR_VS_EN);
}
pcic_pci_cardbus_init(dev);
}
うぬぬぬぬ. ToPIC 100 の仕様だと 3V を使用可能にするためには
このピンの信号を立てとく必要があるみたいなんだけど,そうすると
5Vカードは動かないので西本せんせぇ案に従い,ここをちょっといじくる.
pcic_setb(&sc->slots[0], PCIC_TOPIC_FCR, PCIC_FCR_3V_EN | PCIC_FCR_VS_EN);の部分を pcic_setb(&sc->slots[0], PCIC_TOPIC_FCR, PCIC_FCR_VS_EN);こうするだけ. ど簡単. 結果は... でーきまーしたー. ep なカードも ata なカードもsio なカードもすべておっけー. とりあえず満足. でも他の Libretto L1, L2 ユーザは 5V only なカードは 持っていないのだろうか? っつーか, 3.3V only なカードと 5V only なカードを持っていたらどうすりゃいいのか? 謎は残る. あ,音と suspend/resume はまた今度. |