NEW: support for the pcchips m830lr.

Christer Weinigel christer at weinigel.se
Tue Sep 3 23:17:01 CEST 2002


GNUOrder <gnuorder at tampabay.rr.com> writes:

> Is this the new mini micro ATX board with the C3 CPU and the VIA chipset?  
> What kind of support does that have for an LCD screen?  I was looking at the 
> VIA site and I couldn't find out if the chipset had any digital video output. 
>  One other general question, is it possible to piggyback several devices onto 
> a PCI slot or could you add some decoding to accomplish that?

The proper way of making a PCI riser card with multiple slots is to
use a card with a PCI bridge on it.  Such as this:

    http://www.carypowder.com.tw/product/32bit_pci3202.htm

This card only presents one PCI load to the motherboard and the PCI
bridge can then handle the 3 PCI slots on the riser card.  As long as
the motherboard can provide enough power to the PCI cards this is a
perfectly legal design according to the PCI specs.  This is probably
what you want to do.

The el-cheapo way of putting more than one PCI card on a riser
requires a lot of knowledge about the specific motherboard you are
using.  First of all, there are electrical limits (total capacitance,
total loads and whatnot) that normally limits a board to about 5 PCI
slots.  So, with a board like this it should to be possible to just
extend the wires to two slots with a passive riser card and still stay
within the electrical limitations.  Second, each PCI slot has a pin
called IDSEL that is used for accesses to the PCI configuration space
(pci_read_config_word and friends in the Linux kernel).  Each slot has
a unique pin, so the riser card has to "create" two IDSEL signals from
somewhere.  One way is to use a card such as this:

    http://www.carypowder.com.tw/product/32bit_pci300-32.htm

I'm not 100% sure of how this card works, but a reasonable guess is
that the extra wires are used to connect the IDSEL signal (and maybe
power since there are so many wires) from other PCI slots, so I don't
think this will work on the VIA card.

Now, normally the IDSEL pins are actually connected to the address
bus, so for example IDSEL of PCI slot one is connected to AD12, IDSEL
of PCI slot 2 to AD13 and so on.  So if you know what you are doing
(i.e. know the layout of the motherboard so that you can make sure
there won't be any conflicts) you could just use two free pins of the
address bus to create two new IDSEL signals.

So, it is possible to make a cheap passive riser card, but I doubt
that it's worth the effort unless you are talking hundreds of riser
cards.

  /Christer (now I just wonder why I like to explain these kind of
             things in the middle of the night)

-- 
"Just how much can I get away with and still go to heaven?"

Freelance consultant specializing in device driver programming for Linux 
Christer Weinigel <christer at weinigel.se>  http://www.weinigel.se



More information about the coreboot mailing list