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=-14.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS 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 22977C48BCD for ; Wed, 9 Jun 2021 19:37:09 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E65B06136D for ; Wed, 9 Jun 2021 19:37:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E65B06136D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jNkLTl/AFsyFF0ey/K+hkBM1Ve0Ykw57fj9amDBIGZM=; b=lb/4vdrt/E6Ry4 ktKuKWfLGNd6ATX0h0UFBOeKoWz6X6uHBXUWVYUN6UToF6c34KYS6a6lbZU3vzpixSzOELer69DsP rZ6b6LQkfhRO4lPgXDnfnae8KZH9SaQYXj4Miic01NTArMDWMEy57aapQnCPcVl1aJ04oFuPlLOnK oXKr+oF6x3fTqU9DkythSHzYNiIbXKA3KmzWZ/A1B71aodo8idsgWCo0RG11NpIfS2oUY7tg1Ase1 pGTLMSLmtGQXGWRf5oP3yIzFjv4kxEGCNz3WMyNXvDW/GVC3k+1uioQvROSc/mByDg8wtAL+ROSTv 94FMD4sEsnp78Ko8yiPg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lr3z5-00Fi6L-F7; Wed, 09 Jun 2021 19:35:27 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lr3z1-00Fi5Z-JY; Wed, 09 Jun 2021 19:35:25 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3EADF61287; Wed, 9 Jun 2021 19:35:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623267323; bh=Rb8w6UjuDMmlZuyHx9Ur9fRekoEfzLMt84rAQy0iXAg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=j/Jselrgx3+ysGSiAxb5+FZNXYl81L/la3bNgHVIUoq28TUs/IUzpm2xR9irO4fB9 d4uriMHZ+5TkxEOL3mHMy6YtM7Om/wix2c/rYJvo442T0SLuBi6oyZFdxTOKMCfAX6 BsOKsNHEy6OI+aVkm/wFxvN3kaszNbj0rS/Rw3TLkWNx6uKy7jt6svGk1NwhG7bQTI MeHiotEaHSMgZt2NFF2efMQN3ZHYRBah1zq8Za13JkTie1sM1L5ps4req3LLbhkLOC Ji9wMyQM7U6v5yHLY80smLdOHsmvTS/75Vjw2fCh7rqI7WHniSiTM76y1b5PFLtUT9 MtLB7gcgrXIuQ== Received: by mail-ed1-f54.google.com with SMTP id cb9so29891779edb.1; Wed, 09 Jun 2021 12:35:23 -0700 (PDT) X-Gm-Message-State: AOAM531XGHEGP066vQBU5lM1fDLPK6t6A1zfujrW21AmWj6r8+pFbYO7 +G/rzaqqIgPaxOMpEi86KLyU2SSr5yDooObYNw== X-Google-Smtp-Source: ABdhPJyQAe9Rk2VNHsqANmo9SGouwrqZPoV3pKjW0S+0nYq4rEDtuK7M3muw2U4Jeg0hIGlfxhB7E+efgIo9NtqqWR4= X-Received: by 2002:a05:6402:1911:: with SMTP id e17mr1030756edz.62.1623267321741; Wed, 09 Jun 2021 12:35:21 -0700 (PDT) MIME-Version: 1.0 References: <20210609080112.1753221-1-miquel.raynal@bootlin.com> <20210609080112.1753221-10-miquel.raynal@bootlin.com> <20210609153410.53eadf8e@xps13> In-Reply-To: <20210609153410.53eadf8e@xps13> From: Rob Herring Date: Wed, 9 Jun 2021 14:35:10 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v22 09/18] dt-binding: memory: pl353-smc: Convert to yaml To: Miquel Raynal Cc: Krzysztof Kozlowski , Richard Weinberger , Vignesh Raghavendra , Tudor Ambarus , MTD Maling List , devicetree@vger.kernel.org, Michal Simek , Naga Sureshkumar Relli , Amit Kumar Mahapatra , Thomas Petazzoni , linux-arm-kernel , "linux-kernel@vger.kernel.org" , Helmut Grohne , Srinivas Goud , Siva Durga Prasad Paladugu X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210609_123523_700396_892EBC25 X-CRM114-Status: GOOD ( 40.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, Jun 9, 2021 at 8:34 AM Miquel Raynal wrote: > > Hi Krzysztof, > > Krzysztof Kozlowski wrote on Wed, 9 > Jun 2021 14:12:40 +0200: > > > On 09/06/2021 10:01, Miquel Raynal wrote: > > > Convert this binding file to yaml schema. > > > > > > Signed-off-by: Miquel Raynal > > > --- > > > .../memory-controllers/arm,pl353-smc.yaml | 133 ++++++++++++++++++ > > > .../bindings/memory-controllers/pl353-smc.txt | 45 ------ > > > 2 files changed, 133 insertions(+), 45 deletions(-) > > > create mode 100644 Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml > > > delete mode 100644 Documentation/devicetree/bindings/memory-controllers/pl353-smc.txt > > > > > > diff --git a/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml > > > new file mode 100644 > > > index 000000000000..1de6f87d4986 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml > > > @@ -0,0 +1,133 @@ > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/memory-controllers/arm,pl353-smc.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: ARM PL353 Static Memory Controller (SMC) device-tree bindings > > > + > > > +maintainers: > > > + - Miquel Raynal > > > + - Naga Sureshkumar Relli > > > + > > > +description: > > > + The PL353 Static Memory Controller is a bus where you can connect two kinds > > > + of memory interfaces, which are NAND and memory mapped interfaces (such as > > > + SRAM or NOR). > > > + > > > +# We need a select here so we don't match all nodes with 'arm,primecell' > > > +select: > > > + properties: > > > + compatible: > > > + contains: > > > + enum: > > > + - arm,pl353-smc-r2p1 > > > > That's a const... but also I don't get the need for select. > > I think this is needed to ensure this binding is not enforced against > arm,primecell compatible nodes which are not featuring the > arm,pl353-smc-r2p1 compatible. > > > > > > + required: > > > + - compatible Ah, required is there already. So only change is using 'const' for single entry. > > > + > > > +properties: > > > + $nodename: > > > + pattern: "^memory-controller@[0-9a-f]+$" > > > + > > > + compatible: > > > + oneOf: > > > + - items: > > > + - enum: > > > + - arm,pl353-smc-r2p1 > > > + - enum: > > > + - arm,primecell > > > > This looks unusual. Basically you change the bindings, because before > > they required "arm,pl353-smc-r2p1", "arm,primecell". > > That is precisely what I try to match and I think it works. Perhaps > this version is easier to extend when a new compatible comes in. > However, I am fine using an alternative formula, like below if you > think it's better: > > compatible: > items: > - const: arm,pl353-smc-r2p1 > - const: arm,primecell Yes, please. > > Don't you want here items: > > - const: ... > > - const: ... > > ? > > > > > + > > > + "#address-cells": > > > + const: 2 > > > + > > > + "#size-cells": > > > + const: 1 > > > + > > > + reg: > > > + items: > > > + - description: configuration registers for the host and sub-controllers > > > > Just maxItems. Description is obvious. > > I don't think it is that obvious because there are actually 4 areas > and, because of the yaml language, we only describe one in the reg > property while the others and defined in the ranges property, but > that's fine by me, I'll drop the description and stick to a > maxItems entry. I think it is worthwhile to state what region this is AND the chip select regions are in 'ranges'. Without the latter part, I agree it seems like a genericish description. > > > > > + > > > + clocks: > > > + items: > > > + - description: the clock for the memory device bus > > > + - description: the main clock of the controller > > > > Isn't apb_pclk the bus clock (so second item below)? > > The SMC has two clock domains referred as aclk and mclk. In the TRM, > aclk is described as "Clock for the AXI domain". The AXI interface is > used to trigger CMD/ADDR/DATA cycles on the memory bus. There is also > an APB interface used to reach the SMC registers. I *think* that > both APB and AXI domains are fed by the same apb_pclk source but I > might be wrong. Hence memclk would just feed the memory bus that bonds > the memory device (eg. the NAND flash) to the host controller. > > This is my current understanding but if you think it works differently > I'm all ears because this part is not 100% clear to me. > > > > + > > > + clock-names: > > > + items: > > > + - const: memclk > > > + - const: apb_pclk > > > > > > > + > > > + ranges: > > > + minItems: 1 > > > + maxItems: 3 > > > + description: | > > > + Memory bus areas for interacting with the devices. Reflects > > > + the memory layout with four integer values following: > > > + 0 > > > + items: > > > + - description: NAND bank 0 > > > + - description: NOR/SRAM bank 0 > > > + - description: NOR/SRAM bank 1 > > > + > > > + interrupts: true > > > + > > > +patternProperties: > > > + ".*@[0-9]+,[0-9]+$": > > > > Match with start ^. I think you cannot have 9 nodes and hex can appear > > in address so maybe: > > "^.*@[0-3],[a-f0-9]+$": > > I think Rob even now prefers to drop the ^.* prefix, but you're right on > the two other points so I'll stick to: > > "@[0-3],[a-f0-9]+$" +1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel