ti,k3-m4f-rproc.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/remoteproc/ti,k3-m4f-rproc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: TI K3 M4F processor subsystems
  7. maintainers:
  8. - Hari Nagalla <hnagalla@ti.com>
  9. - Mathieu Poirier <mathieu.poirier@linaro.org>
  10. description: |
  11. Some K3 family SoCs have Arm Cortex M4F cores. AM64x is a SoC in K3
  12. family with a M4F core. Typically safety oriented applications may use
  13. the M4F core in isolation without an IPC. Where as some industrial and
  14. home automation applications, may use the M4F core as a remote processor
  15. with IPC communications.
  16. $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
  17. properties:
  18. compatible:
  19. enum:
  20. - ti,am64-m4fss
  21. power-domains:
  22. maxItems: 1
  23. "#address-cells":
  24. const: 2
  25. "#size-cells":
  26. const: 2
  27. reg:
  28. items:
  29. - description: IRAM internal memory region
  30. - description: DRAM internal memory region
  31. reg-names:
  32. items:
  33. - const: iram
  34. - const: dram
  35. resets:
  36. maxItems: 1
  37. firmware-name:
  38. maxItems: 1
  39. description: Name of firmware to load for the M4F core
  40. mboxes:
  41. description:
  42. OMAP Mailbox specifier denoting the sub-mailbox, to be used for
  43. communication with the remote processor. This property should match
  44. with the sub-mailbox node used in the firmware image.
  45. maxItems: 1
  46. memory-region:
  47. description:
  48. phandle to the reserved memory nodes to be associated with the
  49. remoteproc device. Optional memory regions available for firmware
  50. specific purposes.
  51. (see reserved-memory/reserved-memory.yaml in dtschema project)
  52. maxItems: 8
  53. items:
  54. - description: regions used for DMA allocations like vrings, vring buffers
  55. and memory dedicated to firmware's specific purposes.
  56. additionalItems: true
  57. required:
  58. - compatible
  59. - reg
  60. - reg-names
  61. - ti,sci
  62. - ti,sci-dev-id
  63. - ti,sci-proc-ids
  64. - resets
  65. - firmware-name
  66. unevaluatedProperties: false
  67. examples:
  68. - |
  69. reserved-memory {
  70. #address-cells = <2>;
  71. #size-cells = <2>;
  72. mcu_m4fss_dma_memory_region: m4f-dma-memory@9cb00000 {
  73. compatible = "shared-dma-pool";
  74. reg = <0x00 0x9cb00000 0x00 0x100000>;
  75. no-map;
  76. };
  77. mcu_m4fss_memory_region: m4f-memory@9cc00000 {
  78. compatible = "shared-dma-pool";
  79. reg = <0x00 0x9cc00000 0x00 0xe00000>;
  80. no-map;
  81. };
  82. };
  83. soc {
  84. #address-cells = <2>;
  85. #size-cells = <2>;
  86. mailbox0_cluster0: mailbox-0 {
  87. #mbox-cells = <1>;
  88. };
  89. remoteproc@5000000 {
  90. compatible = "ti,am64-m4fss";
  91. reg = <0x00 0x5000000 0x00 0x30000>,
  92. <0x00 0x5040000 0x00 0x10000>;
  93. reg-names = "iram", "dram";
  94. resets = <&k3_reset 9 1>;
  95. firmware-name = "am62-mcu-m4f0_0-fw";
  96. mboxes = <&mailbox0_cluster0>, <&mbox_m4_0>;
  97. memory-region = <&mcu_m4fss_dma_memory_region>,
  98. <&mcu_m4fss_memory_region>;
  99. ti,sci = <&dmsc>;
  100. ti,sci-dev-id = <9>;
  101. ti,sci-proc-ids = <0x18 0xff>;
  102. };
  103. };