Subject: Re: external IRQ's

From: Scott Wood <[email-masked]>
Date: Thu, 16 Aug 2007 11:23:57 -0500

robert lazarski wrote:
> 1) Do I need to define those external IRQ's in both a device tree file
> under arch/powerpc/boot/dts and also in C code under
> arch/powerpc/platforms/85xx ?

Just in the dts.

> 2) I've been told on another list that "External interrupts start at
> zero (internal interrupt numbers have 0x10 added to them), so the
> first cell should correspond to the external IRQ
> number."  I'm having a hard time applying that advice to a MDIO node
> and ethernet node in the device tree. For example, the CDS board for
> 8548 has the following:
> 
> mdio@24520 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         device_type = "mdio";
>                         compatible = "gianfar";
>                         reg = <24520 20>;
>                         phy0: ethernet-phy@0 {
>                                 interrupt-parent = <&mpic>;
>                                 interrupts = <35 0>;
>                                 reg = <0>;
>                                 device_type = "ethernet-phy";
>                         };
>                         ...
> };

I don't know what version of the dts you're looking at, but the one in 
the current Linux tree has <5 1>, not <35 0>.

> I'm also not getting the ethernet interrupts in the above cds example:
> 
> interrupts = <d 2 e 2 12 2>;
> 
> Why start with 'd' and 'e' ?  I noticed many if not all boards do that.

In the current dts, it's <1d 2 1e 2 22 2>.

It appears that the interrupt numbering was changed not too long ago, 
and that external interrupts used to be numbered above the internal ones.

-Scott