UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
9,553 Views
Registered: ‎05-17-2015

mapping irq number into device tree value

Jump to solution

Hello,

 

We are using zynq with linux.

I'm trying to understand what should be the value in the interrupt field in dts

for example in dts:

interuupt = < 0 20 4 >

1.

We need to use IRQ #7, does it mean the second value above should be 7 ? I'm not sure.

2.

I also not sure if the interrupt in zynq support falling edge becuase in some documentation it says that cortex A9 does not support that, so I'm not sure.

 

Regards,

Ran

0 Kudos
1 Solution

Accepted Solutions
Scholar rfs613
Scholar
16,759 Views
Registered: ‎05-28-2013

Re: mapping irq number into device tree value

Jump to solution

For Shared Periperal interrupts, the value in the device tree is the (IRQ - 32), eg. subtract 32 from the IRQ number. You'll want to consult Chapter 7 of the Zynq tech ref manual to understand the interrupt numbers. I suspect that when you say IRQ #7, you actually mean an interrupt from the PL, (IRQF2P[x]). These have IRQ numbers in the range 61--68, and 84--91.

 

See also:

https://forums.xilinx.com/t5/Embedded-Linux/Interrupt-numbers-changed-in-recent-kernels/m-p/685685/highlight/true#M15577

and

http://billauer.co.il/blog/2012/08/irq-zynq-dts-cortex-a9

 

 

View solution in original post

0 Kudos
3 Replies
Scholar rfs613
Scholar
16,760 Views
Registered: ‎05-28-2013

Re: mapping irq number into device tree value

Jump to solution

For Shared Periperal interrupts, the value in the device tree is the (IRQ - 32), eg. subtract 32 from the IRQ number. You'll want to consult Chapter 7 of the Zynq tech ref manual to understand the interrupt numbers. I suspect that when you say IRQ #7, you actually mean an interrupt from the PL, (IRQF2P[x]). These have IRQ numbers in the range 61--68, and 84--91.

 

See also:

https://forums.xilinx.com/t5/Embedded-Linux/Interrupt-numbers-changed-in-recent-kernels/m-p/685685/highlight/true#M15577

and

http://billauer.co.il/blog/2012/08/irq-zynq-dts-cortex-a9

 

 

View solution in original post

0 Kudos
Adventurer
Adventurer
9,459 Views
Registered: ‎05-17-2015

Re: mapping irq number into device tree value

Jump to solution

 Hi Thank you so much.

It really helps.

As to the second issue,I see in the link of the blog that fallind edge is no supported.

Is it really so ? I'm not sure, in some other source files, or links I see reference to falling edge with zynq.

 

Thanks,

Ran

0 Kudos
Scholar rfs613
Scholar
9,422 Views
Registered: ‎05-28-2013

Re: mapping irq number into device tree value

Jump to solution

For most of the interrupts, only one specific configuration is supported. These are shown in Table 7.3 in Chapter 7 of the Zynq Tech Ref Manual. It also says:

 

Except for IRQ #61 through #68, all interrupt sensitivity types are fixed by the requesting sources and
cannot be changed.

 

IRQ #61 through #68 correspond to IRQF2P[7:0], which are the interrupts from the PL to the CPU. For these, you can use either high-level active, or rising edge active ("All other combinations are Reserved"). Note that you can invert your interrupt in the PL.

0 Kudos