img,meta-intc.txt 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. * Meta External Trigger Controller Binding
  2. This binding specifies what properties must be available in the device tree
  3. representation of a Meta external trigger controller.
  4. Required properties:
  5. - compatible: Specifies the compatibility list for the interrupt controller.
  6. The type shall be <string> and the value shall include "img,meta-intc".
  7. - num-banks: Specifies the number of interrupt banks (each of which can
  8. handle 32 interrupt sources).
  9. - interrupt-controller: The presence of this property identifies the node
  10. as an interrupt controller. No property value shall be defined.
  11. - #interrupt-cells: Specifies the number of cells needed to encode an
  12. interrupt source. The type shall be a <u32> and the value shall be 2.
  13. - #address-cells: Specifies the number of cells needed to encode an
  14. address. The type shall be <u32> and the value shall be 0. As such,
  15. 'interrupt-map' nodes do not have to specify a parent unit address.
  16. Optional properties:
  17. - no-mask: The controller doesn't have any mask registers.
  18. * Interrupt Specifier Definition
  19. Interrupt specifiers consists of 2 cells encoded as follows:
  20. - <1st-cell>: The interrupt-number that identifies the interrupt source.
  21. - <2nd-cell>: The Linux interrupt flags containing level-sense information,
  22. encoded as follows:
  23. 1 = edge triggered
  24. 4 = level-sensitive
  25. * Examples
  26. Example 1:
  27. /*
  28. * Meta external trigger block
  29. */
  30. intc: intc {
  31. // This is an interrupt controller node.
  32. interrupt-controller;
  33. // No address cells so that 'interrupt-map' nodes which
  34. // reference this interrupt controller node do not need a parent
  35. // address specifier.
  36. #address-cells = <0>;
  37. // Two cells to encode interrupt sources.
  38. #interrupt-cells = <2>;
  39. // Number of interrupt banks
  40. num-banks = <2>;
  41. // No HWMASKEXT is available (specify on Chorus2 and Comet ES1)
  42. no-mask;
  43. // Compatible with Meta hardware trigger block.
  44. compatible = "img,meta-intc";
  45. };
  46. Example 2:
  47. /*
  48. * An interrupt generating device that is wired to a Meta external
  49. * trigger block.
  50. */
  51. uart1: uart@0x02004c00 {
  52. // Interrupt source '5' that is level-sensitive.
  53. // Note that there are only two cells as specified in the
  54. // interrupt parent's '#interrupt-cells' property.
  55. interrupts = <5 4 /* level */>;
  56. // The interrupt controller that this device is wired to.
  57. interrupt-parent = <&intc>;
  58. };