[coreboot] here's a good one

ron minnich rminnich at gmail.com
Sat May 10 07:50:46 CEST 2008


on alix1c, I put a pci usb card in.

Then I plug in a usb device.

I get this:
usb 3-2: new full speed USB device using uhci_hcd and address 2
usb 3-2: device descriptor read/64, error -110
usb 3-2: device descriptor read/64, error -110
usb 3-2: new full speed USB device using uhci_hcd and address 3
usb 3-2: device descriptor read/64, error -110
usb 3-2: device descriptor read/64, error -110
usb 3-2: new full speed USB device using uhci_hcd and address 4
usb 3-2: device not accepting address 4, error -110
usb 3-2: new full speed USB device using uhci_hcd and address 5
usb 3-2: device not accepting address 5, error -110
hub 3-0:1.0: unable to enumerate USB device on port 2

interrupts, however, don't happen:
  0:         88    XT-PIC-XT        timer
  2:          0    XT-PIC-XT        cascade
  4:       1058    XT-PIC-XT        serial
  7:    4793137    XT-PIC-XT        mfgpt-timer
  8:          0    XT-PIC-XT        rtc
  9:          2    XT-PIC-XT        ohci_hcd:usb1, uhci_hcd:usb3
 10:        210    XT-PIC-XT        eth0
 11:          0    XT-PIC-XT        uhci_hcd:usb2
 14:        360    XT-PIC-XT        ide0
NMI:          0   Non-maskable interrupts
TRM:          0   Thermal event interrupts
SPU:          0   Spurious interrupts
ERR:          0

So the IRQ 9 is this via usb card in 3V pci slot.
I get one interrupt per USB plug/unplug event.

For the onboard, working USB, when I hotplug, well, I get lots more:
  9:         24    XT-PIC-XT        ohci_hcd:usb1, uhci_hcd:usb3

So it seems to be back to IRQ stuff.

Now my devices look like this:
00:0f.4 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode
companion] OHC (rev 02) (prog-if 10 [OHCI])
        Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin D routed to IRQ 9
        Region 0: Memory at fe016000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0f.5 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode
companion] EHC (rev 02) (prog-if 20 [EHCI])
        Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC
        Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin D routed to IRQ 9
        Region 0: Memory at fe017000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

note that the onboard usb, which is NOT routed from the pci bus, is irq 9.

The via USB card looks like this:
00:0c.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 61) (prog-if 00 [UHCI])
        Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr+ Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64, cache line size 10
        Interrupt: pin A routed to IRQ 11
        Region 4: I/O ports at 1c80 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME+

00:0c.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 61) (prog-if 00 [UHCI])
        Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr+ Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64, cache line size 10
        Interrupt: pin B routed to IRQ 9
        Region 4: I/O ports at 1ca0 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME+

00:0c.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63)
(prog-if 20 [EHCI])
        Subsystem: VIA Technologies, Inc. USB 2.0
        Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr+ Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin C routed to IRQ 11
        Region 0: Memory at fe019000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

so it's using IRQ 9 and 11, depending on port.

The port I plugged the usb into was UHCI.

But we had a problem with MFGPT not working due to improper IRQ
controller setup. Is there any chance of a PCI conflict with the
onboard USB controller?

not in terms of "sharing interrupts' but in terms of some internal cs5536 issue?

ron




More information about the coreboot mailing list