From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751799AbcFXVj3 (ORCPT ); Fri, 24 Jun 2016 17:39:29 -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 S1751746AbcFXVj0 (ORCPT ); Fri, 24 Jun 2016 17:39:26 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=han.xu@nxp.com; From: Han Xu To: , , , , , , , , , CC: , , Subject: [PATCH v3 3/6] mtd: nand: gpmi: add GPMI NAND support for i.MX6QP Date: Fri, 24 Jun 2016 16:40:08 -0500 Message-ID: <1466804411-19874-4-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: a661c218-602d-43e0-548c-08d39c77fbf7 X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1853;2:kL7mGMWUnepvYwp+4dHo2QGmqw9YSig8511WPgeV6eM5syzHRsZJIJLzQolTI7QY+nOBMox174tumdWR/nTBhEkQN+vG0Uq5pwWK3vtd+CVrjKsQewe0LZEksRtEYxQw3LhuVd789QS5E96cqYHT0yvl6ESelT1s7nOJcYN1MQa7HM0RX56pkG82TEZHcbAK;3:in7DiOSmUjdOGQOf0Awoqrs+5WOvVDrOwH5dH6biHWt9+h7W0ytnxWub45Sb/AFDtH9dwnxTvS8V5GN5P7XUcu86ZMeZ/NgB24KAaC0MMgbagsuJi8Vz6whrtpkDbgKP;25:MM+XMLuR253bH3jIPzWSUy4ZzoUfBC1EEW3WbGYeHoqrDluaFdhJqTD+Z+BNJcgUs4vZ2Oc60WdNljKF5HbfqbxhusxtgOgs+xXimEfm8CuS472zqKQkVtrA6X+0Al5cgYZbcJJqZCW5mZgROeILuBDksMIpZX+nZ//2DBu3hGvf11DDWuFpVhWU4IZv/wvXynCoLhIvtdgE8pbpfbjDWXOzuQnxBeX6/sOKL5qG0QQndahyikdKfoJfE6CLO6STc1jjG/X/JVXRfrYJiEuhi7XhGZfVkzOl55VMoSy7C+hQ21i44Tyxr9d6tUvqW9poAAmmiwyKGlMFkhNhoohMa+aj8MQ9pRi+51FDVSpoPQdKcWV4iwfytoyIkVaw2ILPQGfeaiDfVBsXo4/KUiI+PjTXA6TxjsdABaIqfC3lgdg= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0401MB1853; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1853;20:6SRhyMD+RDZn3r4JVweFsD9CTJ/HKCU8Wufmjf8K0NXn7aJ6YlagI1y/YpBgFiaFpPtUCVJ/Ekpr0wT/UBFpl8p7+f5yP9gTz2GQK2/liAf6/Fta1T9F9iwJxeML/3AA2OA+rHZciUnFPdsL47PJCjJS7+zXWI/dzKOg4ropgkrZYLrvkOYFxoPSZA9mSjNGyna3fXmGaiT9o8yI3/iOQUEu7XwR+nj9ejwtsXPajcjzY4r9ErmfYB1/TH95Clagh19ftiObUamEwgICJyOzXK9ZN6XQe5Kgj5SBrIHuOjxK57UrlGi2DPjIG10xlTCteQctO9rZvRSuFgkPIaL5nTFJQVqFoWsPq1pF0QXLcHAYF3fyElZHbPzlNCvxl310tQtfjREyUOyVpC0pZU3kdP8hmDNonSV2TreLPgG0Tiz4l/+KzgT0cBpUvH/euE1LdV4fmQC8inO2WWXN0gRx2lgntB3Ffk+htZE/IoF0gWaMXaCdm6o7A8RZnOnaLHRi;4:ehRGa2mlS59QIhXRdbSEpt1Kc5wr1694KDszUxZl625+3LPj3A4OA9sn0PQcNEWuKF7yd6Nfv4PKX+DXX66s2ytGTREcduI9KLzwLkoZMwZ1KYRH5M85aUZNK20rDjqqpB1mLXfb7gdQ2JQpPtUnsWfxNUxGz8SovKJkz9P+TkecOlP8sbNZ9+2CN2WNitppp57vQLQ6PzkVYFWzAKz1JFtWgCgwPFnIlJX9irk65rZ8+wbkpturyMgzoAnA+I/7UWrrQpaU/Y9vhPwvgfwogOZoUvG0cHUKUY711bOmnjtpFJRawlkxBh3p3wfWZ/t70rD2AJBbTxswQiZvZUKGW5Gpu93C8UkKMnoS/xwdzLy1lAP2BURnzF6dhaRdeIlGpzVuhihYXXoQJosivHQI531mDBnk1oO02zKmkVf9atmT6WAyG3A8sy0FHMZWaZti 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)(217873001);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:BemTdlexMVJnt+1+psAj8sgjbwzqHCJglVjZC3D?= =?us-ascii?Q?H2lV/m7DYHIWfB+7N1PZHpC0KLsT4Sbyb/KkYEiEDQHUgdBatzCiDQRN9pbr?= =?us-ascii?Q?Qipw7LqU5rCMOMNmRZWvvpTpXaAt2XyTsQmEcoFnmpgUI1EnV4+snNtW2O7S?= =?us-ascii?Q?u5UqvYh0kmY0HikWDVcsCmktYWOVijvDy4Z2In9hGc1ZVEPWLOyfKNRRJARz?= =?us-ascii?Q?O90kpPkNt58uvTA7O/CR+fG5PF20uw0HEPnu/KI8lhOHD+c/7mwIp1sM1RfP?= =?us-ascii?Q?S73r8A3ZTumuM0ee8adZ48Onb+03XhqorapuLBYsJQ27kJiL4XDv8o2yKRfR?= =?us-ascii?Q?zdOSRKfd0la6mn2461LfbCsHwgk/Ns7XuYyazXoRMOd8754hJqy9OMw8r6qb?= =?us-ascii?Q?nK/bf2EY5t9T8Z97ZfkpfmVHKtcYAosQACKvEAesS1NuixHqWG1n66kRAYJe?= =?us-ascii?Q?fMN8VrVbesnDl5EoMaa+YQ2bSDgbyEW9NVm9yyblvgTI/HZDM4uaRUyO9kvR?= =?us-ascii?Q?dcDpVe3/3y8l2nHIHc68+3XIGjyaPSSfILQektZfn6DUfL6gOA9BpA9gC3B8?= =?us-ascii?Q?W6lWd9kNiVI8Q82IwIcOEvWjehvMudk6+owGtQzSh4MdLb+/RM/ciXgEHpXC?= =?us-ascii?Q?ejtq+z7O0R08RDmSblDhNkQY6dHSi1G/ok1aiusX3TIvwUDKYFRg2I8sWh/g?= =?us-ascii?Q?LHvw4QqRHOvHJ5j/t0ig3lFKCyy4LJLEQoP/D5esHvCTsP6fa8qVuQzLvC81?= =?us-ascii?Q?HJxT5TxrYCj+8y3doOBh0nqaY3O/u7aUAIFZa36eRbnDDSsq7Umx8jI0Kizq?= =?us-ascii?Q?WB+p9J8E7De1bZCjuSHVjsZnYiO/JuR4SYtMdzsdaRPiSiKuFHITgYWVJZtS?= =?us-ascii?Q?VFoJuBrXYCnzfdOQ3BRMXXhzAy3QOz/cr7hnZ4y6Kn5cNWk2LeeWxQBEetKt?= =?us-ascii?Q?dniKbpttQYqZazjcXJ5RekpLz3Vhxludy12QVQd9kWcg7y0+SY2VyeW6yvjj?= =?us-ascii?Q?sYhWOuBOE3hhDlicD64fEpVcXae7QPKv/YBBC160WjZHn/FtUW/QjEfFftbQ?= =?us-ascii?Q?H9vj3/EW+VQ8AuwB/cx5GlKOPpt+fTulkO1qOEf50/6xrwfTdTbECtteuwDl?= =?us-ascii?Q?Od+QXenQSoxAYQ2VoJklTjUJaQ1Ixxte0?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0401MB1853;6:w7aOSvjT2vyBaE8W2NKDTVPrjKg+KJOoJxXZpFTLKvEOpwi6xT7z8E8XKGNjjhyCD7/8LEZZYxQrI4g0gNRw8nyu8rGLuha3WFlaakdU7i9KzFzdWMCh3lVKaXrVhPPT9AX770JK8//q9IzMR3jmT/GlQeBq1+EZp0Zoqri9yudYtv64a0qOfhvJ7/++U7PYdO1cm2K/B7Qa/X8f03nLRpgMAqg/95fYpt3NQ7kTplhPywE98IG8kYQltW8MDkpiAj5ec18zLIK7MUpcpXePRSg50j1E6K6aWN0H+wiXoq7hwonzCo2zboKbQ/J/R1m7JyRT4JNJ4nkLMORC9KLJ2aQKcB8uZWs6i7nIphpr0FQ=;5:+gcaXnNeEMowPF3BjM3AOpM/auZuBEJXXCenrneWdlOH4M0crmcgqQznAMnaXmVvOs9Gp7XCWQDieXSf6UYNC99mWCF8ozP16/ZquI0FMIsvlXzfIm7pziU8pci8uynrnTVXwULGf36p45gREvCcCQ==;24:D9zgpWPpwupROvIne0LrO6bsvKMqbaRMhjP630KPw1SFN/0P0vLVixB2192KtS7kcvqPTqnDMB0JlQBJfkC87hJXtXmYt8BHSTjXAz3kMlw=;7:QwX7HfVFi1og0IbW5cLlrlOMPQZP20tZv9mdScgejBB5RoNYwXduaXn2IhDYNU3YBaMnPkYdFo1TCSbT91sYmFjnYENJ/7j9U1tLcwjStyD1s/c+sO0J36Heg0o5VWSxzhXn7NubPGjkXrF86FkpOm6UOYfoKA6TmVjdkTKH7234D9BRanbUi0VrUcn2ugyQdOx0Alp4vS95EhMpgWRJZSpU6Cu2D4HYOz8TRr9432nfny9fsT36cpsLu0AZia18bW04CTfnGnA4FIjf4tRq5Q== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2016 21:39:09.9097 (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.MX6QP 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 a8936fd..aedaff3 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -104,6 +104,12 @@ static const struct gpmi_devdata gpmi_devdata_imx6q = { .max_chain_delay = 12, }; +static const struct gpmi_devdata gpmi_devdata_imx6qp = { + .type = IS_MX6QP, + .bch_max_ecc_strength = 40, + .max_chain_delay = 12, +}; + static const struct gpmi_devdata gpmi_devdata_imx6sx = { .type = IS_MX6SX, .bch_max_ecc_strength = 62, @@ -2086,6 +2092,9 @@ static const struct of_device_id gpmi_nand_id_table[] = { .compatible = "fsl,imx6q-gpmi-nand", .data = &gpmi_devdata_imx6q, }, { + .compatible = "fsl,imx6qp-gpmi-nand", + .data = &gpmi_devdata_imx6qp, + }, { .compatible = "fsl,imx6sx-gpmi-nand", .data = &gpmi_devdata_imx6sx, }, { diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h index 04a3584..1cee620 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h @@ -123,6 +123,7 @@ enum gpmi_type { IS_MX23, IS_MX28, IS_MX6Q, + IS_MX6QP, IS_MX6SX, IS_MX7D, }; @@ -305,9 +306,11 @@ void gpmi_copy_bits(u8 *dst, size_t dst_bit_off, #define GPMI_IS_MX23(x) ((x)->devdata->type == IS_MX23) #define GPMI_IS_MX28(x) ((x)->devdata->type == IS_MX28) #define GPMI_IS_MX6Q(x) ((x)->devdata->type == IS_MX6Q) +#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_MX6(x) (GPMI_IS_MX6Q(x) || GPMI_IS_MX6SX(x)) +#define GPMI_IS_MX6(x) (GPMI_IS_MX6Q(x) || GPMI_IS_MX6QP(x) \ + || GPMI_IS_MX6SX(x)) #define GPMI_IS_MX7(x) (GPMI_IS_MX7D(x)) #endif -- 1.9.1