Problem with EP405's PCI

Shih-Ying Chou sschou at mtu.edu
Sat Oct 18 04:55:01 EST 2003


Thank you for your advise, but I have check that, too.  It is normal.
the ppc405_map_irq uses the value from ep405_devtable[], but it is empty if
I did not use CONFIG_EP405PC
the original
static struct {
 u8 cpld_xirq_select;
 int pci_idsel;
 int irq;
} ep405_devtable[] = {
#ifdef CONFIG_EP405PC
 {0x07, 0x0E, 25},  /* EP405PC: USB */
#endif
};

So I changed it, so it can take make the PCI work.
static struct {
 u8 cpld_xirq_select;
 int pci_idsel;
 int irq;
} ep405_devtable[] = {
 {0x01, 0x0A, 25},
};
which I copy from the Timesys Linux version of the ep405.c
Now it pass 25 as the irq number, but it still does not work.
When I do a cat /proc/interrupts
         CPU0
  0:        263  IBM UIC Level     serial
  9:          0    IBM UIC Level     OCP EMAC Wakeup
 10:          0   IBM UIC Level     MAL SERR
 11:        915  IBM UIC Level     MAL TX EOB
 12:       1891  IBM UIC Level     MAL RX EOB
 13:          0  IBM UIC Level     MAL TX DE
 14:          0  IBM UIC Level     MAL RX DE
 15:          0  IBM UIC Level     OCP EMAC MAC
 25:          0  IBM UIC Level     usb-ohci, usb-ohci
BAD:          0

When I do a cat /proc/pci
PCI devices found:
  Bus  0, device  10, function  0:
    USB Controller: NEC Corporation USB (rev 65).
       IRQ 25
      Master Capable.  Latency=128.  Min Gnt=1.Max Lat=42.
      Non-prefetchable 32 bit memory at 0xbffff000 [0xbfffffff].
  Bus  0, device  10, function  1:
    USB Controller: NEC Corporation USB (#2) (rev 65).
      IRQ 25
      Master Capable.  Latency=128.  Min Gnt=1.Max Lat=42.
      Non-prefetchable 32 bit memory at 0xbfffe000 [0xbfffefff].
  Bus  0, device  10, function  2:
    USB Controller: NEC Corporation USB 2.0 (rev 2).
      IRQ 25
      Master Capable.  Latency=128.  Min Gnt=16.Max Lat=34.
      Non-prefetchable 32 bit memory at 0xbfffdf00 [0xbfffdfff].

When I plug in a device into the USB card, it will complain about can't
accept the address which indicate that the interrupt is not set correctly on
the PCI side.  Am I right about this?

Thank you

Shih-Ying Chou

----- Original Message -----
From: "Steven Blakeslee" <BlakesleeS at embeddedplanet.com>
To: "'Shih-Ying Chou'" <sschou at mtu.edu>
Sent: Friday, October 17, 2003 12:13 PM
Subject: RE: Problem with EP405's PCI


> check to see if the function ppc405_map_irq in ep405.c ever returns a -1.
> If that happens you may not have the correct value for the device ID in
the
> ep405_devtable.
>
> -----Original Message-----
> From: Shih-Ying Chou [mailto:sschou at mtu.edu]
> Sent: Friday, October 17, 2003 11:57 AM
> To: Jacky Lam
> Cc: linuxppc-embedded at lists.linuxppc.org
> Subject: Re: Problem with EP405's PCI
>
>
>
> Thank you very much for your input.  I have read the previous post but it
is
> not very useful to me.
> Because I am not using u-boot as my bootloader, since u-boot does not
> support EP405 board.
> I am using the Planet Core from Embedded Planet which does not do any
> initialization on the PCI.
>
> Does anyone have any other idea?
>
> Thanks in advance
>
> Shih-Ying Chou
>
> ----- Original Message -----
> From: "Jacky Lam" <jackylam at astri.org>
> To: <linuxppc-embedded at lists.linuxppc.org>
> Sent: Friday, October 17, 2003 1:56 AM
> Subject: Re: Problem with EP405's PCI
>
>
> >
> >     Please see my previous post and the reply from xzuo at vinesystech.com
.
> > Hope it can help.
> >
> > Jacky
> > ----- Original Message -----
> > From: "Shih-Ying Chou" <sschou at mtu.edu>
> > To: <linuxppc-embedded at lists.linuxppc.org>
> > Sent: Friday, October 17, 2003 12:58 PM
> > Subject: Problem with EP405's PCI
> >
> >
> > >
> > > Hi All,
> > >     Have anyone successfully made the EP405's PCI (through PC/104
plus)
> > > work?  If anyone does, please help me, I have struggle with it for
over
> a
> > > month now.
> > >     Right now I am using the linuxppc_2_4_devel kernel, and I can get
> the
> > > EP405 to boot successfully.  But I can get the PCI interface to work
> > right.
> > > When booting up, the kernel can recognize the card weither USB or
Sound
> > > card, but it can seem to assign the right irq to the card.  Because
USB
> > card
> > > always complain about no IRQ assign and ask to check BIOS.
> > >     I have look at the ep405.c and ppc405_pci.c and ppc4xx_pic.c
files,
> > but
> > > I cannot find out what is wrong.  I know that I need to modify the
> > > ppc405_devtable [] in the ep405.c file. I also check the registers
such
> as
> > > DCRN_UIC_PR, DCRN_UIC_TR, and DCRN_UIC_SR and all the value seems to
be
> > > correct, except DCRN_UIC_PR.  In the ep405.c DCRN_UIC_PR is set to be
> > > 0xffffff80 which makes the PCI interrupt to be high, so as the User
> manual
> > > stated.  But isn't PCI's interrupt should be active low?
> > >
> > > Any pointer will be helpful, thank you in advance!
> > >
> > > Shih-Ying Chou
> > >
> > >
> >
> >
> >
>
>


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list