From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759254AbbLBXBF (ORCPT ); Wed, 2 Dec 2015 18:01:05 -0500 Received: from mail-bl2on0101.outbound.protection.outlook.com ([65.55.169.101]:5824 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759141AbbLBXA3 (ORCPT ); Wed, 2 Dec 2015 18:00:29 -0500 Authentication-Results: spf=permerror (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; From: Han Xu To: CC: , , , , , , , , , , Subject: [PATCH v8 7/7] mtd: nand: gpmi: support NAND on i.MX6UL Date: Wed, 2 Dec 2015 16:47:46 -0600 Message-ID: <1449096466-18064-8-git-send-email-b45815@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1449096466-18064-1-git-send-email-b45815@freescale.com> References: <1449096466-18064-1-git-send-email-b45815@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD054;1:onEGUjw1Z09/dasCcqlsC8eEJP3EJFrewa6syOp5fAhtzFL4egnJVbbZiMkjlBis9QhziLpsZ38Dfagp8qGTsDgE2lTt8snoLvsqemskNg1BKJlDbNQ7Y7VyN2lcekmyAyLOzVdOi8XVPvIYHEd7OOzuKwFb1JD5EBSE7iaQNVWGohtM8U3XFl2TjpmdlmA5D28iy5DVb9IbwRxynZ6pym3qYEqj6C7NLuEUnbAACUjxS2ukPY8TfsBdxVwWwq7IQlz5WLJ4+KUv3T38im9wXkFGP2QQNTr0EZ3fWPG62cUrj0TsiT54j/VVrcO0ap+I8XEYxer/kRSW6m27LtibgjXcZhmiVxnK/GcoxbYc67JFFAYoHmIxvlfSJ8P6Tlvdd3heNZEJgtyGP015NwEWn+Hh6B81dNkTm73AD6jbnulKkeVyyNQiKWLHm/EUutcs X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(448002)(199003)(189002)(1220700001)(110136002)(81156007)(47776003)(6806005)(1096002)(92566002)(104016004)(5008740100001)(5001960100002)(97736004)(586003)(50986999)(11100500001)(189998001)(19580395003)(5003940100001)(19580405001)(48376002)(76176999)(87936001)(50226001)(50466002)(85326001)(2950100001)(229853001)(77096005)(33646002)(106466001)(36756003)(2351001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR03MB1438;H:tx30smr01.am.freescale.net;FPR:;SPF:PermError;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1438;2:aQJYeklCWUJS6MZFM7t3/NWP8d1EFF5BC/724WrUGRo9msmq+q47J0PO5ltsEDjeiAQFlxHVtuptiYAY0tMRNGZUBC5P14oOsDoeCh7EBlUIGtyxo0Q7uZZWeP3J1RDB7FhHTn+/G5ZA4OAlS9xKaQ==;3:MLmPIPN3gX5IO2IUraBPXAMfSUWy7YV6OsJMkTwswSIcDkt8CiAhlZvYtvUjxeKy3Bzaanzyl7f+WODK8zbHXOZd0X0fAZmVigIN/DvKRR1I3lrHYpieC6dRftGf3iDmVSx4Wdm/Y4k6DVXAUMVEzfxIkHqKFbO9p5S3USyvRYknhOCactsNBH0UXAb1t3nwUmpr9eHOCDn1AA/guou7z5aXlszYCdF5EnSTgU68gGQ=;25:kf+rsXqE6qH4xDAR/HePhB5F/CgM740hYZYb9Jhnu4+7B/yxpeGjdTp0dY7jhmnwmT7967KGCHYrAyJj6btiWlDcWNlHy6CpyT9+JDyrEgePx38Bf7LXgB3vT6IrSA1V2Ud48yqfwG9MKe5s0wlyO6nGNwI7yxr3ZKdhceXa629Nc9K7K1S/PP65Vm7/FpZj/4IzvmES/w1o9jFkFS1cWkY2JkLGbgjuXd6eP3nCKYwT/7bRRlwTpp00smwGJLKlESRTra2ogmuzwuqAJRaiiA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1438; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1438;20:r+eUrVTMn1TvqBBf95tsue0kvvM2IzI/iS8h1LXbEJrKuw5gZWwDzG49mtlE4ox3ApRYFhR5QqOF+FXnpCbio5/ji0pShnukrNdlTbXsUIr81bw1JmboGGXkISPaA5j+3u5quStQ/c5mWhlFNMUqWM/O6wERhCzKdPzULZ3/05YYoaGzHK7g0DISCWzbDDxncU5PdKKL0Z2XWa7oRZO4YzIFMwX7SLxOahGBX6SVpej0Ts08IxJRTEh7GuPE8S1SEcx1953b2a+94AEEaVtOeI2H879LgCWNHIHhMk0t2yC1ZD/tKTO4QR5cQnF+H/2kD/xQCz02cUcv2pQ84xyz/6OhQ03YkHDbve77P6XPrjE=;4:2eaGp6792ohyRgmOrkhf6Ss1n3AU5bLslp36E8h+izE+k+jOiNvIxbHwAifaUlXvJ14qk0SbTsBADkQrHT0lmatUrNETa56bUkur3c+ociVuzY51hfTQPN6jsx9mdV44u7NTCaqE73TXe2iDF6+eX6XmJzktbQF7tGfCGkXIulFR5kukZjfEfAZideiEJUaxN4OibeRz89AcIH3Kh+zu4Yx9KQJ0TUsANTydjYinnezHxPpmOURmITp9MuhVNwg+5RE0BLKo0njj1GqL8EbOfH2E1comfYH83SMlxFboMucrj+qD9GhZDio24c/JDVKPk407PM5I1duNba5gbVyQBjGl3YN9CXJS7C/9XWMl/hg5ZoUJSw3s4Ghduz/y1f+haekNVjif5z3AeHpU0Pnh+LAxtqmPLoJJhabxe9zD+AsVysebcdPSTt52uaEjmSZ3 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001);SRVR:CY1PR03MB1438;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1438; X-Forefront-PRVS: 077884B8B5 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR03MB1438;23:ykQUpCX3U5PNY+CDSyWn6q25e9kCTQB33EM0L7M+L?= =?us-ascii?Q?16o+r1omdktC5qctkAqnWm1DAHtwAciWe+Y89XbjDaWJYAeh2vuqTmMrfn6t?= =?us-ascii?Q?EuFtSJLWH48YOBuDHfhQiB8FCozFovc2/SLQMh3oQi5JRwjRyqbvxyqIByHd?= =?us-ascii?Q?/Z2DmHfD5lA2BFrXoDUiNu+KaZRyy93LaMzEdEjImo0V+QuXRv5z9e2hEDtY?= =?us-ascii?Q?BDK5tzPAY3YZR0S5swubeY9P/2rpO4IhkcH82OsfOMIWMEepAKjPziqU5fQa?= =?us-ascii?Q?meoqTOAj4S/JtPE/imKPALBdpa97HVuj7/17WueXEGaq0OzYFvzvb+cB+MkZ?= =?us-ascii?Q?8zA282mduQI4V+egpNhKC5nXx6cWC0WJoZwknxjOgRMypZWghIl0PxyT2rqk?= =?us-ascii?Q?gcqDjeZ/LcEOV9Ka2IbWgx4Dx2dWfv60XtlGQUoxrt9zCzcHZgnQSOfnVbxw?= =?us-ascii?Q?+vTRqcVkkxgjNSqNpHWY4PGemtbiypuyFALT5MX0yvo9Lg8HriGMhZPqfLMQ?= =?us-ascii?Q?rj/lqA+2kEFAYWdItTpLhzlJH/CTeJCcH1jLnJuYb9omkdG7IDO5V3dwolJH?= =?us-ascii?Q?daGTo9vrXbcfAb8wSXCI9TqTZj+y29TtHrSJi7Duud3NXRAH9J/2uffxidcu?= =?us-ascii?Q?OGgXXOAVrtHSIpVSjo8FkzQYM4HoTylg8qmnP/eMNmvBW0MfCghLx/aFsQyJ?= =?us-ascii?Q?ro2HbKZjzqllI9h7eZUaA5U6s8ZOOaYthDEbLdMJoQiY58yXhng+dZdKpzla?= =?us-ascii?Q?5qDBDwcPcZoDc3YXPZV8lK6DFiFNBBWZbRL8YyuL1KbLVg5fveIn4/pSIvtt?= =?us-ascii?Q?ZHV/lwXBr5qGNxIsKhTTeQWKV6zlzdz/xQKEBjMkIyb66Jm0ZocrG35xlkau?= =?us-ascii?Q?4l00ISmqu4FyLR+8/8S8fUvqCUC7P+FRRjHggQbG+h3Fidn2SJhyY4mOOK5x?= =?us-ascii?Q?oHm4HPd5e+wwSVmnDLnrGgLtlmUptgSd9C4WKMTpQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1438;5:BkUyRyiu0oEFpddSHYtshlTfyJbCs5GzrdDqW4h2HOSjFfQ44FX0ee29PyS4SmoYTvgWud50XRkSEsNQOPo3ZjsnjYLIYdXRAaY9glDp69lvoGCSsHKc1y21ufyuxLqg;24:Ul589wgIhxIm8WwKIfpl9MK6CSkkPefucDB/XlvGsi4TviFfVOMNtsuOQLqR3C/79fV3x4gOMtfm89hOobG03royAFwHylsx7VXmEea7IDI= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2015 23:00:17.8718 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1438 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 | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index 9dea56e..41d9012 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -89,6 +89,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; @@ -2015,6 +2021,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 = (void *)&gpmi_devdata_imx6ul, + }, { .compatible = "fsl,imx7d-gpmi-nand", .data = (void *)&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 149a442..331f98e 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 { @@ -310,8 +311,9 @@ 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