LS1043a IRQ00 IRQ01 IRQ02 interruption handler

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LS1043a IRQ00 IRQ01 IRQ02 interruption handler

跳至解决方案
1,487 次查看
bahi
Contributor I

IRQ00 , IRQ01 and IRQ IRQ02 are signals input.

A level on these input cause a processor interrupt.

If if want to catch these interruption did i need to do:

- add these interrupts in the rcw configuration ?
- implement a linux module to catch these interrupt ?

- do you have an example of interrupt handler for the ls1043a ?

Thank you for your help

Bahi

0 项奖励
回复
1 解答
1,457 次查看
bpe
NXP Employee
NXP Employee

IRQ00 and IRQ01 are dedicated interrupt request inputs. In theory, the software
can read their status as if they were GP inputs, however, there are no provisions
for that in Linux.

If you have an external peripheral connected to these pins, the best strategy
is to use the existing driver for it. You may need to slightly modify the
driver if it does not support Device Tree.

If you are to implement such driver by yourself (note, drivers are for peripherals,
not for interrupts), familiarize with the concept of Device Trees and the structure
of the 'interrupts' property for peripherals connected to GIC-400.

Any on-chip interrupt-enabled peripheral driver can be used as an example.
You can take a look at I2C, SPI, CAAM, eDMA, etc. There is no difference
between on-chip and external peripheral driver from the interrupt handling
standpoint.

No modifications to RCW are necessary to use IRQ00 or IRQ01 pins.

 

Hope this helps,
Platon

在原帖中查看解决方案

2 回复数
1,480 次查看
bahi
Contributor I

is it possible to configure the ls1043a soc so that the gpio driver considers the IRQ00 IRQ01 and IRQ02 inputs as GPIO inputs, in order to be able to read these inputs in polling and not with an interrupt handler?

Thank you for your help

Bahi

0 项奖励
回复
1,458 次查看
bpe
NXP Employee
NXP Employee

IRQ00 and IRQ01 are dedicated interrupt request inputs. In theory, the software
can read their status as if they were GP inputs, however, there are no provisions
for that in Linux.

If you have an external peripheral connected to these pins, the best strategy
is to use the existing driver for it. You may need to slightly modify the
driver if it does not support Device Tree.

If you are to implement such driver by yourself (note, drivers are for peripherals,
not for interrupts), familiarize with the concept of Device Trees and the structure
of the 'interrupts' property for peripherals connected to GIC-400.

Any on-chip interrupt-enabled peripheral driver can be used as an example.
You can take a look at I2C, SPI, CAAM, eDMA, etc. There is no difference
between on-chip and external peripheral driver from the interrupt handling
standpoint.

No modifications to RCW are necessary to use IRQ00 or IRQ01 pins.

 

Hope this helps,
Platon