From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiaolei Li Subject: [PATCH v3 0/4] Mediatek MT2712 NAND FLASH Controller driver Date: Mon, 15 May 2017 20:39:35 +0800 Message-ID: <1494851979-14416-1-git-send-email-xiaolei.li@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+glpam-linux-mediatek=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org, computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, yt.shen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org, rogercc.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org List-Id: linux-mediatek@lists.infradead.org The following patch-set adds support for Mediatek MT2712 NAND FLASH Controller. Changes on v3 relative to: -------------------- tree : https://github.com/bbrezillon/linux-0day branch : nand/next commit : 'commit 2b12c057cc2837312001f4fc3a4d89498fb6f463 Author: Kamal Dasu Date: Fri Mar 3 16:16:53 2017 -0500' Patch v3: --------- - separate patches into 4. - rename struct mtk_ecc_devdata and struct mtk_nfc_devdata to struct mtk_ecc_caps and struct mtk_nfc_caps respectively. - add variables const u8 *ecc_strength and u8 num_ecc_strength into struct mtk_ecc_caps, and remove u8 max_ecc_strength. - rename variabl u32 temp in function mtk_ecc_probe to u32 max_eccdata_size. - remove ECC_CNFG_xBIT define, use a for loop to do ecc hw configuration. - remove const u32 *spare_format from struct mtk_nfc_caps, and add variables u8 num_spare_size and u8 pageformat_spare_shift. - remove PAGEFMT_SPARE_ define, use a for loop to do nfc hw configuration. - sort spare size array before setting spare size. - fix coding style issue. Patch v2: --------- - sperate patches into 3. - refine DT bindings documentation about NFC and ECC compatible. - use ecc->devdata->encode_parity_reg0 and ecc->devdata->err_mask directly, but hide them in define. Tests: ------ * ubifs and jffs2 are validated on NAND device MT29F16G08ADBCA by 'dd' command. * all drivers/mtd/tests/* pass. * speed test: eraseblock write speed is 8318 KiB/s eraseblock read speed is 11374 KiB/s page write speed is 8155 KiB/s page read speed is 11290 KiB/s 2 page write speed is 8217 KiB/s 2 page read speed is 11354 KiB/s erase speed is 116472 KiB/s 2x multi-block erase speed is 352978 KiB/s 4x multi-block erase speed is 359750 KiB/s 8x multi-block erase speed is 361484 KiB/s 16x multi-block erase speed is 364116 KiB/s 32x multi-block erase speed is 364116 KiB/s 64x multi-block erase speed is 364116 KiB/s Xiaolei Li (4): mtd: nand: mediatek: update DT bindings mtd: nand: mediatek: refine register NFI_PAGEFMT setting mtd: nand: mediatek: add support for different MTK NAND FLASH Controller IP mtd: nand: mediatek: add support for MT2712 NAND FLASH Controller Documentation/devicetree/bindings/mtd/mtk-nand.txt | 5 +- drivers/mtd/nand/mtk_ecc.c | 218 ++++++++++----------- drivers/mtd/nand/mtk_ecc.h | 2 +- drivers/mtd/nand/mtk_nand.c | 193 ++++++++++-------- 4 files changed, 219 insertions(+), 199 deletions(-) -- 1.9.1