mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: Rob Herring <robh@kernel.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>,
	Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/3] dt-bindings: arm: Convert CoreSight bindings to DT schema
Date: Mon, 27 Jun 2022 22:55:16 +0100	[thread overview]
Message-ID: <2cb087fe-21d8-7513-4e55-b836d7086a1c@arm.com> (raw)
In-Reply-To: <20220627201115.GA2870653-robh@kernel.org>

On 27/06/2022 21:11, Rob Herring wrote:
> On Mon, Jun 20, 2022 at 06:17:20PM +0100, Suzuki K Poulose wrote:
>> Hi Rob
>>
>> A big Thank You for the effort ! A minor comment below.
>>
>> On 03/06/2022 02:19, Rob Herring wrote:
>>> Each CoreSight component has slightly different requirements and
>>> nothing applies to every component, so each CoreSight component has its
>>> own schema document.
>>>
>>> Signed-off-by: Rob Herring <robh@kernel.org>
>>> --
>>> v2:
>>>    - Add missing arm,coresight-dynamic-replicator.yaml and
>>>      arm,coresight-static-funnel.yaml
>>>    - Update MAINTAINERS
>>>    - Fix coresight.txt references
>>>    - Fix double blank line
>>> ---
>>>    .../bindings/arm/arm,coresight-catu.yaml      | 101 +++++
>>>    .../bindings/arm/arm,coresight-cti.yaml       |   3 +-
>>>    .../arm/arm,coresight-dynamic-funnel.yaml     | 126 ++++++
>>>    .../arm/arm,coresight-dynamic-replicator.yaml | 126 ++++++
>>>    .../bindings/arm/arm,coresight-etb10.yaml     |  92 ++++
>>>    .../bindings/arm/arm,coresight-etm.yaml       | 156 +++++++
>>>    .../arm/arm,coresight-static-funnel.yaml      |  89 ++++
>>>    .../arm/arm,coresight-static-replicator.yaml  |  90 ++++
>>>    .../bindings/arm/arm,coresight-stm.yaml       | 101 +++++
>>>    .../bindings/arm/arm,coresight-tmc.yaml       | 131 ++++++
>>>    .../bindings/arm/arm,coresight-tpiu.yaml      |  91 ++++
>>>    .../arm/arm,embedded-trace-extension.yaml     |   1 -
>>>    .../devicetree/bindings/arm/coresight.txt     | 402 ------------------
>>>    Documentation/trace/coresight/coresight.rst   |   2 +-
>>>    MAINTAINERS                                   |   3 +-
>>>    15 files changed, 1106 insertions(+), 408 deletions(-)
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-dynamic-replicator.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-etb10.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-tmc.yaml
>>>    create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-tpiu.yaml
>>>    delete mode 100644 Documentation/devicetree/bindings/arm/coresight.txt
>>>
>>
>> ...
>>
>>> diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml
>>> new file mode 100644
>>> index 000000000000..e0377ce48537
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml
>>> @@ -0,0 +1,156 @@
>>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/arm/arm,coresight-etm.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Arm CoreSight Embedded Trace MacroCell
>>> +
>>> +maintainers:
>>> +  - Mathieu Poirier <mathieu.poirier@linaro.org>
>>> +  - Mike Leach <mike.leach@linaro.org>
>>> +  - Leo Yan <leo.yan@linaro.org>
>>> +  - Suzuki K Poulose <suzuki.poulose@arm.com>
>>> +
>>> +description: |
>>> +  CoreSight components are compliant with the ARM CoreSight architecture
>>> +  specification and can be connected in various topologies to suit a particular
>>> +  SoCs tracing needs. These trace components can generally be classified as
>>> +  sinks, links and sources. Trace data produced by one or more sources flows
>>> +  through the intermediate links connecting the source to the currently selected
>>> +  sink.
>>> +
>>> +  The Embedded Trace Macrocell (ETM) is a real-time trace module providing
>>> +  instruction and data tracing of a processor.
>>> +
>>> +select:
>>> +  properties:
>>> +    compatible:
>>> +      contains:
>>> +        enum:
>>> +          - arm,coresight-etm3x
>>> +          - arm,coresight-etm4x
>>> +          - arm,coresight-etm4x-sysreg
>>> +  required:
>>> +    - compatible
>>> +
>>> +allOf:
>>> +  - if:
>>> +      not:
>>> +        properties:
>>> +          compatible:
>>> +            contains:
>>> +              const: arm,coresight-etm4x-sysreg
>>> +    then:
>>> +      $ref: /schemas/arm/primecell.yaml#
>>> +      required:
>>> +        - reg
> 
> 
> ^^^^
> 
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - description:
>>> +          Embedded Trace Macrocell with memory mapped access.
>>> +        items:
>>> +          - enum:
>>> +              - arm,coresight-etm3x
>>> +              - arm,coresight-etm4x
>>> +          - const: arm,primecell
>>> +      - description:
>>> +          Embedded Trace Macrocell (version 4.x), with system register access only
>>> +        const: arm,coresight-etm4x-sysreg
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>
>> The register field is mandatory for everything, except
>> arm,coresight-etm4x-sysreg. Is there a way to enforce that
>> selectively for the others ?
> 
> Yes, that's what it is doing up above that I flagged.
> 

