Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp219433imm; Wed, 3 Oct 2018 14:54:06 -0700 (PDT) X-Google-Smtp-Source: ACcGV60qqU8Q+5eMqSC+PuFzGjIFEs+uq8CxWCahn1fcV5O5d4nBWiyctpvBbTZTIjQoP70VIkst X-Received: by 2002:a62:670a:: with SMTP id b10-v6mr3546551pfc.243.1538603646456; Wed, 03 Oct 2018 14:54:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538603646; cv=none; d=google.com; s=arc-20160816; b=xAB42r4y0UITkXrNbm5liIQf9MX2n50y+JuRXimHqCUNShh7XDB9+Zd1gOxy4TTpMm CJQpOg7ixwu8/l9Y+MWyBouaVd4zBVK15U+nMVX5QP9ZcZmvG8z9zKMIVgCTGitp27nB KF6Z/aB+vT2jpTrHT+UuHKQddT1akrZqw3Mu0hHbbhbFBeuP0cCSFxyugUhJe2FPU9n7 dCoN4pUjPsJAT5FHS8K0IR8BVkKVQIjlByzy6s/4TIwXyKi9HoIJxUtnp7xLUgSk051Z ovd3pD0VPOa0LP8G/eVf7/z+n5Q3PXPlW+mocVypaXrVVNnY4iWu8XDAjk/w1Ny1JLtu Z3dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=KHXzlX7JqZoWkOs83Z8eqDiRlfjlpaRldWOBCio/AXM=; b=qPLSahGpHwfBeypPeOOxT4OHeH2qrISPw54EgD8PvbBzkIPCGBIVeX8l5jouHeaRBA duXX1JXl9QFo4OIgaXTCcCFLhJzHR9KlsZ0waRXWe2jkcpnc1uLg/tY9VzVjwcFPSmzb SW7vSOQzsOhJbivZthqmogJ9CQsWjVVV1ftLZbqvtp8He971qhJ7J/pa9vwJt/F1IWtR Eg4cyqqz76J38qOO46hgkUeT/VD+TDq/aaVfxBOOXUCmccncijpveJTU+H+xox//9HU5 zV7YPKknQcLcI9w60v8YJe41sBDgXPUwAxI7+U0G3g5FDQaE9eW3xZ+B64IWWXGglLYV p66A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fG8FKqVL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s6-v6si835371pgc.133.2018.10.03.14.53.50; Wed, 03 Oct 2018 14:54:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fG8FKqVL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726485AbeJDEn6 (ORCPT + 99 others); Thu, 4 Oct 2018 00:43:58 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:37193 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725723AbeJDEn6 (ORCPT ); Thu, 4 Oct 2018 00:43:58 -0400 Received: by mail-lj1-f194.google.com with SMTP id 63-v6so6542444ljs.4; Wed, 03 Oct 2018 14:53:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KHXzlX7JqZoWkOs83Z8eqDiRlfjlpaRldWOBCio/AXM=; b=fG8FKqVLyVwGOoFu7qELNquP/FrmauXiipRUhV++NgYkiOpXM4ExTARiimfxRxOv9j alqpbQZzauwgEdCAtyWkBZVG5VxS2nh/Cry2F5i1uT+bKnPdhycrPRj2S+MhCjWcrS8b DLlLq9UcJy+/b9NWRagieKQ1FEg6vEJvRg73G2pbBtt7Gs9yzhO1wehATBeOkPnPzsdy WLTGJ7V5tIn30VNDgItjTJ378G57JmXxIqYk1QFvJ3N/3NlvtsudU6yYDzwq/Jb4kN+3 6zVIGnGPfAOiaTPjfbnwd7Ogf2ce8PEWhWRwYwbkfAnHoHo2Y7BhY0m/z19SDswk/nw3 S48Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KHXzlX7JqZoWkOs83Z8eqDiRlfjlpaRldWOBCio/AXM=; b=p2o7QVEwXX/S/qpetS+F7OKET9r7Z3HEIVnnlzybXtZOLn1VXQRneo1nlfjd3kGcHi FLpkcrmgOf3BrrUSWkRgtJ7nOKHLoI0kZNb8GPMwe03mmw6af96NU9bKjyHoObIwGJLY 2Q9wEoCPVIkcN4h9yWONR68Wtx0EVAfVfAtaPfIK9BcuUTmd39C/OxqlRUbMD2RrZniM u3YbVy+brOqNxkI4IvoSgvGMZqEY9yFz+0ktyRjj9LqSXvdePfSwllGEWWQ0bNkJLcjO kMX3qVCFoHXYty5DZeSTs0BtjB93UGF8gOFWQrOpEpfOSiyhqHSAngJuOKx/GuderLdu jyEg== X-Gm-Message-State: ABuFfoiJwRPa7HLKTduTPJL2IGznys9OXfYT7KFnC3GMM6x1OwiSbrpt UI9tqBdozU4r88cltrz4QGJEHXesnGYaG1wcOIY= X-Received: by 2002:a2e:8919:: with SMTP id d25-v6mr2491047lji.69.1538603623912; Wed, 03 Oct 2018 14:53:43 -0700 (PDT) MIME-Version: 1.0 References: <20181003193859.23928-1-ricardo.ribalda@gmail.com> <20181003193859.23928-7-ricardo.ribalda@gmail.com> <20181003232702.4c18e725@bbrezillon> In-Reply-To: <20181003232702.4c18e725@bbrezillon> From: Ricardo Ribalda Delgado Date: Wed, 3 Oct 2018 23:53:27 +0200 Message-ID: Subject: Re: [PATCH v5 7/8] dt-binding: mtd: Document gpio-addr-flash To: Boris Brezillon Cc: David Woodhouse , Brian Norris , Marek Vasut , Richard Weinberger , Zhouyang Jia , linux-mtd@lists.infradead.org, LKML , devicetree@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Boris On Wed, Oct 3, 2018 at 11:27 PM Boris Brezillon wrote: > > On Wed, 3 Oct 2018 21:38:58 +0200 > Ricardo Ribalda Delgado wrote: > > > Add documentation for gpio-addr-flash. This binding allow creating > > flash devices that are paged using GPIOs. > > > > Cc: devicetree@vger.kernel.org > > Reviewed-by: Rob Herring > > Signed-off-by: Ricardo Ribalda Delgado > > --- > > .../bindings/mtd/gpio-addr-flash.txt | 54 +++++++++++++++++++ > > 1 file changed, 54 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mtd/gpio-addr-flash.txt > > > > diff --git a/Documentation/devicetree/bindings/mtd/gpio-addr-flash.txt b/Documentation/devicetree/bindings/mtd/gpio-addr-flash.txt > > new file mode 100644 > > index 000000000000..5006a26e1753 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mtd/gpio-addr-flash.txt > > @@ -0,0 +1,54 @@ > > +Memory Mapped flash with some address lines addressed using GPIOs > > + > > +Handle the case where a flash device is mostly addressed using physical > > +line and supplemented by GPIOs. This way you can hook up say a 8MiB flash > > +to a 2MiB memory range and use the GPIOs to select a particular range. > > + > > + - compatible : "cfi-gpio-addr-flash" > > + - reg : Address range of the mtd chip that is memory mapped, this is, > > + on the previous example 2MiB. > > + - bank-width : Width (in bytes) of the bank. Equal to the > > + device width times the number of interleaved chips. > > + - gpios: List of GPIO specifiers that will be used to address the MSBs address > > + lines. The order goes from LSB to MSB. > > + - probe-type : (optional) "cfi_probe", "jedec_probe". How the mtd chip > > + is going to be probed. If omitted, assumed to be equal to "cfi_probe". > > Looks like other bindings are encoding the probe type in the > compatible [1][2], and we should probably follow what's been done by > others. If I understood it right, they are special cases of physmap_of_core.c https://elixir.bootlin.com/linux/v4.18.11/source/drivers/mtd/maps/physmap_of_core.c#L242 The driver that handles the compatible is physmap_of_core.c, and afaik multiple drivers with the same compatible string is a very bad idea. We can convert the driver to something like Versatile or gemini, but then we will not support platform devices btw, the binding that I am used is used by: https://elixir.bootlin.com/linux/v4.18.11/source/drivers/mtd/maps/physmap_of_core.c#L91 Yes, I know is obsolete Tomorrow morning I will try to address your comments, test in hw and resend Thanks > > > + - #address-cells, #size-cells : Must be present if the device has > > + sub-nodes representing partitions (see below). In this case > > + both #address-cells and #size-cells must be equal to 1. > > + > > +The device tree may optionally contain sub-nodes describing partitions of the > > +address space. Check partition.txt for more details. > > + > > +Example: > > + > > + flash@300000 { > > + #address-cells = <1>; > > + #size-cells = <1>; > > You should not have the #address-cells and #size-cells props defined at > this level, it's done in the partitions node already. > > > + compatible = "cfi-gpio-addr-flash"; > > + bank-width = <2>; > > + reg = < 0x00300000 0x00200000 >; > > + gpios = <&gpio_0 3 0>, <&gpio_0 4 0>; > > + partitions { > > + compatible = "fixed-partitions"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + > > + partition@0 { > > + reg = < 0x0 0x200000 >; > > + label = "Golden Bitstream"; > > + }; > > + partition@200000 { > > + reg = < 0x200000 0x200000 >; > > + label = "User Bitstream"; > > + }; > > + partition@400000 { > > + reg = < 0x400000 0x200000 >; > > + label = "V4L Controls"; > > + }; > > + partition@600000 { > > + reg = < 0x600000 0x200000 >; > > + label = "Production Data"; > > + }; > > + } > > + } ; > > [1]https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/mtd/cortina,gemini-flash.txt > [2]https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/mtd/arm-versatile.txt -- Ricardo Ribalda