On 05/05/2023 10:24, Hao Zhang wrote:
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 | 102 ++++++++++++++++++ 1 file changed, 102 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..126518863eea --- /dev/null +++ b/Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml @@ -0,0 +1,102 @@ +# 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> + - Yuanfang Zhang <quic_yuanfang@xxxxxxxxxxx>
Given this is a generic "CoreSight" component, I would prefer to have the CoreSight subsystem maintainers listed here (too). I don't mind
the entries above, but would like to make sure that the subsystem people are aware of the changes happening here. Please use: Mike Leach <mike.leach@xxxxxxxxxx> Suzuki K Poulose <suzuki.poulose@xxxxxxx> Leo Yan <leo.yan@xxxxxxxxxx> With the above: Acked-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
+ +properties: + compatible: + items: + - 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>; + }; + }; + }; + }; + +...