Weiping Liu is correct however I am then stuck with needing a gpio that I can use as an interrupt that can also have its cpu affinity changed. From the freescale imx6 documentation it list several gpio interrupts within the 255 limit. However I could not find any indication in the GPIO chapter how the GPIO1 is configured to deliver these interrupts.
The gpio_to_irq macro translates the gpio bank and number and adds 255 to it. Which makes sense given my gpio irq.
(gpio bank 2 number 4) ==> 256+32+4 ==> 292
I was able to request_irq() IRQ number 90 but have know idea what the source of the irq is other then GPIO1 and that it is called INT7.
Here is the list of gpio interrupts below the 255 (from imx6 docs)
90 GPIO1 INT7 interrupt request.
91 GPIO1 INT6 interrupt request.
92 GPIO1 INT5 interrupt request.
93 GPIO1 INT4 interrupt request.
94 GPIO1 INT3 interrupt request.
95 GPIO1 INT2 interrupt request.
96 GPIO1 INT1 interrupt request.
97 GPIO1 INT0 interrupt request.
98 GPIO1 Combined interrupt indication for GPIO1 signals 0 - 15.
99 GPIO1 Combined interrupt indication for GPIO1 signals 16 - 31.
100 GPIO2 Combined interrupt indication for GPIO2 signals 0 - 15.
101 GPIO2 Combined interrupt indication for GPIO2 signals 16 - 31.
102 GPIO3 Combined interrupt indication for GPIO3 signals 0 - 15.
103 GPIO3 Combined interrupt indication for GPIO3 signals 16 - 31.
104 GPIO4 Combined interrupt indication for GPIO4 signals 0 - 15.
105 GPIO4 Combined interrupt indication for GPIO4 signals 16 - 31.
106 GPIO5 Combined interrupt indication for GPIO5 signals 0 - 15.
107 GPIO5 Combined interrupt indication for GPIO5 signals 16 - 31.
108 GPIO6 Combined interrupt indication for GPIO6 signals 0 - 15.
109 GPIO6 Combined interrupt indication for GPIO6 signals 16 - 31.
110 GPIO7 Combined interrupt indication for GPIO7 signals 0 - 15.
111 GPIO7 Combined interrupt indication for GPIO7 signals 16 - 31.
I also see that in mx6.h I have the following. Which matches up with documentation.
| #define MXC_INT_GPIO1_INT7_NUM | | 90 |
| #define MXC_INT_GPIO1_INT6_NUM | | 91 |
| #define MXC_INT_GPIO1_INT5_NUM | | 92 |
| #define MXC_INT_GPIO1_INT4_NUM | | 93 |
| #define MXC_INT_GPIO1_INT3_NUM | | 94 |
| #define MXC_INT_GPIO1_INT2_NUM | | 95 |
| #define MXC_INT_GPIO1_INT1_NUM | | 96 |
| #define MXC_INT_GPIO1_INT0_NUM | | 97 |
| #define MXC_INT_GPIO1_INT15_0_NUM | 98 |
| #define MXC_INT_GPIO1_INT31_16_NUM | 99 |
| #define MXC_INT_GPIO2_INT15_0_NUM | 100 |
| #define MXC_INT_GPIO2_INT31_16_NUM | 101 |
| #define MXC_INT_GPIO3_INT15_0_NUM | 102 |
| #define MXC_INT_GPIO3_INT31_16_NUM | 103 |
| #define MXC_INT_GPIO4_INT15_0_NUM | 104 |
| #define MXC_INT_GPIO4_INT31_16_NUM | 105 |
| #define MXC_INT_GPIO5_INT15_0_NUM | 106 |
| #define MXC_INT_GPIO5_INT31_16_NUM | 107 |
| #define MXC_INT_GPIO6_INT15_0_NUM | 108 |
| #define MXC_INT_GPIO6_INT31_16_NUM | 109 |
| #define MXC_INT_GPIO7_INT15_0_NUM | 110 |
| #define MXC_INT_GPIO7_INT31_16_NUM | 111 |
Is there somewhere I can get more information or does someone have examples on how to use these gpio irqs?
Ben Anderson