Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

What's the function of IDSEL signal on PCI bus?

Status
Not open for further replies.

davorin

Advanced Member level 3
Joined
Jun 7, 2003
Messages
901
Helped
11
Reputation
22
Reaction score
4
Trophy points
1,298
Location
Switzerland
Activity points
7,349
Good afternoon (o;

Someone knows if the "IDSEL" signal is important on PCI bus?

Trying to attach a simple PCI ethernet card to an eBox miniPC which has a scaled down PCI connector where IDSEL is missing...

What about PREQ and PGNT? Can I just pull up PREQ?
 

idsel

IDSEL is a important in PCI. But for it, configuration cycles cannot happen.
On the motherboard, usually higher order address pins will be used as IDSEL.
 

inta idsel

So basically I can just use one of AD24..AD31 and connect to it?
But I guess it has to be unique through out all PCI devices?

The Vortex86 board has an onboard Realtek 8139 PCI LAN chip...maybe I should check there whcih AD line they use for internal LAN...
 

idsel pci

Like It_boy said, idsel is only used during configuration cycle. If i remember correctly, in your case you don't need to care about this signal. You just need to respond to the configuration command appear in the connector. Like cardbus operation, the bridge device of your miniPCI slot is selected by IDSEL and pass the configuration cycle to you.

regards
 

pci slot idsel

yes, if you are having only one device/mini-pci card on your board, you can do without IDSEL by considering only the configuration command like dll_embed says
 

pull up on idsel signals for pci

IDSel is the "chip select" for the configuration space accesses. As the configuration space has no Base Address Register that can be programmed (the card isn't configured yet so how would the BIOS address an unique card?) the IDSel is a per-device unique chip select. Configuration space accesses don't do address decoding, except for the lower 10 (or so) bits, to know which register in their configuration space you want to address.

As the address lines during configuration cycles are only used from bit zero to 10 (or so), it is customary to hardwire each device's IDSEL to a unique bit, starting from 16 upwards to 31.

This way, each PCI slot has its unique IDSel, and addresses are automatically mapped. And you don't need extra address decoding chips.

slot 0 has 1<<16 | addr => 0x00010xxx as configuration space
slot 1 has 1<<17 | addr => 0x00020xxx as configuration space
slot 2 has 1<<18 | addr => 0x00040xxx as configuration space

and so on.
You should use a 100 ohm resistor on the AD(16+slot)-to-IDSEL connection.
 

pci configuration commands idsel

Oki...got it now...(o;

NetBSD reports now both ethernet chips...
the RTL8139 onboard (also PCI) and the Macronix 98715 on the PCI card...

Now have to figure out if the SiS55x has some relation between the PCI's INTA-INTD and the PGNT/PREQ signals...

Is there any good ebook about generic PCI bus cycles?
 

pci reset idsel

The PCI standard is a good choice. It is clear and detail.
 

mini pci idsel

Now in the state that the PCI ethernet card is recogized during boot...

but as soon the systems tries to open it the system freezes...

I see that the card issues a PREQ which is followed by a PGNT from the arbiter...but the INTA is always held low since the system can't reset the IRQ...but even without connecting the INTA line it freezes the system...

Shouldn't it just timeout at some point instead?
 

idsel 20

davorin said:
Now in the state that the PCI ethernet card is recogized during boot...

but as soon the systems tries to open it the system freezes...

I see that the card issues a PREQ which is followed by a PGNT from the arbiter...but the INTA is always held low since the system can't reset the IRQ...but even without connecting the INTA line it freezes the system...

Shouldn't it just timeout at some point instead?

Seems so that your device has master capabilities. To request the ownership of the PCI bus, preq is issued and will get acknowledged by the pgnt signal. If the control is given to your device, it's up to you what you are going to do with the bus.
Concerning the timeout: I'm not sure if the "latency timer", which can usually be modified in your BIOS, is used to get back the ownership to the arbiter. Maybe someone else knows more about it.
 

idsel and inta

davorin said:
Now in the state that the PCI ethernet card is recogized during boot...

but as soon the systems tries to open it the system freezes...

I see that the card issues a PREQ which is followed by a PGNT from the arbiter...but the INTA is always held low since the system can't reset the IRQ...but even without connecting the INTA line it freezes the system...

Shouldn't it just timeout at some point instead?

If INTA is not connected, then it is not the reason for the system freeze.
Check if SERR# or PERR# is asserted by any chance?
 

idsel imple

Got it fixed now...

Used another ethernet card with a rtl8139 chip instead of the macronix 5V device...

Seems the vortex86 PCI bus doesn't like 5V cards at all...

In rare cases I get some rtk0/1 watchdog timeouts but that is because I think of the free wild wiring now (o;
 

how to connect idsel to pci card

Concerning the book.. Mindshare, Inc summarizes the PCI spec nicely in their PCI Architecture book. Not sure if it's in eBook though.

Cheers.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top