diff mbox series

[v3,2/3] dt-bindings: arm: Add Coresight Dummy Trace

Message ID 20230422073714.38844-3-quic_hazha@quicinc.com
State New
Headers show
Series Add support to configure Coresight Dummy subunit | expand

Commit Message

Hao Zhang April 22, 2023, 7:37 a.m. UTC
Add new coresight-dummy.yaml file describing the bindings required
to define coresight dummy trace in the device trees.

Signed-off-by: Hao Zhang <quic_hazha@quicinc.com>
---
 .../bindings/arm/arm,coresight-dummy.yaml     | 101 ++++++++++++++++++
 1 file changed, 101 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml
new file mode 100644
index 000000000000..48d864aefaaa
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml
@@ -0,0 +1,101 @@ 
+# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/arm,coresight-dummy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM Coresight Dummy component
+
+description: |
+  Coresight Dummy Trace Module is for the specific devices that kernel
+  don't have permission to access or configure, e.g., CoreSight TPDMs
+  on Qualcomm platforms. So there need driver to register dummy devices
+  as Coresight devices. It may also be used to define components that
+  may not have any programming interfaces (e.g, static links), so that
+  paths can be established in the driver. Provide Coresight API for
+  dummy device operations, such as enabling and disabling dummy devices.
+  Build the Coresight path for dummy sink or dummy source for debugging.
+
+  The primary use case of the coresight dummy is to build path in kernel
+  side for dummy sink and dummy source.
+
+maintainers:
+  - Mao Jinlong <quic_jinlmao@quicinc.com>
+  - Tao Zhang <quic_taozha@quicinc.com>
+  - Hao Zhang <quic_hazha@quicinc.com>
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - arm,coresight-dummy-sink
+          - arm,coresight-dummy-source
+
+  out-ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port:
+        description: Output connection from the source to Coresight
+          Trace bus.
+        $ref: /schemas/graph.yaml#/properties/port
+
+  in-ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port:
+        description: Input connection from the Coresight Trace bus to
+          dummy sink, such as Embedded USB debugger(EUD).
+        $ref: /schemas/graph.yaml#/properties/port
+
+required:
+  - compatible
+
+if:
+  # If the compatible contains the below value
+  properties:
+    compatible:
+      contains:
+        const: arm,coresight-dummy-sink
+
+then:
+  required:
+    - in-ports
+
+else:
+  required:
+    - out-ports
+
+additionalProperties: false
+
+examples:
+  # Minimum dummy sink definition. Dummy sink connect to coresight replicator.
+  - |
+    sink {
+      compatible = "arm,coresight-dummy-sink";
+
+      in-ports {
+        port {
+          eud_in_replicator_swao: endpoint {
+            remote-endpoint = <&replicator_swao_out_eud>;
+          };
+        };
+      };
+    };
+
+  # Minimum dummy source definition. Dummy source connect to coresight funnel.
+  - |
+    source {
+      compatible = "arm,coresight-dummy-source";
+
+      out-ports {
+        port {
+          dummy_riscv_out_funnel_swao: endpoint {
+            remote-endpoint = <&funnel_swao_in_dummy_riscv>;
+          };
+        };
+      };
+    };
+
+...