From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753098AbcFJRpn (ORCPT ); Fri, 10 Jun 2016 13:45:43 -0400 Received: from mail-am1on0059.outbound.protection.outlook.com ([157.56.112.59]:48576 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751382AbcFJRpl (ORCPT ); Fri, 10 Jun 2016 13:45:41 -0400 X-Greylist: delayed 907 seconds by postgrey-1.27 at vger.kernel.org; Fri, 10 Jun 2016 13:45:40 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=han.xu@nxp.com; From: Han Xu To: , , , , , , , , , , CC: , Subject: [PATCH v2 5/6] mtd: nand: gpmi: support NAND on i.MX6UL Date: Fri, 10 Jun 2016 12:01:33 -0500 Message-ID: <1465578094-8816-6-git-send-email-han.xu@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1465578094-8816-1-git-send-email-han.xu@nxp.com> References: <1465578094-8816-1-git-send-email-han.xu@nxp.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [192.88.168.49] X-ClientProxiedBy: SN1PR07CA0016.namprd07.prod.outlook.com (10.162.170.154) To VI1PR0401MB1855.eurprd04.prod.outlook.com (10.165.235.21) X-MS-Office365-Filtering-Correlation-Id: ffb4f34c-e93c-4e31-9ac7-08d39150b35d X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1855;2:HIAYhvWm8ZoMSh4FyiNzv1RHeO2awsdSXKuZJbsON6EYjfiaDM0jh8wHGKGNu5qhy2F3EoIzvU/242cT7iLbfzJI105aA6BC0ktdGepuedBPGfq9uBn1r3r4ydEQDjiLyHJRobtPPrET1TOEr5dsX6AbkGHXP54qzQAfAqg/1JYAu6YlGsgVdBjpIPrTZrjA;3:1ucBt9+fVa+FDofm7mQbAhj46fWgek24c7Bdixq5S8FU3QOFaaTXxKJhBZzywIeenWfoiEVNAc/JF2inhwj1HMDYqemdcG43Upn2jLvzNet8XZsvudKUChL9gIhu3s/j;25:2CXoZIbl6GFuBkH7XQDAuE1+V8yun+y/dYXLnC9Ec1NVuhLHUGQL7SlNyWx//a38EmWZkEhFGiSVMK9yk9ym3Bk3X9gRXG0ZgQjkwwDIVQ4QItmKZVimLXVKxe6I+9GMpZgJltr9sL+EqEECrn28DX8l0gkxIM5MMwN1F/7V9SV0K4Rgrmhx3WAiVoW5wZ6Gc8jG33FY33JpYaJS5WvQEHNpLHWodg1AzeG+5O1uL+b3It0dI1SeY1WesHdhf3WLp7KIa0x+0G/uF8MytBBwAgmA7mFB9H3YjTSycedPSMhmY3eMtCpTH4eqyDA6MZ9mmViFGWeaHTativwAyUwb9aFtiE0UHY/PrLX4xj2zf2zKDRgtVC5d2uAtvPPrXMssWeOAxWDe8WA3ywRmshhWVXi7Peoy9R+xbq39k+Np8vo= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0401MB1855; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1855;20:UO5H6jvLfSZzC+euj5aunhI/9vSgJv4qFdDEf26iMnd9lSWf2nrnoEaZQzoGEs7K/ABzgHGDu4kKEhXfiyaVH6qd2lBJ5BYlvlq8oeZ8Xj06Gh2nbFb38reEU/lGEFH1PCYIJlqh94qzqb7kFegzwBwD0Wq+h/avneg9jn2DRF5meBRih1gsDnw/oLXnqIf9TyKbVeonKGHV7zWUWbpQmLPg155rLpg7f46PDDjxOU5uKIME/envFAAalFx2J0iugRUGbylAHq1VB5A1dLE84J7cbuo90V+rp2sTgfTutcsKwewvSmwS3/Dn48pexwqnV2O3o0Lnfs5oAKqjG7SiXBO6wzOJpsXZRmH6+ts8QdkxHiD0hEWg8qZnpMeGCkX1m6gW8rLzKKCEe7+T4abY0b71FuZOL+7itSVCgmsQwoZSo3UATYlHkoclZ09lgEb0ypP2gTLwYwdGkVAWMAYlxknEWqNecWTclyqNpE8HoBTZJwaGuHLaxngajOPnyVNh;4:b94Aq9RnQURb6HsmrffwgvOr+I5PA+lmgVMckLOIMmP/2l8XKMszhfi+BKdzOBsOVBKAe5MmF2i7vw2Br/hSEcejIqG6EeSkwnwKISsuAG6Pr5T/vaQblr+ggHFPbrRq1YVWdzFFqOqM90LXjKoi7Enq2mbh+LKSkJlhqBhEDjpFptEKt+ZcOfjxXC5mOvShm2PqjDdvdmKPnk41+EuoX1gpdapBO8rLCiNZn0wbv6OOcTag1DsATaIVj3dHbE2UyosTWNdzT2zd3k08a/6cfUBA9OPsMTQphM0/AC8i85QzDK5hHE6sZmqM/TAeIW/yFb0YI6+A3LtudtOPBQO/WZQ9KyagtA2qKdY2nU5qLcCzHogAdKc8TIdltzl6NNiVueMvFGMAw12OpA0MjYqDIhSEk2pmCNO8Wbno9/MD9Y6juprJHxBzUGHHhpSYClbB X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:VI1PR0401MB1855;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0401MB1855; X-Forefront-PRVS: 096943F07A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(76176999)(50986999)(77096005)(101416001)(92566002)(19580405001)(2906002)(68736007)(106356001)(586003)(19580395003)(229853001)(5008740100001)(4326007)(105586002)(48376002)(97736004)(6116002)(5001770100001)(8676002)(36756003)(50466002)(81166006)(189998001)(50226002)(47776003)(5003940100001)(81156014)(3846002)(33646002)(2950100001)(2201001)(66066001)(86362001)(42186005)(5004730100002)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0401MB1855;H:Cayman.am.freescale.net;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;CAT:NONE;LANG:en;CAT:NONE; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR0401MB1855;23:+OO6q0BoC+HuO6cqBe+myhOLZWvpGGrmkpTqXPO?= =?us-ascii?Q?ZgBBhePWarOKoCdFjztdogDAKOXxue6OpO/QqE+2kuj8s5TX/NILXyyPMmVU?= =?us-ascii?Q?0sM829jk2H2BUvm2l9gj2RV1WXn5z7k3FTtfhcz7Y0wv/6K1iMxG8/KBw+kJ?= =?us-ascii?Q?ssI/PMmMAZMPonabKtZeFNpd4mLVrqebIWtdtwctcdcDqSOP4bLeCAbrln4w?= =?us-ascii?Q?k46CP8FoiERvflaYp6A03jc/hNLe1Cn3B+odxHW0QJPkm5SlGtm+C+wsRhGz?= =?us-ascii?Q?wIErzo2OQ53mc+qWruMrQLkv4Eu4xKw3bw1oszxCRl1zVN1n69/6UUxG0SI/?= =?us-ascii?Q?X+SorcDFtrOA+6Yo81EjLK6NfoDmnXgOIRwnx529NLlrq2suTfE0sDezaFvX?= =?us-ascii?Q?CC7ZOBDT1ocZ+kWPYiisL98Z6LWspwhtjLgOyZHEXAu4mi0WUu3nMZIFKIee?= =?us-ascii?Q?HHasAm3Y4EM/Sv7nH05UQW2yfU8c3+sONzOus5p5A3Z2ST9axY71/KZIq0PB?= =?us-ascii?Q?f6FKpab0CZ7AZIzOQ66MbGSW5OvlaPlRRK0jDWqLrwvNk55S1qS0uqCO5Vf6?= =?us-ascii?Q?wsjaiT0qot8MNOpYWjuPoDqZsI+GwEWPA3dK/3/85Pa9QTp9H6Jp80wM6OK1?= =?us-ascii?Q?2qv6uUQHQ5ISbcFIS6pixKR1dRhM48xk4v9YpXvW09iwqy5TzTqbHSMhIOz5?= =?us-ascii?Q?c0XIlPDTWr/1JHJPqVshuUnHvxyDvK2M7i21+txOpXieQ2UMmkmDKub08suV?= =?us-ascii?Q?7QqF5NOVvPrmGUipHcWXjiEdLmWB3rOeZj7SeUKSH0DTkbCZZdixSQ6Ov8yj?= =?us-ascii?Q?TW+VvY3OwvoEFAfen+9SI0JWsSCaRJCtzl9K0AlXON+1dDNSNogfjHZ4znfz?= =?us-ascii?Q?6Cgd1h7HC8m88jHh0MVdMUcg7Joba0XtGFdQCZqmCzbr/ttY6Nz+WDxNWIqv?= =?us-ascii?Q?lGMEnKFC9H2CN7ThZ6mC/EERXORKpW7PYUw68duefuN/iPsBqN6+FYh9j1yX?= =?us-ascii?Q?49hiFi9LKaLPnsjav2WiaEAxMzn6zF+UQ4ko6CXyalhIP6ZSomg950qhvjPD?= =?us-ascii?Q?snpI+clLfUjNp54mJ/uQXnk8Ymm8rU9zYnoi1hwQblQo4bHbyBaho6o/UyEL?= =?us-ascii?Q?V7+QvHeNMPyQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1855;6:Ee+xwupYZOMABpM5PXEWn28LBCcZinwEFnP9JRoM19JQAp4Hj8+amD42FSGSsNtKI4y8h7xPAcNh1hFAObH4z1YDiiPU5okzxexPEkse3HEunOtUgUFIAmzRUMRiIXEuMcwsI2JvXMsVJef/F5i1dqiErARNlzYezuWPdAzSQTLus74HsR2qhpAwouhz/rLplrpYh8bNPtDPyqWMVoiw9FCJihOGxOZVIRjH95jh+oAakKf4cFmfPPPxYKex8sBRGOYYxkl3KhPwgYCJJkvZ56PwcP5na9PTng2oGfJf0sdE+tEcbwaiBRvxy8ATqm5px0l7AXQQk/9pYrha1ZAoNQ==;5:gMBHmhSNcK51B38XJ4wW5JRsPsWsM1uhRZCyuTxMlYsp5EvLAtF0Z8ehav897dgnDPwTeagIILMnbL0JtL6/zCfY+UItCUxBYtDFkWzTbyvHpZYsDMbzsXTt8TpwKddDcDh6oihNgqh+S3ivcwvNIA==;24:ba0Wl8mQ9nwjxuFICXnlDG1G1xgceN2ZwgX48qeEakSsqwsyrAyEvtMRRKAeWrQ3MO8qbIkD9lvmV9rtHcLaVUM1dzoBbpyONReMK2Tpx4s=;7:V8ARsP5CFuLk8HtdsqurfJG/T//BCM3rIsqdR+8YOE1kdMhwxiU/GDZG53F2xqOm6acKRNcDjZbWpj7FerLrP+VJ5cOzZBuvV85iRFwbVx4WP0b4vdj9hubGCaPF/ysDgQEnCd/Ix7yEtXjRKFGWz4dB4oNn+xaJCgyFZzPf4yq4qYLRpsA1HHm2pfiWaPXtT48BKX8aWnsYz+ZpzIsWBiVlr5tfSElVcPGT4azKmDI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2016 17:00:16.0319 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB1855 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org support GPMI NAND on i.MX6UL Signed-off-by: Han Xu --- drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 9 +++++++++ drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index 03bdb4d..133483f 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -122,6 +122,12 @@ static const struct gpmi_devdata gpmi_devdata_imx7d = { .max_chain_delay = 12, }; +static const struct gpmi_devdata gpmi_devdata_imx6ul = { + .type = IS_MX6UL, + .bch_max_ecc_strength = 40, + .max_chain_delay = 12, +}; + static irqreturn_t bch_irq(int irq, void *cookie) { struct gpmi_nand_data *this = cookie; @@ -2123,6 +2129,9 @@ static const struct of_device_id gpmi_nand_id_table[] = { .compatible = "fsl,imx6sx-gpmi-nand", .data = &gpmi_devdata_imx6sx, }, { + .compatible = "fsl,imx6ul-gpmi-nand", + .data = &gpmi_devdata_imx6ul, + }, { .compatible = "fsl,imx7d-gpmi-nand", .data = &gpmi_devdata_imx7d, }, { /* sentinel */ } diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h index 1cee620..8de122e 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h @@ -126,6 +126,7 @@ enum gpmi_type { IS_MX6QP, IS_MX6SX, IS_MX7D, + IS_MX6UL, }; struct gpmi_devdata { @@ -309,8 +310,10 @@ void gpmi_copy_bits(u8 *dst, size_t dst_bit_off, #define GPMI_IS_MX6QP(x) ((x)->devdata->type == IS_MX6QP) #define GPMI_IS_MX6SX(x) ((x)->devdata->type == IS_MX6SX) #define GPMI_IS_MX7D(x) ((x)->devdata->type == IS_MX7D) +#define GPMI_IS_MX6UL(x) ((x)->devdata->type == IS_MX6UL) #define GPMI_IS_MX6(x) (GPMI_IS_MX6Q(x) || GPMI_IS_MX6QP(x) \ - || GPMI_IS_MX6SX(x)) + || GPMI_IS_MX6SX(x) || GPMI_IS_MX6UL(x)) + #define GPMI_IS_MX7(x) (GPMI_IS_MX7D(x)) #endif -- 1.9.1