Thanks for the claritification.

...

>>> diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml
>>> new file mode 100644
>>> index 000000000000..905008faa012
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/arm/arm,coresight-stm.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-stm.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Arm CoreSight System Trace MacroCell
>>> +
>>> +maintainers:
>>> +  - Mathieu Poirier <mathieu.poirier@linaro.org>
>>> +  - Mike Leach <mike.leach@linaro.org>
>>> +  - Leo Yan <leo.yan@linaro.org>
>>> +  - Suzuki K Poulose <suzuki.poulose@arm.com>
>>> +
>>> +description: |
>>> +  CoreSight components are compliant with the ARM CoreSight architecture
>>> +  specification and can be connected in various topologies to suit a particular
>>> +  SoCs tracing needs. These trace components can generally be classified as
>>> +  sinks, links and sources. Trace data produced by one or more sources flows
>>> +  through the intermediate links connecting the source to the currently selected
>>> +  sink.
>>> +
>>> +  The STM is a trace source that is integrated into a CoreSight system, designed
>>> +  primarily for high-bandwidth trace of instrumentation embedded into software.
>>> +  This instrumentation is made up of memory-mapped writes to the STM Advanced
>>> +  eXtensible Interface (AXI) slave, which carry information about the behavior
>>> +  of the software.
>>> +
>>> +select:
>>> +  properties:
>>> +    compatible:
>>> +      contains:
>>> +        const: arm,coresight-stm
>>> +  required:
>>> +    - compatible
>>> +
>>> +allOf:
>>> +  - $ref: /schemas/arm/primecell.yaml#
>>> +
>>> +properties:
>>> +  compatible:
>>> +    items:
>>> +      - const: arm,coresight-stm
>>> +      - const: arm,primecell
>>> +
>>> +  reg:
>>> +    maxItems: 2
>>
>> stm-stimulus-base is mandatory for stm. So I believe, we should add
>>
>> 	minItems: 2
>> above ?
> 
> That's the default if not explicit.

Ok. So, with the above explanation, ( with gratitude )

Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>

  reply	other threads:[~2022-06-27 22:04 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-03  1:19 [PATCH v2 0/3] dt-bindings: Arm CoreSight binding schema conversions Rob Herring
2022-06-03  1:19 ` [PATCH v2 1/3] dt-bindings: arm: Rename Coresight filenames to match compatible Rob Herring
2022-06-03  1:19 ` [PATCH v2 2/3] dt-bindings: arm: Convert CoreSight bindings to DT schema Rob Herring
2022-06-20 17:17   ` Suzuki K Poulose
2022-06-27 20:11     ` Rob Herring
2022-06-27 21:55       ` Suzuki K Poulose [this message]
2022-06-03  1:19 ` [PATCH v2 3/3] dt-bindings: arm: Convert CoreSight CPU debug " Rob Herring
2022-06-27 21:56   ` Suzuki K Poulose
2022-06-20 16:55 ` [PATCH v2 0/3] dt-bindings: Arm CoreSight binding schema conversions Mathieu Poirier
2022-06-28 18:01   ` Rob Herring
2022-06-29 16:28     ` Mathieu Poirier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2cb087fe-21d8-7513-4e55-b836d7086a1c@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.org \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®