| =========================================== |
| C-SKY Multi-processors Interrupt Controller |
| =========================================== |
| |
| C-SKY Multi-processors Interrupt Controller is designed for ck807/ck810/ck860 |
| SMP soc, and it also could be used in non-SMP system. |
| |
| Interrupt number definition: |
| 0-15 : software irq, and we use 15 as our IPI_IRQ. |
| 16-31 : private irq, and we use 16 as the co-processor timer. |
| 31-1024: common irq for soc ip. |
| |
| Interrupt triger mode: (Defined in dt-bindings/interrupt-controller/irq.h) |
| IRQ_TYPE_LEVEL_HIGH (default) |
| IRQ_TYPE_LEVEL_LOW |
| IRQ_TYPE_EDGE_RISING |
| IRQ_TYPE_EDGE_FALLING |
| |
| ============================= |
| intc node bindings definition |
| ============================= |
| |
| Description: Describes SMP interrupt controller |
| |
| PROPERTIES |
| |
| - compatible |
| Usage: required |
| Value type: <string> |
| Definition: must be "csky,mpintc" |
| - #interrupt-cells |
| Usage: required |
| Value type: <u32> |
| Definition: <2> |
| - interrupt-controller: |
| Usage: required |
| |
| Examples: ("interrupts = <irq_num IRQ_TYPE_XXX>") |
| --------- |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| intc: interrupt-controller { |
| compatible = "csky,mpintc"; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| }; |
| |
| device: device-example { |
| ... |
| interrupts = <34 IRQ_TYPE_EDGE_RISING>; |
| interrupt-parent = <&intc>; |
| }; |