From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751834AbcFXVje (ORCPT ); Fri, 24 Jun 2016 17:39:34 -0400 Received: from mail-am1on0091.outbound.protection.outlook.com ([157.56.112.91]:55571 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751746AbcFXVjb (ORCPT ); Fri, 24 Jun 2016 17:39:31 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=han.xu@nxp.com; From: Han Xu To: , , , , , , , , , CC: , , Subject: [PATCH v3 5/6] mtd: nand: gpmi: support NAND on i.MX6UL Date: Fri, 24 Jun 2016 16:40:10 -0500 Message-ID: <1466804411-19874-6-git-send-email-han.xu@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1466804411-19874-1-git-send-email-han.xu@nxp.com> References: <1466804411-19874-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: BY2PR04CA0010.namprd04.prod.outlook.com (10.255.247.20) To VI1PR0401MB1853.eurprd04.prod.outlook.com (10.165.235.19) X-MS-Office365-Filtering-Correlation-Id: c2d112c0-96b6-497c-12ab-08d39c780058 X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1853;2:PC/HgpKj/DsPfcHmtcRzxcKE9DfZenk/fE2Y7GzaXiZVJJnWng/8j6dgMvjdM6GwswV+1ZMn2XsF8A0IRJjv6rgsi6db9+b6IGQtF1ttVCUeJLmbmB86fcPmIU+7qD5ZhWEiPZ1j4uff3dUQSF7JnrelIXFpFUc3lUyFKt+ahmQ2H38wlHBJxRSjQm+5fGIT;3:zYt0Ku2gyH1hQvbGzMRVQAu2sWfKxkKPBS0u+QFy/CB9eaw7fTPvSLdM1d7+5dL2XrboMmq+DL6pjpxukj20Zzc4m4zBUgZftJFrTcsKdPH3BVpg+DHrBMe9P0LJDZqg X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0401MB1853; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1853;25:oLKoP+EfoMz5EVAR74Uzl3QH2JKXHTkMrlyTSK40e1nFFwBb79Lj85gAkRk2WzS2JEtFUjDd1wAo5iR5gXgME8IIo+QkEbIcTZN7C2ojJPPsq/Jc9xeHpdIK1PDi0e7w/hAw2w0aHZMPHfojRks7RW23ubk6+Uj6K5jZojYt1oZmLMRcg+MIYPeU85v8Swi7sEp12U1Y9Xt8XVMPtSV8BBYAyb0ur4s5XFOmrnCIutbvwKS9Ifpb0c60eSR28nzYTRxA6DOCg89ZROoyjoMNLeCuuXyKrFhclIfpyDI3VmZQeowzMuRC3LpDnrlJsuX1deugomlXczN1endID8LvEhR+/VCy7/uoffvtU6lM5OoZa1hRNEzXi6e6iCuRzB3ViZK24CNQcHyISOm5P/tQxLwZUDN5qAZky7vntsExyIrs/oK9bTT6/jPltTySSWjoEkAeaWVpdab9tMasSnEkvqhjY7a7Sk9S5TFqC8vGiEl8qZrUCKaYtRuTHH76BMOs1ipQDxDYYtWagsMghtO/Jfzts/+JXfSJvl0EgEmxC3rFfsyCE+qSpsBIprZQPNphsfurcUVmGbX0OPMnKPm+eQqc+VMJxYarlPZ9dWPsT99pJ1Kkg2RrIm9kq/eYD0afMEhieowWFx1sXXMkKZiD+xbPvV2wloxktkx2SeQWTy8RjgPB5QzKE7OdL5lfLZc2Qzyj9H9umdRWYFmRM9ch5A== X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1853;20:zGJKpnocB/UVzarHO0Uj4IDpSHkIDcJU/zu29HLt6P9cxpS2Drg53UGW2E2ryDTqFDKjsi28NPQ5/aduRxxZKEMd2kf1EFVN8JIL6AUTS3tS8MTw6kiXdwPT3sl6u+bWRvtsKBr4BG9posAeTe6MjiEa9k1bcJAja4kGd2nWJWkB+yl6HlRtzEDi4eolcdAqDXOTH1SsTKn9ibggBONgzD6qF1t9ytC8J/sEOySbhXLyqity5dGFRkVibvZgneXB5JhRWQElG+W9YUIh+uYNTJkid/kEZAdYn2joaQWwlhVHUs8Gkijh2hD9jkLuLG7l9A8gE3TVxctDBhACiAEHRYZwz6FieurBLbiR2C6z3k1YDVkkwRkYWtOvLqGY98HG7gN0IRfN5lwG9JirUmKyk+tFtg3+4AtVDQLt0Gz+lAj7zL2ClbGU79XqxtzqgFTYf4XlxaQMjeRH/0N+7/10dogHJnzrIJLE3U+JeeQxFnninT439GuiYCks/CDJsOPn;4:aTOvWnFyMSiHboQZmlP/YU2FSAFQfv+E2ZG5bx6ZwRTjU1PURdZU3TuySM+tp2TSq6cFGYI5n3OyTQnILZl2E0vb6IpdgKWEUkJNeZ2INWusTHI9PMh7M4reA6U1WhvvnyqfXyB9naHPP6pHvnQvgAAqiJlUClA9Qoz+EbUmovLWt6R8BY+77qNInGHCqZPdIP2HlTu2jvnOX1SwU2COeJ/YZZEYBiCbSkNTMuNfoYXnq8NNhectjN3Ws9nDODzR6+G5ZB0vbHbrx9+NzheXnyYGNkLDzOiCxwAAi3FuPfYiueKrklQRCtJqXt2oqUj7f7sCsMYKkvr9W0dKtbuDjr17AHg34wvcc2F3R0DXJ4OWyov8NU/pGXymUiwraGfR20Xd5xl/toeXwcR7JikNLe7Ku0yoqNLSZIJ2+dC/K9celJtfQIPf4yaLo3Wg2W9v X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:VI1PR0401MB1853;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0401MB1853; X-Forefront-PRVS: 0983EAD6B2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(189002)(42186005)(68736007)(305945005)(7736002)(50226002)(229853001)(66066001)(105586002)(2950100001)(106356001)(48376002)(7846002)(4326007)(36756003)(77096005)(101416001)(2906002)(50466002)(76176999)(50986999)(8676002)(81166006)(81156014)(92566002)(33646002)(19580395003)(47776003)(19580405001)(2201001)(586003)(6116002)(3846002)(189998001)(97736004)(86362001)(5003940100001)(5001770100001)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0401MB1853;H:Cayman.am.freescale.net;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR0401MB1853;23:hUSmbF7q/gkliJ76qUP7UB5uXMYBf5mvo+JXnXI?= =?us-ascii?Q?TStYhhTxzD9U5m12lVXcx4tXQl0ww+m//Q117HALKSL/gOb66LQZN5YSCK+b?= =?us-ascii?Q?7+5RGfg21eIXwD1NFXsJoCqfiUr+iVlQnu0NPMbKWnhz6oSyQJJYv1imaHoF?= =?us-ascii?Q?JpSGOfWXtvGK2n9jPVzam/YSuVRfLPjJPlY5SNcJlGia0CioxxO+PtdGPCxQ?= =?us-ascii?Q?wut3cryYfXKNIbsZ5CzKuX2f0S/1fZ+sVW9yYRyZ+pi0inHA2czYrrhVtlD6?= =?us-ascii?Q?YI7VElKvvegLJ1cXYu1uz8q91Ahf8DebMQphFAX4rjkKtC2RilZuuOBXpHRR?= =?us-ascii?Q?iBndmnx5dh3Alo0lMJcMylGXvPTlxFLp8KnWYrx6a3zuzyLkmbZdNE9rwUS8?= =?us-ascii?Q?PMpBRUSMEeY6PhMURjyoSsAbwL/1V7tkcxIco6DQVXkLcBM/Vm5ZCvu6zHXC?= =?us-ascii?Q?ka1/t3LGDOGuG/8AnH1XX2iROW+i7B4mYdUbe6Ei8nlcKGOGmv9hqz7mja8T?= =?us-ascii?Q?nOZNgc4N5AKIUQDl0IWdr+GXuftu0Ms52NZvnWbN5k8je0wdaZlhXMKx6GFT?= =?us-ascii?Q?OeLVnrWb5UYVFh2iJCUM3ECkv7uLNERi/M8leNafc1wnQRCEyY+Sdju4SZMs?= =?us-ascii?Q?T98/YbLCsBb8NV5oixfy3aeHG3fiwfGEkx2k0QJld37xVHx0KQeU8reMXRYl?= =?us-ascii?Q?RU7AwW7qY9QwY1bt0eM527wPowCOKcg0vX7AN68wZowumFAT735IbNNnplzC?= =?us-ascii?Q?q1KmuocZqJytamIjjKr6BLCxvgZDmKlbzm+G0UcyinLwISHvsWOBQGk8CgNl?= =?us-ascii?Q?t2fmj9PFySpUrkUO7YFYH7i/86G6oSKF3bAEDsrtSnDd4jaIx/n85mw5yflz?= =?us-ascii?Q?vExo0zdHmQDyo/50yliLElDmhQCIXTHkt1IJixDw3PcW8TmrLDvlJjyYuA/a?= =?us-ascii?Q?nyOyQ7OahfH/PfinW2blZqoo6p8hAmcZMkr4UyLpBZ+bJ1PZm4MwJzRDuS8B?= =?us-ascii?Q?kWIUt7yFGJoUnHD3/KCnaRJsU7EpQqEjFJAn0ZLF/w3wzEFpPBxW0jpXrtei?= =?us-ascii?Q?PCIw4GAoipTi3LjuuS17yp+q85vqnj3H5LfPSkonbM00OBuD4KviIXUy5HYa?= =?us-ascii?Q?XxrEOPN0hTFY=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1853;6:K4fns61k2KRQdQnb5TJXmm4rXghgHL6Q9ndNN4xXfXN72BuAxKVZ9hO40I1ip9+Q+996oZg+/8rBILFQUa3w+bSjsiFA79sKzNWd1qZ0UIN8EMYCa1EHInJ8qXsE5BFmjSYj9NS7RmyL5pofMpqgNe2nS/zonTiByHR3zZ81ObfsFlaEXThc0uIQI9o1k4PkFjPrEY2Fpcz2fNu/rA2ucZ/y+BHy7bJFk0d/+oZYAOEnOyzGxtSKPg55uqoTwcAU86PqpKIqfSToRrETd0ytSvEIZDcJZQmgJT2xK6iO7NgjZiYqGwos0q+oxbCc9UgpmjK4kc8qG7QPqluQWMVLDofU3QvBie/vjgscDF1OYXA=;5:el7V66m+lAdY5rwGvG3vSqPtF8vwQMBKbggn3iTeJj7qGfmSlotdlCES7kP6nDSH50Mr6x+Ybm1o/ll373GptGdnjtr455sK1qnscGRS7AEm3OK3/cQOVH6wpUy4KIxgsNptfjOv+SapvUafh+zlVQ==;24:b+tEaoDhBx440WLx3OLeFyG/y24Wq+N5D3SIGhFQPd6UINchrRtzPuBcqsf8bHDdQWUnShHEHthmFJIRmDonDt7jhvpm3K+n6yY0gGCL1Us=;7:lhQh4gsaAuxEDekMMjUYfxSFNAjOBycRLMRcFkhu4CgfdGwbQYDCDhFjTQ0bb7xYlmXQMtttg2JqcOACZ2khCoDAlyZoy+tSt+b1W3LInNsWjlMSKtJWzgI/zBb33/eEU6y2PLo2TQI8NsaHJvRwu5uAEgQck1uuMOFre+e2Pk1uhY/tgbEbnT5KAfjZzGHhIDmLsRtw07DYF6cyrZdqmn671sZSCdk6tagRnJr05VoYB181TQgB4XxRzJ1kVC+N6zbgA1w5S611+16tDd9d+g== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2016 21:39:17.3547 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB1853 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 db8e546..f061163 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; @@ -2129,6 +2135,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