[PATCH v2 2/3] dt-bindings: arm: Add Coresight Dummy Trace YAML schema
Hao Zhang
quic_hazha at quicinc.com
Tue Mar 28 04:29:48 PDT 2023
Hi Mike,
On 3/28/2023 6:12 PM, Mike Leach wrote:
> Hi,
>
> As per my comments in the previous patch in this set....
>
> On Mon, 27 Mar 2023 at 08:38, Hao Zhang <quic_hazha at quicinc.com> wrote:
>>
>> Hi Krzysztof,
>>
>> On 3/25/2023 7:49 PM, Krzysztof Kozlowski wrote:
>>> On 24/03/2023 07:16, Hao Zhang wrote:
>>>> Add new coresight-dummy.yaml file describing the bindings required
>>>> to define coresight dummy trace in the device trees.
>>>>
>>>
>>> Subject: drop second/last, redundant "YAML schema". The "dt-bindings"
>>> prefix is already stating that these are bindings and all new must be DT
>>> schema. You cannot add anything else, so this is redundant.
>>>
>> I will take your advice to drop redundant part of title in the next
>> version of patch.
>>>
>>>> Signed-off-by: Hao Zhang <quic_hazha at quicinc.com>
>>>> ---
>>>> .../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 at quicinc.com>
>>>> + - Tao Zhang <quic_taozha at quicinc.com>
>>>> + - Hao Zhang <quic_hazha at quicinc.com>
>>>> +
>>>> +select:
>>>> + properties:
>>>> + compatible:
>>>> + contains:
>>>> + enum:
>>>> + - qcom,coresight-dummy
>
> Can we have coresight-dummy-source and coresight-dummy-sink?
Sure, I will take your advice in the next version of patch.
>
>>>> + required:
>>>> + - compatible
>>>
>>> Why do you need the select?
>>>
>> This is a mistake, will remove it in the next version of patch.
>>>> +
>>>> +properties:
>>>> + $nodename:
>>>> + pattern: "^dummy_.*(sink|source)_[0-9]+.*$"
>>>
>>> We do not enforce node names in individual bindings. Why do you need it?
>>> Plus underscore is not even proper character...
>>>
>> I will remove this node.
>>
>>>> + compatible:
>>>> + items:
>>>
>>> Drop items. You have only one item, so no need for list.
>>
>> I will take your advice and update it in the next version of patch.
>>
>>>> + - const: qcom,coresight-dummy
>>>> +
>>>> + qcom,dummy-sink:
>>>> + type: boolean
>>>> + description:
>>>> + Indicates that the type of this coresight node is dummy sink.
>>>
>>> You just duplicated property name. Write something useful.
>>>
>>>> +
>>>> + qcom,dummy-source:
>>>> + type: boolean
>>>> + description:
>>>> + Indicates that the type of this coresight node is dummy source.
>>>
>>> You just duplicated property name. Write something useful.
>>>
>>
>
> These properties not required if the compatible name is more specific
>
I will update it in the next version of patch.
>> Sure, I will add more details for it.
>>
>>>> +
>>>> + out-ports:
>>>> + description: |
>>>
>>> No need for |
>>>
>>>> + 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: |
>>>
>>> Ditto
>>>
>> I will remove it in the next version of patch.
>>
>>>> + 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
>>>> +
>
> The binding should constrain out ports to dummy-source only, and in
> ports to dummy sink only.
>
> Regards
>
> Mike
>
I will update it according to your advice in the next version of patch.
Thanks,
Hao
>>>> +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 {
>>>
>>> Node names should be generic, so "sink"
>>> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>>>
>>>> + compatible = "qcom,coresight-dummy";
>>>> + qcom,dummy-sink;
>>>> +
>>>> + in-ports {
>>>> + port {
>>>> + eud_in_replicator_swao: endpoint {
>>>> + remote-endpoint =
>>>> + <&replicator_swao_out_eud>;
>>>
>>> Why line break after =?
>>>
>>
>>>> + };
>>>> + };
>>>> + };
>>>> + };
>>>> +
>>>> + # minimum dummy source definition. dummy source connect to coresight funnel.
>>>
>>> If you use sentences, then start with capital letter.
>>>
>>
>> I will update it according to your advice in the next version of patch.
>>
>>>> + - |
>>>> + 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>;
>>>
>>> Why line break?
>>
>> I copy it from device tree and keep the original format, will correct
>> the format in the next version of patch.
>>
>> Thanks,
>> Hao
>>
>>>> + };
>>>> + };
>>>> + };
>>>> + };
>>>> +
>>>> +...
>>>
>>> Best regards,
>>> Krzysztof
>>>
>
>
>
More information about the linux-arm-kernel
mailing list