xref: /freebsd/sys/contrib/device-tree/Bindings/arm/trbe.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1*2eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
2*2eb4d8dcSEmmanuel Vadot# Copyright 2021, Arm Ltd
3*2eb4d8dcSEmmanuel Vadot%YAML 1.2
4*2eb4d8dcSEmmanuel Vadot---
5*2eb4d8dcSEmmanuel Vadot$id: "http://devicetree.org/schemas/arm/trbe.yaml#"
6*2eb4d8dcSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7*2eb4d8dcSEmmanuel Vadot
8*2eb4d8dcSEmmanuel Vadottitle: ARM Trace Buffer Extensions
9*2eb4d8dcSEmmanuel Vadot
10*2eb4d8dcSEmmanuel Vadotmaintainers:
11*2eb4d8dcSEmmanuel Vadot  - Anshuman Khandual <anshuman.khandual@arm.com>
12*2eb4d8dcSEmmanuel Vadot
13*2eb4d8dcSEmmanuel Vadotdescription: |
14*2eb4d8dcSEmmanuel Vadot  Arm Trace Buffer Extension (TRBE) is a per CPU component
15*2eb4d8dcSEmmanuel Vadot  for storing trace generated on the CPU to memory. It is
16*2eb4d8dcSEmmanuel Vadot  accessed via CPU system registers. The software can verify
17*2eb4d8dcSEmmanuel Vadot  if it is permitted to use the component by checking the
18*2eb4d8dcSEmmanuel Vadot  TRBIDR register.
19*2eb4d8dcSEmmanuel Vadot
20*2eb4d8dcSEmmanuel Vadotproperties:
21*2eb4d8dcSEmmanuel Vadot  $nodename:
22*2eb4d8dcSEmmanuel Vadot    const: "trbe"
23*2eb4d8dcSEmmanuel Vadot  compatible:
24*2eb4d8dcSEmmanuel Vadot    items:
25*2eb4d8dcSEmmanuel Vadot      - const: arm,trace-buffer-extension
26*2eb4d8dcSEmmanuel Vadot
27*2eb4d8dcSEmmanuel Vadot  interrupts:
28*2eb4d8dcSEmmanuel Vadot    description: |
29*2eb4d8dcSEmmanuel Vadot       Exactly 1 PPI must be listed. For heterogeneous systems where
30*2eb4d8dcSEmmanuel Vadot       TRBE is only supported on a subset of the CPUs, please consult
31*2eb4d8dcSEmmanuel Vadot       the arm,gic-v3 binding for details on describing a PPI partition.
32*2eb4d8dcSEmmanuel Vadot    maxItems: 1
33*2eb4d8dcSEmmanuel Vadot
34*2eb4d8dcSEmmanuel Vadotrequired:
35*2eb4d8dcSEmmanuel Vadot  - compatible
36*2eb4d8dcSEmmanuel Vadot  - interrupts
37*2eb4d8dcSEmmanuel Vadot
38*2eb4d8dcSEmmanuel VadotadditionalProperties: false
39*2eb4d8dcSEmmanuel Vadot
40*2eb4d8dcSEmmanuel Vadotexamples:
41*2eb4d8dcSEmmanuel Vadot
42*2eb4d8dcSEmmanuel Vadot  - |
43*2eb4d8dcSEmmanuel Vadot   #include <dt-bindings/interrupt-controller/arm-gic.h>
44*2eb4d8dcSEmmanuel Vadot
45*2eb4d8dcSEmmanuel Vadot   trbe {
46*2eb4d8dcSEmmanuel Vadot     compatible = "arm,trace-buffer-extension";
47*2eb4d8dcSEmmanuel Vadot     interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
48*2eb4d8dcSEmmanuel Vadot   };
49*2eb4d8dcSEmmanuel Vadot...
50