Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1128217ybz; Thu, 16 Apr 2020 03:29:34 -0700 (PDT) X-Google-Smtp-Source: APiQypJMTaDz9Tz+MKRHNP7P5IN6yHKHtdKUVHq4HkgZ5Hp5cJzUge/KEJO7xJBdveJpIodN08mk X-Received: by 2002:a50:9f85:: with SMTP id c5mr14791569edf.278.1587032974094; Thu, 16 Apr 2020 03:29:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587032974; cv=none; d=google.com; s=arc-20160816; b=LFOYTMqPEBkquHpSGyJ6C4uU5uKnvrV8UgoCYCtpJXW8YkWSh6EwIEoh7EECRbcJxE XXGPq/5VFSJEuE9UvePezs6ysCVNz0/xiTrp5PP9es8Om+0zwgdYpWuSyl3kN/hCT9l+ 0Rm5DGWffVy6O+XbtCFhaaZc97YfLzBYvwHvUDI6sPFxLRxYiiR+tduWLv7+qmG89Rok Dgt3APs5iobD38zOe00Mt4qeHkFgM9gNDXT37ZrMXAUicRrpD1o13+MMHuHpt5ucGddo MAlENrKdoI5NqFupjhXJ9nHR8Ee8dHb+6O6MIdtgZx64KjMTr7owlweAdr+v2mtI09p2 wiqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=rjOA8RFuCPpVPYO9v9450TL0LDckrKOV2xdcTMjjeoI=; b=aOTXGubudUP2RyQ9iQ6Ex4jekfSfibuW55ctmnD/cBhpFYgIT8kNgaxl6l3ZQEPkKa xVXEPwfBMwMPqqqqQZlx4fCV/pF+NuXt2OYttn0mmGxVsWDh86Cy4TtfRotuNFvnC1dr d6og+qIMHJRL7EgcNUSi+vwok3AjIWctQhiBLKStHzo8urasP+X4EmJU4gIe2axKz9Hj AJrq8KMrFjrmv3ii+NEJctokPVY52exaKH4uchRutfb+12TfsbrmCA7pQd42rX4EalSl SBQK5586GwxfAcydgkWuAm4HLCzfZpmK3wKjs2szIPc+aCcFBM/xUjypqtcIaRYE/SCb 37hg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id by26si3815340edb.144.2020.04.16.03.29.08; Thu, 16 Apr 2020 03:29:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2504911AbgDPK1j (ORCPT + 99 others); Thu, 16 Apr 2020 06:27:39 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:38016 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2504681AbgDPK00 (ORCPT ); Thu, 16 Apr 2020 06:26:26 -0400 Received: from localhost (unknown [IPv6:2a01:e0a:2c:6930:5cf4:84a1:2763:fe0d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: bbrezillon) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 7C98B2A1375; Thu, 16 Apr 2020 11:26:23 +0100 (BST) Date: Thu, 16 Apr 2020 12:26:19 +0200 From: Boris Brezillon To: "Ramuthevar, Vadivel MuruganX" Cc: Martin Blumenstingl , anders.roxell@linaro.org, andriy.shevchenko@intel.com, arnd@arndb.de, brendanhiggins@google.com, cheol.yong.kim@intel.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, masonccyang@mxic.com.tw, miquel.raynal@bootlin.com, piotrs@cadence.com, qi-ming.wu@intel.com, richard@nod.at, robh+dt@kernel.org, tglx@linutronix.de, vigneshr@ti.com Subject: Re: [PATCH v1 2/2] mtd: rawnand: Add NAND controller support on Intel LGM SoC Message-ID: <20200416122619.2c481792@collabora.com> In-Reply-To: <18568cf6-2955-472e-7b68-eb35e654a906@linux.intel.com> References: <20200414022433.36622-3-vadivel.muruganx.ramuthevar@linux.intel.com> <20200415220533.733834-1-martin.blumenstingl@googlemail.com> <20200416113822.2ef326cb@collabora.com> <18568cf6-2955-472e-7b68-eb35e654a906@linux.intel.com> Organization: Collabora X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 16 Apr 2020 17:45:49 +0800 "Ramuthevar, Vadivel MuruganX" wrote: > >>>> From: Ramuthevar Vadivel Murugan > >>>> > >>>> This patch adds the new IP of Nand Flash Controller(NFC) support > >>>> on Intel's Lightning Mountain(LGM) SoC. > >>>> > >>>> DMA is used for burst data transfer operation, also DMA HW supports > >>>> aligned 32bit memory address and aligned data access by default. > >>>> DMA burst of 8 supported. Data register used to support the read/write > >>>> operation from/to device. > >>> I am wondering how this new hardware is different from the Lantiq NAND > >>> controller IP - for which there is already a driver in mainline (it's > >>> in drivers/mtd/nand/raw/xway_nand.c). > >>> The CON and WAIT registers look suspiciously similar. > >>> > >>> As far as I understand the "old" SoCs (VRX200 and earlier) don't have > >>> a built-in ECC engine. This seems to have changed with ARX300 though > >>> (again, AFAIK). > >>> > >>> A bit of lineage on these SoCs (initially these were developed by > >>> Infineon. Lantiq then started as an Infineon spin-off in 2009 and > >>> was then acquired by Intel in 2015): > >>> - Danube > >>> - ARX100 from 2008/2009 > >>> - VRX200 from 2009/2010 > >>> - ARX300 from 2014 > >>> - GRX350 from 2015/2016 > >>> - GRX550 from 2017 > >>> - and now finally: LGM from 2020 (est.) > >>> > >>> The existing xway_nand driver supports the Danube, ARX100 and VRX200 > >>> SoCs. > >> Lantiq upstreamed a driver for an older version of this IP core 8 years > >> ago, see here: > >> https://elixir.bootlin.com/linux/v5.5.6/source/drivers/mtd/nand/raw/xway_nand.c > >> It does not support DMA and ECC. > > Then let's just extend this driver to support the new features. Plus, > We do not have the platform to test also it's very old legacy driver . Well, if it's similar enough, we want to have one driver. > > we'll be happy to have one more of the existing driver converted to > > ->exec_op() ;-). > > I have completely adapted to ->exec_op() hook up to replace the legacy > call-back. I suspect porting what you've done to the xway driver shouldn't be too complicated.