jz4780-dma.txt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. * Ingenic JZ4780 DMA Controller
  2. Required properties:
  3. - compatible: Should be "ingenic,jz4780-dma"
  4. - reg: Should contain the DMA controller registers location and length.
  5. - interrupts: Should contain the interrupt specifier of the DMA controller.
  6. - interrupt-parent: Should be the phandle of the interrupt controller that
  7. - clocks: Should contain a clock specifier for the JZ4780 PDMA clock.
  8. - #dma-cells: Must be <2>. Number of integer cells in the dmas property of
  9. DMA clients (see below).
  10. Optional properties:
  11. - ingenic,reserved-channels: Bitmask of channels to reserve for devices that
  12. need a specific channel. These channels will only be assigned when explicitly
  13. requested by a client. The primary use for this is channels 0 and 1, which
  14. can be configured to have special behaviour for NAND/BCH when using
  15. programmable firmware.
  16. Example:
  17. dma: dma@13420000 {
  18. compatible = "ingenic,jz4780-dma";
  19. reg = <0x13420000 0x10000>;
  20. interrupt-parent = <&intc>;
  21. interrupts = <10>;
  22. clocks = <&cgu JZ4780_CLK_PDMA>;
  23. #dma-cells = <2>;
  24. ingenic,reserved-channels = <0x3>;
  25. };
  26. DMA clients must use the format described in dma.txt, giving a phandle to the
  27. DMA controller plus the following 2 integer cells:
  28. 1. Request type: The DMA request type for transfers to/from the device on
  29. the allocated channel, as defined in the SoC documentation.
  30. 2. Channel: If set to 0xffffffff, any available channel will be allocated for
  31. the client. Otherwise, the exact channel specified will be used. The channel
  32. should be reserved on the DMA controller using the ingenic,reserved-channels
  33. property.
  34. Example:
  35. uart0: serial@10030000 {
  36. ...
  37. dmas = <&dma 0x14 0xffffffff
  38. &dma 0x15 0xffffffff>;
  39. dma-names = "tx", "rx";
  40. ...
  41. };