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@xxxxxxxxxxx> --- .../bindings/arm/qcom,coresight-dummy.yaml | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/qcom,coresight-dummy.yaml diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-dummy.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-dummy.yaml new file mode 100644 index 000000000000..7b719b084d72 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-dummy.yaml @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause +# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/qcom,coresight-dummy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: QCOM Coresight Dummy component + +description: | + The Coresight Dummy component is for the specific devices that HLOS don't have + permission to access or configure. Such as Coresight sink EUD, some TPDMs etc. + So there need driver to register dummy devices as Coresight devices. 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 for dummy sink or + dummy source. + +maintainers: + - Mao Jinlong <quic_jinlmao@xxxxxxxxxxx> + - Tao Zhang <quic_taozha@xxxxxxxxxxx> + - Hao Zhang <quic_hazha@xxxxxxxxxxx> + +select: + properties: + compatible: + contains: + enum: + - qcom,coresight-dummy + required: + - compatible + +properties: + $nodename: + pattern: "^dummy_.*(sink|source)_[0-9]+.*$" + compatible: + items: + - const: qcom,coresight-dummy + + qcom,dummy-sink: + type: boolean + description: + Indicates that the type of this coresight node is dummy sink. + + qcom,dummy-source: + type: boolean + description: + Indicates that the type of this coresight node is dummy source. + + out-ports: + description: | + Output connections from the dummy source to Coresight Trace bus. + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port: + description: Output connection from the dummy source to Coresight + Trace bus. + $ref: /schemas/graph.yaml#/properties/port + + in-ports: + description: | + Input connections from the CoreSight Trace bus to dummy sink. + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port: + description: Input connection from the Coresight Trace bus to + dummy sink. + $ref: /schemas/graph.yaml#/properties/port + +required: + - compatible + +additionalProperties: false + +oneOf: + - required: + - qcom,dummy-sink + - required: + - qcom,dummy-source + +examples: + # minimum dummy sink definition. dummy sink connect to coresight replicator. + - | + dummy_sink_1 { + compatible = "qcom,coresight-dummy"; + qcom,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. + - | + dummy_source_1 { + compatible = "qcom,coresight-dummy"; + qcom,dummy-source; + + out-ports { + port { + dummy_riscv_out_funnel_swao: endpoint { + remote-endpoint = + <&funnel_swao_in_dummy_riscv>; + }; + }; + }; + }; + +... -- 2.17.1