LS1043a IRQ00 IRQ01 IRQ02 interruption handler

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1043a IRQ00 IRQ01 IRQ02 interruption handler

Jump to solution
969 Views
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 Kudos
1 Solution
939 Views
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

View solution in original post

2 Replies
962 Views
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 Kudos
940 Views
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