[PATCH v4 2/3] dt-bindings: arm: Add Coresight Dummy Trace

Suzuki K Poulose suzuki.poulose at arm.com
Fri May 5 03:54:03 PDT 2023


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 at quicinc.com>
> ---
>   .../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 at quicinc.com>
> +  - Tao Zhang <quic_taozha at quicinc.com>
> +  - Hao Zhang <quic_hazha at quicinc.com>
> +  - Yuanfang Zhang <quic_yuanfang at quicinc.com>

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 at linaro.org>
Suzuki K Poulose <suzuki.poulose at arm.com>
Leo Yan <leo.yan at linaro.org>

With the above:

Acked-by: Suzuki K Poulose <suzuki.poulose at arm.com>

> +
> +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>;
> +          };
> +        };
> +      };
> +    };
> +
> +...




More information about the linux-arm-kernel mailing list