From patchwork Tue Nov 21 17:38:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 840123 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=nifty.com header.i=@nifty.com header.b="L9UnfELI"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3yhCW215gBz9s8J for ; Wed, 22 Nov 2017 04:38:54 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B8C8DC21F07; Tue, 21 Nov 2017 17:38:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 94DADC21D95; Tue, 21 Nov 2017 17:38:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 035EAC21D95; Tue, 21 Nov 2017 17:38:47 +0000 (UTC) Received: from conuserg-07.nifty.com (conuserg-07.nifty.com [210.131.2.74]) by lists.denx.de (Postfix) with ESMTPS id BE6B6C21C29 for ; Tue, 21 Nov 2017 17:38:46 +0000 (UTC) Received: from grover.sesame (FL1-125-199-20-195.osk.mesh.ad.jp [125.199.20.195]) (authenticated) by conuserg-07.nifty.com with ESMTP id vALHcbto001225; Wed, 22 Nov 2017 02:38:38 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-07.nifty.com vALHcbto001225 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1511285918; bh=q+WylLJ8Y18Gm2RMO3bZtoNnn40H2+X8L4YrFBbmdZg=; h=From:To:Cc:Subject:Date:From; b=L9UnfELIXSsNo+DiDFofpbdqztV2QxlXpUop8IXAtwxcxiuvRF8bBtVfx+GIR2cv0 Y9RUpt330TRjVB9oJDj2I0fgQy+lVVBJbg8p23xQj1d8uysoiLK6OoWZClXWqLzLHh 6dLOpECMnd31MmeZD9nq+5o/WkiKBvAiYAPFvMpXhpS5pXnvKLSlKG73TaLes8gW4x Xd/bOjRfGOaPS9gRKZpv1COZEm6JqvP4Eij2slnU656bMWDw0XnaNraLXUUiM4IwsV xP+NqOfEGyZHBrw73s/X0OQ8ptns1a85yo5b3GWDHY+WY1aX0orpZVFUOBtjqq1r6o ElzpBNDz7ggdA== X-Nifty-SrcIP: [125.199.20.195] From: Masahiro Yamada To: u-boot@lists.denx.de Date: Wed, 22 Nov 2017 02:38:10 +0900 Message-Id: <1511285912-12452-1-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 Cc: Scott Wood Subject: [U-Boot] [PATCH 00/22] mtd: nand: imports NAND core updates from Linux 4.15-rc1 and sync Denali driver X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" My motivation is to complete syncing the Denali driver with Linux. However, the last sync of NAND core was Linux 4.6 so a lots of parts are missing in U-Boot. I imported the following: - NAND_ECC_MAXIMIZE flag - nand_data_interface - sync nand_timings - NAND_ECC_CUSTOM_PAGE_ACCESS - mtd_ooblayout_xxx() - chip->buf_align - helpers to match ECC requirement - NAND_ROW_ADDR_3 The blind syncing often broke drivers. Forcible syncing often broke drivers in the past. This time, I imported necessary commits one by one. I put the corresponding commit ID in Linux. And, it should be easy to review that the existing drivers are not affected. Lastly, I updated the Denali driver. I tested it on my boards and worked for me. It is nicely synced with Linux. Boris Brezillon (9): mtd: nand: Add an option to maximize the ECC strength mtd: nand: automate NAND timings selection mtd: nand: Fix data interface configuration logic mtd: nand: Add a few more timings to nand_sdr_timings mtd: add mtd_ooblayout_xxx() helper functions mtd: nand: Drop unused cached programming support mtd: nand: Drop the ->errstat() hook mtd: nand: Wait for PAGEPROG to finish in drivers setting NAND_ECC_CUSTOM_PAGE_ACCESS mtd: nand: Pass the CS line to ->setup_data_interface() Marc Gonzalez (1): mtd: nand: Support controllers with custom page Masahiro Yamada (7): bitops: collect BIT macros to include/linux/bitops.h mtd: nand: add onfi_* stubs in case ONFI_DETECTION is disabled mtd: nand: allow drivers to request minimum alignment for passed buffer mtd: nand: add generic helpers to check, match, maximize ECC settings mtd: nand: add a shorthand to generate nand_ecc_caps structure mtd: nand: introduce NAND_ROW_ADDR_3 flag mtd: nand: denali: sync with Linux 4.15-rc1 Sascha Hauer (5): mtd: nand: remove unnecessary 'extern' from function declarations mtd: nand: Create a NAND reset function mtd: nand: Introduce nand_data_interface mtd: nand: convert ONFI mode into data interface mtd: nand: Expose data interface for ONFI mode 0 arch/arm/include/asm/arch-sunxi/dram_sunxi_dw.h | 3 +- arch/arm/mach-kirkwood/include/mach/gpio.h | 4 - drivers/gpio/kw_gpio.c | 2 +- drivers/mtd/mtdcore.c | 360 ++++ drivers/mtd/nand/Kconfig | 11 - drivers/mtd/nand/davinci_nand.c | 10 +- drivers/mtd/nand/denali.c | 2028 ++++++++++++----------- drivers/mtd/nand/denali.h | 473 ++---- drivers/mtd/nand/denali_dt.c | 17 +- drivers/mtd/nand/denali_spl.c | 14 +- drivers/mtd/nand/nand_base.c | 530 +++++- drivers/mtd/nand/nand_timings.c | 494 +++--- include/linux/bitops.h | 7 + include/linux/mtd/mtd.h | 57 + include/linux/mtd/nand.h | 314 +++- include/usb/lin_gadget_compat.h | 4 +- 16 files changed, 2685 insertions(+), 1643 deletions(-)