arm,embedded-trace-extension.yaml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. # Copyright 2021, Arm Ltd
  3. %YAML 1.2
  4. ---
  5. $id: http://devicetree.org/schemas/arm/arm,embedded-trace-extension.yaml#
  6. $schema: http://devicetree.org/meta-schemas/core.yaml#
  7. title: ARM Embedded Trace Extensions
  8. maintainers:
  9. - Suzuki K Poulose <suzuki.poulose@arm.com>
  10. - Mathieu Poirier <mathieu.poirier@linaro.org>
  11. description: |
  12. Arm Embedded Trace Extension(ETE) is a per CPU trace component that
  13. allows tracing the CPU execution. It overlaps with the CoreSight ETMv4
  14. architecture and has extended support for future architecture changes.
  15. The trace generated by the ETE could be stored via legacy CoreSight
  16. components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer
  17. Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to
  18. legacy CoreSight components, a node must be listed per instance, along
  19. with any optional connection graph as per the coresight bindings.
  20. properties:
  21. $nodename:
  22. pattern: "^ete(-[0-9]+)?$"
  23. compatible:
  24. items:
  25. - const: arm,embedded-trace-extension
  26. cpu:
  27. description: |
  28. Handle to the cpu this ETE is bound to.
  29. $ref: /schemas/types.yaml#/definitions/phandle
  30. power-domains:
  31. maxItems: 1
  32. out-ports:
  33. description: |
  34. Output connections from the ETE to legacy CoreSight trace bus.
  35. $ref: /schemas/graph.yaml#/properties/ports
  36. properties:
  37. port:
  38. description: Output connection from the ETE to legacy CoreSight Trace bus.
  39. $ref: /schemas/graph.yaml#/properties/port
  40. required:
  41. - compatible
  42. - cpu
  43. additionalProperties: false
  44. examples:
  45. # An ETE node without legacy CoreSight connections
  46. - |
  47. ete-0 {
  48. compatible = "arm,embedded-trace-extension";
  49. cpu = <&cpu_0>;
  50. };
  51. # An ETE node with legacy CoreSight connections
  52. - |
  53. ete-1 {
  54. compatible = "arm,embedded-trace-extension";
  55. cpu = <&cpu_1>;
  56. out-ports { /* legacy coresight connection */
  57. port {
  58. ete1_out_port: endpoint {
  59. remote-endpoint = <&funnel_in_port0>;
  60. };
  61. };
  62. };
  63. };
  64. ...