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/arm,coresight-dummy.yaml | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml 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@xxxxxxxxxxx> + - Tao Zhang <quic_taozha@xxxxxxxxxxx> + - Hao Zhang <quic_hazha@xxxxxxxxxxx> + +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>; + }; + }; + }; + }; + +... -- 2.17.1