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 | 129 ++++++++++++++++++ 1 file changed, 129 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..3a7f98df2ee9 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-dummy.yaml @@ -0,0 +1,129 @@ +# 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(@[0-9a-f]+)$" + compatible: + items: + - const: qcom,coresight-dummy + + reg: + minItems: 1 + maxItems: 2 + + clocks: + maxItems: 1 + + clock-names: + items: + - const: apb_pclk + + 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-puts: + 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 + - reg + - clocks + - clock-names + - oneOf: + - qcom,dummy-sink + - qcom,dummy-source + +additionalProperties: false + +examples: + # minimum dummy sink definition. dummy sink connect to coresight replicator. + - | + dummy_eud: dummy_sink { + compatible = "qcom,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_riscv: dummy_source { + compatible = "qcom,dummy"; + qcom,dummy-source; + + out-ports { + port { + dummy_riscv_out_funnel_swao: endpoint { + remote-endpoint = + <&funnel_swao_in_dummy_riscv>; + }; + }; + }; + }; + +... -- 2.17.1