Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | =========================================== |
| 2 | C-SKY Multi-processors Interrupt Controller |
| 3 | =========================================== |
| 4 | |
| 5 | C-SKY Multi-processors Interrupt Controller is designed for ck807/ck810/ck860 |
| 6 | SMP soc, and it also could be used in non-SMP system. |
| 7 | |
| 8 | Interrupt number definition: |
| 9 | 0-15 : software irq, and we use 15 as our IPI_IRQ. |
| 10 | 16-31 : private irq, and we use 16 as the co-processor timer. |
| 11 | 31-1024: common irq for soc ip. |
| 12 | |
| 13 | Interrupt trigger mode: (Defined in dt-bindings/interrupt-controller/irq.h) |
| 14 | IRQ_TYPE_LEVEL_HIGH (default) |
| 15 | IRQ_TYPE_LEVEL_LOW |
| 16 | IRQ_TYPE_EDGE_RISING |
| 17 | IRQ_TYPE_EDGE_FALLING |
| 18 | |
| 19 | ============================= |
| 20 | intc node bindings definition |
| 21 | ============================= |
| 22 | |
| 23 | Description: Describes SMP interrupt controller |
| 24 | |
| 25 | PROPERTIES |
| 26 | |
| 27 | - compatible |
| 28 | Usage: required |
| 29 | Value type: <string> |
| 30 | Definition: must be "csky,mpintc" |
| 31 | - #interrupt-cells |
| 32 | Usage: required |
| 33 | Value type: <u32> |
| 34 | Definition: <2> |
| 35 | - interrupt-controller: |
| 36 | Usage: required |
| 37 | |
| 38 | Examples: ("interrupts = <irq_num IRQ_TYPE_XXX>") |
| 39 | --------- |
| 40 | #include <dt-bindings/interrupt-controller/irq.h> |
| 41 | |
| 42 | intc: interrupt-controller { |
| 43 | compatible = "csky,mpintc"; |
| 44 | #interrupt-cells = <2>; |
| 45 | interrupt-controller; |
| 46 | }; |
| 47 | |
| 48 | device: device-example { |
| 49 | ... |
| 50 | interrupts = <34 IRQ_TYPE_EDGE_RISING>; |
| 51 | interrupt-parent = <&intc>; |
| 52 | }; |