linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* MPC83xx ipic problem
@ 2008-06-30 15:34 André Schwarz
  2008-06-30 16:36 ` Segher Boessenkool
  2008-06-30 19:03 ` Scott Wood
  0 siblings, 2 replies; 5+ messages in thread
From: André Schwarz @ 2008-06-30 15:34 UTC (permalink / raw)
  To: Scott Wood; +Cc: linux-ppc list

Scott,

actually I'm having trouble with my PCI interrupts.
We are running 2.6.26-rc6 on a MPC8343 based board.

There are two external PCI devices connected (FPGA + miniPCI socket).
The FPGA is working fine and uses IRQ0 for its PCI_INTA line.

As soon there's a miniPCI module present and the driver loaded (actually=20
an ath5k WiFi module) the system complains after a while :

irq 48: nobody cared
handlers: .... location of the FPGA irq handler
Disabling IRQ #48

-> This is weird since the FPGA isn't working at all and IRQ0 is *not*=20
asserted !

Of course the miniPCI irq is routed to a different pin on the CPU=20
(IRQ1). Having a look at the irq count it's obvious that the WiFi irqs=20
are handled (ath module). The FPGA irq handler is located in the=20
"mvbcdma0" module which is running rock solid without miniPCI present !

mvBL-M7> cat /proc/interrupts
CPU0
16:       1826   IPIC   Level     i2c-mpc
17:          9   IPIC   Level     i2c-mpc
18:        201   IPIC   Level     ath
19:       2896   IPIC   Level     serial
21:          0   IPIC   Level     mpc83xx_spi
32:          2   IPIC   Level     enet_tx
33:        257   IPIC   Level     enet_rx
34:          0   IPIC   Level     enet_error
48:     100000   IPIC   Level     mvbcdma0
BAD:          0


The irq mapping insides the dts :

interrupt-map =3D <0x5800 0 0 1 &ipic 0x30 0x8      -> FPGA @ IRQ0
                  0x6000 0 0 1 &ipic 0x11 0x8      -> miniPCI INTA @ IRQ1
                  0x6000 0 0 2 &ipic 0x11 0x8>;    -> miniPCI INTB @ IRQ1

Is it legal to use a single irq pin twice ?
After all the ath5k doesn't use/assert the INTB line at all ...


If I do all the above after removing the FPGA module and releasing irq48=20
the system doesn't complain anymore ... but hangs after a while with the=20
IRQ1 line being unserviced.


What do you think ?
Any hints ?

Am I doing anything obviously wrong ?



regards,
Andr=E9

MATRIX VISION GmbH, Talstra=DFe 16, DE-71570 Oppenweiler  - Registergeric=
ht: Amtsgericht Stuttgart, HRB 271090
Gesch=E4ftsf=FChrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MPC83xx ipic problem
  2008-06-30 15:34 MPC83xx ipic problem André Schwarz
@ 2008-06-30 16:36 ` Segher Boessenkool
  2008-06-30 17:14   ` André Schwarz
  2008-06-30 19:03 ` Scott Wood
  1 sibling, 1 reply; 5+ messages in thread
From: Segher Boessenkool @ 2008-06-30 16:36 UTC (permalink / raw)
  To: André Schwarz; +Cc: Scott Wood, linux-ppc list

> interrupt-map = <0x5800 0 0 1 &ipic 0x30 0x8      -> FPGA @ IRQ0
>                  0x6000 0 0 1 &ipic 0x11 0x8      -> miniPCI INTA @ 
> IRQ1
>                  0x6000 0 0 2 &ipic 0x11 0x8>;    -> miniPCI INTB @ 
> IRQ1
>
> Is it legal to use a single irq pin twice ?

The device tree simply describes the hardware; if the hardware
connects both INTXs to the same IPIC interrupt pin, then it is
correct.  You'll have to ask a hardware designer whether it is
okay to just tie the two lines together; I believe it is, for
PCI, but you better ask someone who really knows :-)


Segher

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MPC83xx ipic problem
  2008-06-30 16:36 ` Segher Boessenkool
