cdns,xrp,cma.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Bindings for the Cadence Xtensa Remote Processing driver, CMA mode.
  2. In CMA mode DSP communication area and shared memory are allocated from the
  3. CMA-managed reserved memory region assigned to the XRP device.
  4. Required properties:
  5. - compatible: shall be "cdns,xrp,cma".
  6. - memory-region: phandle, refers to a child node inside reserved-memory node.
  7. Optional properties:
  8. - queue-priority: cells indicating priorities of DSP hardware queues. If
  9. missing then single default queue is configured.
  10. - firmware-name: string identifying firmware name. If missing the driver
  11. doesn't load the firmware.
  12. - #address-cells: number of cells DSP physical address takes in the ranges.
  13. - #size-cells: number of cells each size takes in the ranges.
  14. - ranges: standard ranges property. Provides mapping of DSP physical addresses
  15. to host physical addresses. Arbitrary number of groups with the following
  16. structure:
  17. - cells with DSP physical address of the region;
  18. - cells with the corresponding host physical address of the
  19. region;
  20. - cells with the size of the region.
  21. Ranges must cover addresses of the reserved memory pointed to by the
  22. memory-region property.
  23. XRP node may have an optional subnode when there's non-identity mapping set
  24. up in the ranges property. Both subnode and ranges property are required in
  25. order for the address translation to work.
  26. Example:
  27. reserved-memory {
  28. #address-cells = <1>;
  29. #size-cells = <1>;
  30. ranges;
  31. xrp_reserved: xrp@08000000 {
  32. compatible = "shared-dma-pool";
  33. reg = <0x08000000 0x08000000>;
  34. reusable;
  35. };
  36. };
  37. xrp@0 {
  38. #address-cells = <1>;
  39. #size-cells = <1>;
  40. compatible = "cdns,xrp,cma";
  41. memory-region = <&xrp_reserved>;
  42. queue-priority = <0 1 2>;
  43. firmware-name = "xrp0.elf";
  44. ranges = <0x00000000 0x00000000 0x10000000
  45. 0x3ffc0000 0xc0000000 0x00020000
  46. 0x3ffe0000 0xc0020000 0x00020000
  47. 0x50000000 0x50000000 0x01000000
  48. 0x60000000 0x60000000 0x20000000
  49. 0xf0000000 0xf0000000 0x0d000000>;
  50. dsp@0 {
  51. };
  52. };