From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753344AbbG1R6e (ORCPT ); Tue, 28 Jul 2015 13:58:34 -0400 Received: from mail-bn1bbn0104.outbound.protection.outlook.com ([157.56.111.104]:18784 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752485AbbG1R6d (ORCPT ); Tue, 28 Jul 2015 13:58:33 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none; From: Han Xu To: CC: , , , , , , , Subject: [PATCH 6/6] mtd: nand: gpmi: support NAND on i.MX6UL Date: Tue, 28 Jul 2015 12:50:47 -0500 Message-ID: <1438105847-22355-1-git-send-email-b45815@freescale.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11OLC008;1:cAQY4m4b39osn7mVJtirb21goT3lOe0b8obAapviCdBSnRrzH7OMGNlwM0D67yxHL5iSS1IIL4pC4ujB1WoSw20Khdg2vZNij5iJ0vvNd7POtvG4ymD/BHH/I4jdSEKqMo0VIT//LRpeBBctMU+LXvTPKKdn7g54MdLHSbSsHK3x4PXA4bdcM4cmywhYHS4+YEfRLgWWceYPtH7OSie5qUW+7tbywqPIYbYutbbg8XxQRKBTz9QfJC1KPCQByzw2OIw/d+YM5JFycLk9XIazZdFg2nd81/zqsqg1rFy8FgaKKIeuCmTSDCCwHS2I6Oq2j7yum7smHKaYwAsTz2m8tA== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(189002)(199003)(36756003)(92566002)(77096005)(62966003)(50226001)(5001960100002)(110136002)(189998001)(2351001)(77156002)(85426001)(19580405001)(106466001)(105606002)(19580395003)(50986999)(48376002)(87936001)(104016003)(33646002)(46102003)(47776003)(6806004)(229853001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1306;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;MX:1;A:1;LANG:; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1306;2:fl+a1l3cpddjx1nBwHQ547ow8uIZuOqlgHgYGrHLRf0ki6y0Uvb64p8WT/6jo6apO50Toc3yXsYEJ3Eghek57huEbUKZfMvvZLYny56jMrGfw+7ZEcqQuYJgqu99jub30y+VEkQ4949FZWsA36RQEMlcsCYamwcBIV5z5ThYAvI=;3:/30WfKJrA4tP7ApKGoFslZy2aHkY8OOXWm4kpyLHDI2nv72oM28TCAzeOc36BS/Dnoa4TPSFNrNa6on+Yp0pLEbgW/NpJxdsFAH04KOtsOtgCU4F+WlyzmzPfXMUBz0UMYhkpKzGaBz3vw6Rr6KPbP4hgSLTTCWi9GWwZi98ydMp49UR6C+i7g1Kk+sH06KLvFfSmbDcSN3HMWJQ2FRVhQInYDWTaSWouO5gxApMMP0=;25:RXNA274tyucM7/HKdvt3GBroofJ2bKXmrxVZmL0CZkyx5QUo4HdfioiC9wudLHhgXgPYqmwQJEnBotSYCwpcnL8PNxdbfFIEY0aUlh11i971gJZvcCkhLKZEHYMOSCyFTsXA5N6Rj6lrP8zcmkp90r1z6qWyF+s7Z0zzq6pFRuzdQ3JVxQz3qdTEJ7SSe+n/U9jC3/6pRmo8kp4/mXrWq9EvTznCb9VqXlahsIqY47QSNIv5Hh0DcKFVn9O1annoUwgqN908xMZfyNTvBUTP6w== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1306; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1306;20:EgeYZrf46ZcrSsKrDvbzHNH3VFMsvPrwjdA64k5MZBFHIU3F9uW8oi16DFhAW/shi3m8zwhoXIsZFGYzGAxzcjdZYTRQE1sU1HJZouHNbWH88bcDxOwK79AtMRc/mfCQciA6Ean21312oLLAgLCNYOhckM0X3/5JMyxEFk03PJ0n8WGcA69v6A5lETScI1Umctvj/Yv1cUzP2fhU6XFcjnc4ch5KiK7dKbb/r0bBZ27MG1s6d9LEcOGsM/+cgHeJJhZuN2PhyU6lm4gVms5caiXeX5t+AA3ltnW/8vo7FZRwINYN7iST0gw7FpHsrrTDs6emaTtW6E8vCgstqLnZdRyHa4qJQE6DDg/bVzVIGlw=;4:w5SO5ZeWOrOeitQ94MEpR8mJzun8ctR6XKUXlh44ZAvIlMTfFLM2ebHgyUx4FhQIwdwNJs+kTL7fWAwBJeypaKvSBBZ5Rl9WtBbRyaxBFU2ajTYGIF62usDO+Lk4kn3Tpjkkzq8xbGBgt260Sp4rqU5z4jEQlF151NtS5IfTbdsGEga8TWw0CULnwbKgb6zZfIw3sfuuVxkzgCc8ajN3TGsYcWXpiFhZJUbH8Q8YWXyXiIguRRPUxfm43sAnngmQbIrrLM8WKRlKFEJN6DOZMSjBe/UOJ0UQ1EfG8def9fs= CY1PR0301MB1306: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CY1PR0301MB1306;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1306; X-Forefront-PRVS: 06515DA04B X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1306;23:UZqzRfPgIV2B3RmNZXNQ5zoY+krwN198M8ohzcaKdJLziB9a2azZOfItYvqaJbF69LosRZ9tWYNTGD1qZCRgfNM005Oe1RGiu2Zjgex8LTjRA0D5fF9U7QVupgjcSpGEs4O6/Wy0wKOl9uFeFixFil5DMcU9IR8TmmjVnDtWjrUyOLOIsHSgIB4knYPthVUILZI2aS0cOaz1XpiMgd0ZJH6JResG04BgB0sB+quQEwqHWkynbOl81fq97BADGpEGfPtYNkS+fwnF73NMzcV+OijAGKnrGn0x7+rrPZSMYKGhAi1UFZ+PIy7O/NeSTZ6iodJ/G9wPIw+jT+z4xkFcDun/lR8WbLDc53BEm2CDZPRd7RWNnIJqbmDC77MzxUW+17x12YZgTVTtVM6emOTfBJGx2+vnxae+8CEle2mz0Ibx/4pRWrBnz02LYGTTvq/fB/A6FVAhtBQ6U7t/tZEYLJzkWLM7PSxX8FdJO0x+MduYZXtUauPWfg+WQ72iS9L5YF/PIZyMivcVD820KN0E38Qs1ytKqSnEnBFiZRajiNQSDCG543olTE8MarOQjfMHehHq/jkxqZ1eY7ekuYmTYnpH2GTsR4KhABN4esLCW+QAUrW5PEHM1geXcokxRYsl+PJPSchVC/hgt8AmuewtbwWXlKHtiI/fn/zSyIMGuP56O6GZBNmsUNuSSkvSw5IBp8AV7RgT6JUckTUDeWdJBB5ZbCOGImOA8XBGdgEhuTcEWXyaymyPFtUQluTKXZXY3uU68PRij5eZ7zqfNJboIFeEl5yrrhCKm+1/JKhsUho=;5:bWIYC1r4j5vLB/G1OY8tpxa8U8SMIQvvVEIczawZd6lrfeZE7HGiljsNDZ7yxiImbmP4se5U/mTPe7v8jp9Kzv99TpGfgmO0f44GZ0Aa43XH4Pp1r8MAVq5lh9AsjGKJfZ369ydNHrDDSgFeoagPYA== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1306;24:v9AFo2qozd58FTcxevuDYWWNRsjZ9hWewpgqeO4KanT1AU4cSyPuy+vkMvkpCJBOt5YVFuiZRn82c+bfmJWnrtxfdV9fGO44pooS1oUUH10=;20:AM0/U2OAgSqfyU22QbwWKEWDJQYE2iK7Ddx7MuwDX8q0QxjosPg09J6TIkWcR2tNBC7f4Q/WdxhA7OFlRYyiMg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jul 2015 17:58:30.4527 (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: CY1PR0301MB1306 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 | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index 362cf4c..adadac2 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; @@ -2016,6 +2022,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, } diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h index 36ffeda..8428637 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h @@ -125,7 +125,8 @@ enum gpmi_type { IS_MX6Q, IS_MX6QP, IS_MX6SX, - IS_MX7D + 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