@ 2008-06-30 17:14   ` André Schwarz
  0 siblings, 0 replies; 5+ messages in thread
From: André Schwarz @ 2008-06-30 17:14 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: Scott Wood, linux-ppc list

Segher,

actually I'm the hardware designer ... :-) .... having trouble with=20
software.

The outputs are open-drain and can be connected (wired-or) together.
Otherwise "shared irq" wouldn't be possible that easy.


cheers,
Andr=E9




Segher Boessenkool wrote:
>> interrupt-map =3D <0x5800 0 0 1 &ipic 0x30 0x8      -> FPGA @ IRQ0
>>                  0x6000 0 0 1 &ipic 0x11 0x8      -> miniPCI INTA @ IR=
Q1
>>                  0x6000 0 0 2 &ipic 0x11 0x8>;    -> miniPCI INTB @ IR=
Q1
>>
>> Is it legal to use a single irq pin twice ?
>
> The device tree simply describes the hardware; if the hardware
> connects both INTXs to the same IPIC interrupt pin, then it is
> correct.  You'll have to ask a hardware designer whether it is
> okay to just tie the two lines together; I believe it is, for
> PCI, but you better ask someone who really knows :-)
>
>
> Segher
>


MATRIX VISION GmbH, Talstra=DFe 16, DE-71570 Oppenweiler  - Registergeric=
ht: Amtsgericht Stuttgart, HRB 271090
Gesch=E4ftsf=FChrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MPC83xx ipic problem
  2008-06-30 15:34 MPC83xx ipic problem André Schwarz
  2008-06-30 16:36 ` Segher Boessenkool
@ 2008-06-30 19:03 ` Scott Wood
  2008-07-01  7:45   ` André Schwarz
  1 sibling, 1 reply; 5+ messages in thread
From: Scott Wood @ 2008-06-30 19:03 UTC (permalink / raw)
  To: André Schwarz; +Cc: linux-ppc list

André Schwarz wrote:
> There are two external PCI devices connected (FPGA + miniPCI socket).
> The FPGA is working fine and uses IRQ0 for its PCI_INTA line.
> 
> As soon there's a miniPCI module present and the driver loaded (actually 
> an ath5k WiFi module) the system complains after a while :
> 
> irq 48: nobody cared
> handlers: .... location of the FPGA irq handler
> Disabling IRQ #48
> 
> -> This is weird since the FPGA isn't working at all and IRQ0 is *not* 
> asserted !

Are you *sure* that IRQ0 isn't asserted?  The IPIC seems to think it is.

> Of course the miniPCI irq is routed to a different pin on the CPU 
> (IRQ1).

Perhaps the board wiring is incorrect?

> interrupt-map = <0x5800 0 0 1 &ipic 0x30 0x8      -> FPGA @ IRQ0
>                  0x6000 0 0 1 &ipic 0x11 0x8      -> miniPCI INTA @ IRQ1
>                  0x6000 0 0 2 &ipic 0x11 0x8>;    -> miniPCI INTB @ IRQ1
> 
> Is it legal to use a single irq pin twice ?

Yes.

-Scott

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MPC83xx ipic problem
  2008-06-30 19:03 ` Scott Wood
@ 2008-07-01  7:45   ` André Schwarz
  0 siblings, 0 replies; 5+ messages in thread
From: André Schwarz @ 2008-07-01  7:45 UTC (permalink / raw)
  To: Scott Wood; +Cc: linux-ppc list

Scott,

thanks for your reply.

Honestly I don't think the board wiring is incorrect.
FPGA goes to IRQ0 and miniPCI is wired to IRQ1.

Maybe there's a crosstalk problem since the pull-up resistors are=20
packaged inside an array ... I'll check this.


regards,
Andr=C3=A9


Scott Wood schrieb:
> Andr=C3=A9 Schwarz wrote:
>> There are two external PCI devices connected (FPGA + miniPCI socket).
>> The FPGA is working fine and uses IRQ0 for its PCI_INTA line.
>>
>> As soon there's a miniPCI module present and the driver loaded=20
>> (actually an ath5k WiFi module) the system complains after a while :
>>
>> irq 48: nobody cared
>> handlers: .... location of the FPGA irq handler
>> Disabling IRQ #48
>>
>> -> This is weird since the FPGA isn't working at all and IRQ0 is *not*=
=20
>> asserted !
>=20
> Are you *sure* that IRQ0 isn't asserted?  The IPIC seems to think it is=
.
>=20
>> Of course the miniPCI irq is routed to a different pin on the CPU (IRQ=
1).
>=20
> Perhaps the board wiring is incorrect?
>=20
>> interrupt-map =3D <0x5800 0 0 1 &ipic 0x30 0x8      -> FPGA @ IRQ0
>>                  0x6000 0 0 1 &ipic 0x11 0x8      -> miniPCI INTA @ IR=
Q1
>>                  0x6000 0 0 2 &ipic 0x11 0x8>;    -> miniPCI INTB @ IR=
Q1
>>
>> Is it legal to use a single irq pin twice ?
>=20
> Yes.
>=20
> -Scott
>=20
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev


MATRIX VISION GmbH, Talstra=DFe 16, DE-71570 Oppenweiler  - Registergeric=
ht: Amtsgericht Stuttgart, HRB 271090
Gesch=E4ftsf=FChrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-07-01  7:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-30 15:34 MPC83xx ipic problem André Schwarz
2008-06-30 16:36 ` Segher Boessenkool
2008-06-30 17:14   ` André Schwarz
2008-06-30 19:03 ` Scott Wood
2008-07-01  7:45   ` André Schwarz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).