apple,admac.yaml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/dma/apple,admac.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Apple Audio DMA Controller (ADMAC)
  7. description: |
  8. Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples
  9. on SoCs from the "Apple Silicon" family.
  10. The controller has been seen with up to 24 channels. Even-numbered channels
  11. are TX-only, odd-numbered are RX-only. Individual channels are coupled to
  12. fixed device endpoints.
  13. maintainers:
  14. - Martin Povišer <povik+lin@cutebit.org>
  15. allOf:
  16. - $ref: dma-controller.yaml#
  17. properties:
  18. compatible:
  19. items:
  20. - enum:
  21. - apple,t6000-admac
  22. - apple,t8103-admac
  23. - apple,t8112-admac
  24. - const: apple,admac
  25. reg:
  26. maxItems: 1
  27. '#dma-cells':
  28. const: 1
  29. description:
  30. Clients specify a single cell with channel number.
  31. dma-channels:
  32. maximum: 24
  33. interrupts:
  34. minItems: 4
  35. maxItems: 4
  36. description:
  37. Interrupts that correspond to the 4 IRQ outputs of the controller. Usually
  38. only one of the controller outputs will be connected as an usable interrupt
  39. source. The remaining interrupts will be left without a valid value, e.g.
  40. in an interrupts-extended list the disconnected positions will contain
  41. an empty phandle reference <0>.
  42. iommus:
  43. minItems: 1
  44. maxItems: 2
  45. power-domains:
  46. maxItems: 1
  47. resets:
  48. maxItems: 1
  49. required:
  50. - compatible
  51. - reg
  52. - '#dma-cells'
  53. - dma-channels
  54. - interrupts
  55. additionalProperties: false
  56. examples:
  57. - |
  58. #include <dt-bindings/interrupt-controller/apple-aic.h>
  59. #include <dt-bindings/interrupt-controller/irq.h>
  60. aic: interrupt-controller {
  61. interrupt-controller;
  62. #interrupt-cells = <3>;
  63. };
  64. admac: dma-controller@238200000 {
  65. compatible = "apple,t8103-admac", "apple,admac";
  66. reg = <0x38200000 0x34000>;
  67. dma-channels = <24>;
  68. interrupts-extended = <0>,
  69. <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
  70. <0>,
  71. <0>;
  72. #dma-cells = <1>;
  73. };