From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDA79C433E9 for ; Mon, 25 Jan 2021 23:30:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id AEF5B229C4 for ; Mon, 25 Jan 2021 23:30:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732894AbhAYXaQ (ORCPT ); Mon, 25 Jan 2021 18:30:16 -0500 Received: from foss.arm.com ([217.140.110.172]:37928 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732876AbhAYX3X (ORCPT ); Mon, 25 Jan 2021 18:29:23 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CBE6CD6E; Mon, 25 Jan 2021 15:28:18 -0800 (PST) Received: from [10.57.40.145] (unknown [10.57.40.145]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B84673F68F; Mon, 25 Jan 2021 15:28:16 -0800 (PST) Subject: Re: [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE From: Suzuki K Poulose To: Rob Herring , Anshuman Khandual Cc: linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org, mathieu.poirier@linaro.org, mike.leach@linaro.org, Linu Cherian , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org References: <1610511498-4058-1-git-send-email-anshuman.khandual@arm.com> <1610511498-4058-7-git-send-email-anshuman.khandual@arm.com> <20210125192253.GA791043@robh.at.kernel.org> <9417218b-6eda-373b-a2cb-869089ffc7cd@arm.com> Message-ID: <1528d7ce-6765-7adf-3e24-6da1a705331d@arm.com> Date: Mon, 25 Jan 2021 23:28:10 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <9417218b-6eda-373b-a2cb-869089ffc7cd@arm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/25/21 10:20 PM, Suzuki K Poulose wrote: > Hi Rob > > On 1/25/21 7:22 PM, Rob Herring wrote: >> On Wed, Jan 13, 2021 at 09:48:13AM +0530, Anshuman Khandual wrote: >>> From: Suzuki K Poulose >>> >>> Document the device tree bindings for Embedded Trace Extensions. >>> ETE can be connected to legacy coresight components and thus >>> could optionally contain a connection graph as described by >>> the CoreSight bindings. >>> >>> Cc: devicetree@vger.kernel.org >>> Cc: Mathieu Poirier >>> Cc: Mike Leach >>> Cc: Rob Herring >>> Signed-off-by: Suzuki K Poulose >>> Signed-off-by: Anshuman Khandual >>> --- >>>   Documentation/devicetree/bindings/arm/ete.yaml | 71 ++++++++++++++++++++++++++ >>>   1 file changed, 71 insertions(+) >>>   create mode 100644 Documentation/devicetree/bindings/arm/ete.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/arm/ete.yaml >>> b/Documentation/devicetree/bindings/arm/ete.yaml >>> new file mode 100644 >>> index 0000000..00e6a77 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/arm/ete.yaml >>> @@ -0,0 +1,71 @@ >>> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause >>> +# Copyright 2021, Arm Ltd >>> +%YAML 1.2 >>> +--- >>> +$id: "http://devicetree.org/schemas/arm/ete.yaml#" >>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#" >>> + >>> +title: ARM Embedded Trace Extensions >>> + >>> +maintainers: >>> +  - Suzuki K Poulose >>> +  - Mathieu Poirier >>> + >>> +description: | >>> +  Arm Embedded Trace Extension(ETE) is a per CPU trace component that >>> +  allows tracing the CPU execution. It overlaps with the CoreSight ETMv4 >>> +  architecture and has extended support for future architecture changes. >>> +  The trace generated by the ETE could be stored via legacy CoreSight >>> +  components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer >>> +  Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to >>> +  legacy CoreSight components, a node must be listed per instance, along >>> +  with any optional connection graph as per the coresight bindings. >>> +  See bindings/arm/coresight.txt. >>> + >>> +properties: >>> +  $nodename: >>> +    pattern: "^ete([0-9a-f]+)$" >>> +  compatible: >>> +    items: >>> +      - const: arm,embedded-trace-extension >>> + >>> +  cpu: >> >> We use 'cpus' in a couple of other places, let's do that here for >> consistency. > > This is following the existing CoreSight bindings for ETM. The same driver > probes both. Also there can only ever be a single CPU for ete/etm. So, we > would prefer to keep it aligned with the existing bindings to avoid causing > confusion. > >> >>> +    description: | >>> +      Handle to the cpu this ETE is bound to. >>> +    $ref: /schemas/types.yaml#/definitions/phandle >>> + >>> +  out-ports: >>> +    description: | >>> +      Out put connections from the ETE to legacy CoreSight trace bus. >> >> Output > > Will fix. > >> >>> +    $ref: /schemas/graph.yaml#/properties/ports >> >> You have to define what each 'port' is if there can be more than 1. If >> there's only ever 1 then you just need 'port' though maybe all the >> coresight bindings require 'out-ports'. And the port nodes need a $ref >> to '/schemas/graph.yaml#/properties/port'. > > All CoreSight components require an out-ports and/or in-ports. The ETM/ETE > always has one port, but must be under out-ports in line with the CoreSight > bindings. > > Does this look more apt: > >    out-ports: >      description: | >        Output connection from the ETE to legacy CoreSight trace bus. >      poperties: >         port: >           $ref: /schemas/graph.yaml#/properties/port Correction, the above should be : + out-ports: + type: object + description: | + Output connections from the ETE to legacy CoreSight trace bus. + properties: + port: + $ref: /schemas/graph.yaml#/properties/port That works fine for me. Does that look fine ? Some day, we should convert the coresight dt bindings to yaml and import the out-ports/in-ports from the scheme :-) Cheers Suzuki