cdns,xrp-hw-simple,cma.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. Bindings for the Cadence Xtensa Remote Processing Simple HW-specific driver.
  2. This binding is an extension of the cdns,xrp,cma binding. All properties of
  3. that binding are in effect.
  4. Required properties:
  5. - compatible: shall be "cdns,xrp-hw-simple,cma".
  6. - reg: register location of the DSP MMIO block.
  7. Optional properties:
  8. - device-irq: 3 32-bit cells:
  9. - first: offset of the 32-bit device IRQ MMIO register from the DSP MMIO
  10. block start as seen by the device;
  11. - second: register bit index that controls IRQ;
  12. - third: DSP IRQ number (normal core IRQ number, not external IRQ number)
  13. controlled by this register/bit.
  14. - device-irq-host-offset: offset of the 32-bit device IRQ MMIO register from
  15. the DSP MMIO block start as seen by the host. If omitted device-irq cell 0
  16. is used;
  17. - device-irq-mode: 0 for none (polling), 1 for level, 2 for edge, 3 for
  18. software-assisted (by LUA script in the XTSC) edge.
  19. - host-irq: 2 32-bit cells:
  20. - first: offset of the 32-bit device IRQ MMIO register from the DSP MMIO
  21. block start;
  22. - second: register bit index that controls IRQ.
  23. - host-irq-mode: 0 for none (polling), 1 for level, 2 for edge.
  24. - interrupts: host IRQ number controlled by this register/bit.
  25. Example:
  26. reserved-memory {
  27. #address-cells = <1>;
  28. #size-cells = <1>;
  29. ranges;
  30. xrp_reserved: xrp@08000000 {
  31. compatible = "shared-dma-pool";
  32. reg = <0x08000000 0x08000000>;
  33. reusable;
  34. };
  35. };
  36. xrp@0 {
  37. #address-cells = <1>;
  38. #size-cells = <1>;
  39. compatible = "cdns,xrp-hw-simple,cma";
  40. memory-region = <&xrp_reserved>;
  41. reg = <0xfd001000 0x00000200>; /* DSP MMIO */
  42. device-irq = <0 1 5>; /* offset, bit#, IRQ# */
  43. device-irq-host-offset = <0>;
  44. device-irq-mode = <1>;
  45. host-irq = <0xfffff000 0>; /* offset, bit# */
  46. host-irq-mode = <2>;
  47. interrupts = <15 0>;
  48. firmware-name = "xrp0.elf";
  49. ranges = <0x00000000 0x00000000 0x10000000
  50. 0x3ffc0000 0xc0000000 0x00020000
  51. 0x3ffe0000 0xc0020000 0x00020000
  52. 0x50000000 0x50000000 0x01000000
  53. 0x60000000 0x60000000 0x20000000
  54. 0xf0000000 0xf0000000 0x0d000000>;
  55. dsp@0 {
  56. };
  57. };