162306a36Sopenharmony_ci=========================================== 262306a36Sopenharmony_ciC-SKY Multi-processors Interrupt Controller 362306a36Sopenharmony_ci=========================================== 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciC-SKY Multi-processors Interrupt Controller is designed for ck807/ck810/ck860 662306a36Sopenharmony_ciSMP soc, and it also could be used in non-SMP system. 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciInterrupt number definition: 962306a36Sopenharmony_ci 0-15 : software irq, and we use 15 as our IPI_IRQ. 1062306a36Sopenharmony_ci 16-31 : private irq, and we use 16 as the co-processor timer. 1162306a36Sopenharmony_ci 31-1024: common irq for soc ip. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciInterrupt trigger mode: (Defined in dt-bindings/interrupt-controller/irq.h) 1462306a36Sopenharmony_ci IRQ_TYPE_LEVEL_HIGH (default) 1562306a36Sopenharmony_ci IRQ_TYPE_LEVEL_LOW 1662306a36Sopenharmony_ci IRQ_TYPE_EDGE_RISING 1762306a36Sopenharmony_ci IRQ_TYPE_EDGE_FALLING 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci============================= 2062306a36Sopenharmony_ciintc node bindings definition 2162306a36Sopenharmony_ci============================= 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci Description: Describes SMP interrupt controller 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci PROPERTIES 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci - compatible 2862306a36Sopenharmony_ci Usage: required 2962306a36Sopenharmony_ci Value type: <string> 3062306a36Sopenharmony_ci Definition: must be "csky,mpintc" 3162306a36Sopenharmony_ci - #interrupt-cells 3262306a36Sopenharmony_ci Usage: required 3362306a36Sopenharmony_ci Value type: <u32> 3462306a36Sopenharmony_ci Definition: <2> 3562306a36Sopenharmony_ci - interrupt-controller: 3662306a36Sopenharmony_ci Usage: required 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciExamples: ("interrupts = <irq_num IRQ_TYPE_XXX>") 3962306a36Sopenharmony_ci--------- 4062306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci intc: interrupt-controller { 4362306a36Sopenharmony_ci compatible = "csky,mpintc"; 4462306a36Sopenharmony_ci #interrupt-cells = <2>; 4562306a36Sopenharmony_ci interrupt-controller; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci device: device-example { 4962306a36Sopenharmony_ci ... 5062306a36Sopenharmony_ci interrupts = <34 IRQ_TYPE_EDGE_RISING>; 5162306a36Sopenharmony_ci interrupt-parent = <&intc>; 5262306a36Sopenharmony_ci }; 53