All of lore.kernel.org
 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>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
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 21:56 UTC|newest]

Thread overview: 22+ 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 ` 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   ` Rob Herring
2022-06-03  1:19 ` [PATCH v2 2/3] dt-bindings: arm: Convert CoreSight bindings to DT schema Rob Herring
2022-06-03  1:19   ` Rob Herring
2022-06-20 17:17   ` Suzuki K Poulose
2022-06-20 17:17     ` Suzuki K Poulose
2022-06-27 20:11     ` Rob Herring
2022-06-27 20:11       ` Rob Herring
2022-06-27 21:55       ` Suzuki K Poulose [this message]
2022-06-27 21:55         ` Suzuki K Poulose
2022-06-03  1:19 ` [PATCH v2 3/3] dt-bindings: arm: Convert CoreSight CPU debug " Rob Herring
2022-06-03  1:19   ` Rob Herring
2022-06-27 21:56   ` Suzuki K Poulose
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-20 16:55   ` Mathieu Poirier
2022-06-28 18:01   ` Rob Herring
2022-06-28 18:01     ` Rob Herring
2022-06-29 16:28     ` Mathieu Poirier
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.