Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752819AbbH1TmQ (ORCPT ); Fri, 28 Aug 2015 15:42:16 -0400 Received: from mail-bn1on0143.outbound.protection.outlook.com ([157.56.110.143]:56992 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752699AbbH1Tlu (ORCPT ); Fri, 28 Aug 2015 15:41:50 -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;vger.kernel.org; dmarc=none action=none header.from=freescale.com; From: Han Xu To: CC: , , , , , , , , , , Subject: [PATCH v3 4/6] mtd: nand: gpmi: add GPMI NAND support for i.MX7D Date: Fri, 28 Aug 2015 14:32:43 -0500 Message-ID: <1440790365-28072-5-git-send-email-b45815@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1440790365-28072-1-git-send-email-b45815@freescale.com> References: <1440790365-28072-1-git-send-email-b45815@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD037;1:ew3aBGEJLakzNRB3jLndgGOdBc/mpoijjs1m1NXAAVqB1OKW8iP6/9NigVOfd1U1dXbJSvUlLgPNHpRzSMpKZfgrPVIqSQQPcQ+dwohy291fseyN6530Ze0RyfxgaQqbMsg9Rh5wTs68yjH1eV3LJYvReEx2HYx6l0DymE1wo8pX02Ot7oMTLxaHkVTyKrirHi9SaUTYNN6wUxdf9fjGB4vHGpb+KPt3ZW1Ju1bjksVkspsgByrkK5LOmdfrIpvfnnLvDrtQOb1ItTKp1rc6LNXTBafX6q25dVOdpQr2kjjidT+Qpz1pjb+qx4a3KNWUIGFxwXNy46nMH/mEMims9v4IRwN/1VUkKMOUTRhbADY5yl83WgUZkEqUNEGvOUImUBQOZcJKq7TOScQTR3i9DRXkS08n4dFouwpnQzSYCsme3yWDacBZG7gtcYPwQ2m94xCpbYNGddYanDO8/s9CHw== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(3050300001)(339900001)(189002)(199003)(6806004)(76176999)(19580395003)(85426001)(104016003)(19580405001)(50466002)(105606002)(48376002)(5001860100001)(33646002)(64706001)(47776003)(50226001)(92566002)(87936001)(50986999)(46102003)(229853001)(575784001)(36756003)(2351001)(110136002)(2950100001)(106466001)(189998001)(5007970100001)(62966003)(68736005)(5003940100001)(97736004)(5001830100001)(4001540100001)(77156002)(81156007)(77096005)(5001960100002)(2004002)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR03MB556;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB556;2:3Cy4B6GCJ3MxECxB4laUcz9mg+55qqAREyI+B1G+H7u7S0SKm/4h35CCpG4NHbBqf7ZoniKx3BKxuMJGMPwMSIPFgfxcwcg37qCiJhq1kQofzrgkkmFFpjFdZdZfONm34RvHnEX05nfZMpWfYHYNlLQkJNzTAXAo0ld/f9G70dM=;3:uBGjT4LiR01onQF46KlK0P+ryZ11R5VDIkLCNkVZItwCCw43GwJz9zDpUT3v5apiMoR9gzjhKqPJO9YsbiBfrrLnZ2cf52cIVxvYC77BaNJiZsPJIcP4jd3ufYIG/Kud2z8kyXoiGAZqjdUgoWgLLb0N2GiYQ05rcp37+2vrCrJzFC+E8mWKvd3xZIhFIGjqyXTi6OwNEE7esQfzQJngVg1KOpofi5Jwvm74CWa7BzE=;25:3KHPPZkIApQHRYM4Bm2WoRsqtVxESvajf+G1OIH7Vz47AQ4hPsYqZ0PkCUW2rKYaZ0FPpu7vBde/w6Ubm5pGme6r0DQwaDmjI0kEIPW9Qm0vxDtvV7Oh+hZCNXpz6GTeFsHoDYh+0UiXo1Hv1hvhWxrsBl3UU6pzXOXVLGo4nwdZCy0juiI4s/4qCVmQoKdHlLzqv1RlUrTkxQmUzP7q0PPk//4pmAejO7c1OcosEaQcF3AO6wxwq2RhMXwX4SLF X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR03MB556; X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB556;20:oYDkWb5aruRkruEe0jokvmY3wQFmRIdRrbrwD8L1DbDXQUaDurGJVQ29stmlbX8lPL+srmzoigiWYD/S4KZ3s6N9mux9WH8/Jh7LZ9Sp6QY93N6Vsfc3b6/6mXerK2/3RPUMeY5UoZ8qCTkGrubKhMrGmupEb9m1jECuXYWoKQ453o+YrEyHhGhnrmzGrDZiKBq8+/tAJqadY7xA1c2msvNqnx3zeCdEqEN6HvZWCBF2qMnbwe3IJ23qmw3cFCt3t37Ko2HLKrElMoA+zZNoMglKMoZRpazgIO1uXtHtjNNw3U1fB/OfzjAgo3lj7XgtXwuUmMD95ugEJFVbImDzMyIALzGWDDLLfuRYXZl+HcU=;4:2v5HnUxCQLvGXuiFjCPwRMvjb/ulyXGF7Gq6yc2VZPFaLMIEOsmAFzRfyhptH8Ru3rWIwD+7ysasV8pdq6FD3n3VJ1mFNrvhT391zBzf41Alaj76vuJq6N/Q6BKIE5K7Gwl2389KtveaZ9zMQ98BygO29DHn2dakIlepfCKcc3RC6lT1m+w3WFqtDIFMu7+UrMFd6thZA1EfJ3Ggv57wj9pgl9iOHfl7n97BXZ5VoAqe+DoUaFfqdrGe1/ZXVSsxEFwKvrq/ZnIBbFEFqDHxZ6Xu9xOQJ0ri3HlM0io9FWGR+J2QeBHmFsGAO6rs1x+V X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:BY2PR03MB556;BCL:0;PCL:0;RULEID:;SRVR:BY2PR03MB556; X-Forefront-PRVS: 0682FC00E8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR03MB556;23:JUYMKRX9YD1lsJNP7nA7txrLhpJQ8Xrq+ta6/KMsq+?= =?us-ascii?Q?XnJynKCGCXBBMeUQ+4InXPRZPzSNl9vfNdhB2Mo5AqWSFj6rqGJiXjoPpPn4?= =?us-ascii?Q?T2eLMA4MxAqrVnMS9GXOVxSr6ttDEWrZaXxyI2oZDXsvMunOODqNg6PDtJTQ?= =?us-ascii?Q?rHkjYBB9COIyhs6Kfz9Sa/clFBZgTq2By8Vf3Vg3g0jm6H7vnCuAgHYCmp5D?= =?us-ascii?Q?+Klzeg7cmuqJnKOerD/iJepRzzcNqjNvSjq/sjESpHuzsOO7qnd5zsSw5NB/?= =?us-ascii?Q?nUzILKleCIhYnrTQwzIMD5w7PlR3wvHZnHdqHkH+XyzoPkMONoyGEqOaHVmb?= =?us-ascii?Q?AOnpt2Tgh1KXsT8l9cVhWqai6UuiLc+JXefRJN2NpSK+pDn98LJgyANwjQCk?= =?us-ascii?Q?2b0GGlB6JvRZfqhF+rs2ZiN3HAosFPAqqQ5i/nR4OU+ZBxTlae22e4F5Xb2E?= =?us-ascii?Q?xquh0yilMsHWH/+KdtPeD655AsqwuVwV4M9kewYtpO1xLTlfnVt/iM9AcaUq?= =?us-ascii?Q?Qv2N3NxfOmzMTfyJdA8iyCaK3S1PS0KuB9UeYDE9l9MaTllEx95PCaBOXi8w?= =?us-ascii?Q?K3zky+29+TDxxUz6TfPFbIwBHXtqMtt+0Onomm+mWvKI5TSR5zXDbhlobQBS?= =?us-ascii?Q?5nrLYy4A5/r2UjgEMh8MRlhgU4XjtpoAD3YkRBR/SBdeXxb0CsHBjsyuCiAv?= =?us-ascii?Q?uMrPD9Za2duLjIIAAYKmlTqalD6Et75PPjeHPLJHUIPjq7fQfz+VPp8f/04U?= =?us-ascii?Q?59TM6+yujHvuxIFE6T7AHpdtpVe0zh1tpAYb4FaLaZswh5EbcarmxIkeGf09?= =?us-ascii?Q?38MHDV9cZmPl/5XvqFeEYOQUrmXasFxlFZTrBTycA5WgWfoq0JA6HKBVwXeS?= =?us-ascii?Q?GZrhheR6yhb//EVN+o3vCGO/oTIg+P+KXbefxyHETjfCIpMpWns2nySCUxUQ?= =?us-ascii?Q?n1B+hJtvwjS21NqMJAegXQgnMOvFKhIRjhgYfd6rHKD0FA5on+JcwsjmnxTO?= =?us-ascii?Q?/YDUKITCYGBr/wHewJ/CzGB38aUO0q9p2Froo87nG770bzgnkGAZmJcqo37Q?= =?us-ascii?Q?BaEbu9Kcl12dEvPdWiOya7P7DsRtrmN1lIwRwMOiWWY2POKugGlvjATz96Jc?= =?us-ascii?Q?nPdbYUj9dPvftWCNdDWBqlv8q20Pq02btuj9eb5QC/ePt9xtmK6W52ktgwP1?= =?us-ascii?Q?Q3BvTOTh+VjGgnjPbMFkOphzqAxHHe5CkG?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB556;5:vy9ldD1QHNT0nK/DY4m+JMx+aZlZn75czflfh58fIScWE6sPq0LHGItPLlhvWmN60/NhkI5eQZnCQeCO+cPwiKdvCR9eSyGxt3/n4ZZD8b4rDMkhqCQOTi4RH+Zlxs0WJprqdBTzzZqKud9bxmMaSg==;24:MocQpPnZjgDv1h0scRGpbDmTm0g3fMiwP9qyg41UCoBEhkr+0ZUpvzgVNSnOxVnOBU5/rJV7Rlce5XgteofX92QT9h6utRxCLNKl2zjVroI=;20:IHIM2CNlxLsVXcAqn9JZQuBci++t/LdOqfKaUmvqNt3KMpusLcV2yPMjQ4enKPViY3ETrqSbF9ZqH3iHlYsKjg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2015 19:41:43.1796 (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: BY2PR03MB556 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8236 Lines: 233 support GPMI NAND on i.MX7D Signed-off-by: Han Xu --- drivers/mtd/nand/gpmi-nand/bch-regs.h | 14 +++++++------- drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 10 ++++++---- drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 24 ++++++++++++++++++++---- drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 7 +++++-- 4 files changed, 38 insertions(+), 17 deletions(-) diff --git a/drivers/mtd/nand/gpmi-nand/bch-regs.h b/drivers/mtd/nand/gpmi-nand/bch-regs.h index 05bb91f..53e58bc 100644 --- a/drivers/mtd/nand/gpmi-nand/bch-regs.h +++ b/drivers/mtd/nand/gpmi-nand/bch-regs.h @@ -1,7 +1,7 @@ /* * Freescale GPMI NAND Flash Driver * - * Copyright 2008-2011 Freescale Semiconductor, Inc. + * Copyright 2008-2015 Freescale Semiconductor, Inc. * Copyright 2008 Embedded Alley Solutions, Inc. * * This program is free software; you can redistribute it and/or modify @@ -54,7 +54,7 @@ #define MX6Q_BP_BCH_FLASH0LAYOUT0_ECC0 11 #define MX6Q_BM_BCH_FLASH0LAYOUT0_ECC0 (0x1f << MX6Q_BP_BCH_FLASH0LAYOUT0_ECC0) #define BF_BCH_FLASH0LAYOUT0_ECC0(v, x) \ - (GPMI_IS_MX6(x) \ + ((GPMI_IS_MX6(x) || GPMI_IS_MX7(x)) \ ? (((v) << MX6Q_BP_BCH_FLASH0LAYOUT0_ECC0) \ & MX6Q_BM_BCH_FLASH0LAYOUT0_ECC0) \ : (((v) << BP_BCH_FLASH0LAYOUT0_ECC0) \ @@ -65,7 +65,7 @@ #define MX6Q_BM_BCH_FLASH0LAYOUT0_GF_13_14 \ (0x1 << MX6Q_BP_BCH_FLASH0LAYOUT0_GF_13_14) #define BF_BCH_FLASH0LAYOUT0_GF(v, x) \ - ((GPMI_IS_MX6(x) && ((v) == 14)) \ + (((GPMI_IS_MX6(x) || GPMI_IS_MX7(x)) && ((v) == 14))\ ? (((1) << MX6Q_BP_BCH_FLASH0LAYOUT0_GF_13_14) \ & MX6Q_BM_BCH_FLASH0LAYOUT0_GF_13_14) \ : 0 \ @@ -77,7 +77,7 @@ #define MX6Q_BM_BCH_FLASH0LAYOUT0_DATA0_SIZE \ (0x3ff << BP_BCH_FLASH0LAYOUT0_DATA0_SIZE) #define BF_BCH_FLASH0LAYOUT0_DATA0_SIZE(v, x) \ - (GPMI_IS_MX6(x) \ + ((GPMI_IS_MX6(x) || GPMI_IS_MX7(x)) \ ? (((v) >> 2) & MX6Q_BM_BCH_FLASH0LAYOUT0_DATA0_SIZE) \ : ((v) & BM_BCH_FLASH0LAYOUT0_DATA0_SIZE) \ ) @@ -96,7 +96,7 @@ #define MX6Q_BP_BCH_FLASH0LAYOUT1_ECCN 11 #define MX6Q_BM_BCH_FLASH0LAYOUT1_ECCN (0x1f << MX6Q_BP_BCH_FLASH0LAYOUT1_ECCN) #define BF_BCH_FLASH0LAYOUT1_ECCN(v, x) \ - (GPMI_IS_MX6(x) \ + ((GPMI_IS_MX6(x) || GPMI_IS_MX7(x)) \ ? (((v) << MX6Q_BP_BCH_FLASH0LAYOUT1_ECCN) \ & MX6Q_BM_BCH_FLASH0LAYOUT1_ECCN) \ : (((v) << BP_BCH_FLASH0LAYOUT1_ECCN) \ @@ -107,7 +107,7 @@ #define MX6Q_BM_BCH_FLASH0LAYOUT1_GF_13_14 \ (0x1 << MX6Q_BP_BCH_FLASH0LAYOUT1_GF_13_14) #define BF_BCH_FLASH0LAYOUT1_GF(v, x) \ - ((GPMI_IS_MX6(x) && ((v) == 14)) \ + (((GPMI_IS_MX6(x) || GPMI_IS_MX7(x)) && ((v) == 14))\ ? (((1) << MX6Q_BP_BCH_FLASH0LAYOUT1_GF_13_14) \ & MX6Q_BM_BCH_FLASH0LAYOUT1_GF_13_14) \ : 0 \ @@ -119,7 +119,7 @@ #define MX6Q_BM_BCH_FLASH0LAYOUT1_DATAN_SIZE \ (0x3ff << BP_BCH_FLASH0LAYOUT1_DATAN_SIZE) #define BF_BCH_FLASH0LAYOUT1_DATAN_SIZE(v, x) \ - (GPMI_IS_MX6(x) \ + ((GPMI_IS_MX6(x) || GPMI_IS_MX7(x)) \ ? (((v) >> 2) & MX6Q_BM_BCH_FLASH0LAYOUT1_DATAN_SIZE) \ : ((v) & BM_BCH_FLASH0LAYOUT1_DATAN_SIZE) \ ) diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c index 43fa16b..6b37414 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c @@ -1,7 +1,7 @@ /* * Freescale GPMI NAND Flash Driver * - * Copyright (C) 2008-2011 Freescale Semiconductor, Inc. + * Copyright (C) 2008-2015 Freescale Semiconductor, Inc. * Copyright (C) 2008 Embedded Alley Solutions, Inc. * * This program is free software; you can redistribute it and/or modify @@ -971,7 +971,8 @@ int gpmi_extra_init(struct gpmi_nand_data *this) struct nand_chip *chip = &this->nand; /* Enable the asynchronous EDO feature. */ - if (GPMI_IS_MX6(this) && chip->onfi_version) { + if ((GPMI_IS_MX6(this) || GPMI_IS_MX7(this)) + && chip->onfi_version) { int mode = onfi_get_async_timing_mode(chip); /* We only support the timing mode 4 and mode 5. */ @@ -1093,12 +1094,13 @@ int gpmi_is_ready(struct gpmi_nand_data *this, unsigned chip) if (GPMI_IS_MX23(this)) { mask = MX23_BM_GPMI_DEBUG_READY0 << chip; reg = readl(r->gpmi_regs + HW_GPMI_DEBUG); - } else if (GPMI_IS_MX28(this) || GPMI_IS_MX6(this)) { + } else if (GPMI_IS_MX28(this) || GPMI_IS_MX6(this) || + GPMI_IS_MX7(this)) { /* * In the imx6, all the ready/busy pins are bound * together. So we only need to check chip 0. */ - if (GPMI_IS_MX6(this)) + if (GPMI_IS_MX6(this) || GPMI_IS_MX7(this)) chip = 0; /* MX28 shares the same R/B register as MX6Q. */ diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index 632876c..4e52885 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -77,6 +77,12 @@ static const struct gpmi_devdata gpmi_devdata_imx6sx = { .max_chain_delay = 12, }; +static const struct gpmi_devdata gpmi_devdata_imx7d = { + .type = IS_MX7D, + .bch_max_ecc_strength = 62, + .max_chain_delay = 12, +}; + static irqreturn_t bch_irq(int irq, void *cookie) { struct gpmi_nand_data *this = cookie; @@ -575,6 +581,10 @@ static char *extra_clks_for_mx6q[GPMI_CLK_MAX] = { "gpmi_apb", "gpmi_bch", "gpmi_bch_apb", "per1_bch", }; +static char *extra_clks_for_mx7d[GPMI_CLK_MAX] = { + "gpmi_bch_apb", +}; + static int gpmi_get_clks(struct gpmi_nand_data *this) { struct resources *r = &this->resources; @@ -592,6 +602,8 @@ static int gpmi_get_clks(struct gpmi_nand_data *this) /* Get extra clocks */ if (GPMI_IS_MX6(this)) extra_clks = extra_clks_for_mx6q; + if (GPMI_IS_MX7(this)) + extra_clks = extra_clks_for_mx7d; if (!extra_clks) return 0; @@ -608,7 +620,7 @@ static int gpmi_get_clks(struct gpmi_nand_data *this) r->clock[i] = clk; } - if (GPMI_IS_MX6(this)) + if (GPMI_IS_MX6(this) || GPMI_IS_MX7(this)) /* * Set the default value for the gpmi clock. * @@ -1869,7 +1881,7 @@ static int gpmi_init_last(struct gpmi_nand_data *this) * (1) the chip is imx6, and * (2) the size of the ECC parity is byte aligned. */ - if (GPMI_IS_MX6(this) && + if ((GPMI_IS_MX6(this) || GPMI_IS_MX7(this)) && ((bch_geo->gf_len * bch_geo->ecc_strength) % 8) == 0) { ecc->read_subpage = gpmi_ecc_read_subpage; chip->options |= NAND_SUBPAGE_READ; @@ -1936,7 +1948,8 @@ static int gpmi_nand_init(struct gpmi_nand_data *this) if (ret) goto err_out; - ret = nand_scan_ident(mtd, GPMI_IS_MX6(this) ? 2 : 1, NULL); + ret = nand_scan_ident(mtd, GPMI_IS_MX6(this) || GPMI_IS_MX7(this)\ + ? 2 : 1, NULL); if (ret) goto err_out; @@ -1980,7 +1993,10 @@ static const struct of_device_id gpmi_nand_id_table[] = { }, { .compatible = "fsl,imx6sx-gpmi-nand", .data = &gpmi_devdata_imx6sx, - }, {} + }, { + .compatible = "fsl,imx7d-gpmi-nand", + .data = (void *)&gpmi_devdata_imx7d, + } }; MODULE_DEVICE_TABLE(of, gpmi_nand_id_table); diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h index 544062f..58b3d69 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h @@ -1,7 +1,7 @@ /* * Freescale GPMI NAND Flash Driver * - * Copyright (C) 2010-2011 Freescale Semiconductor, Inc. + * Copyright (C) 2010-2015 Freescale Semiconductor, Inc. * Copyright (C) 2008 Embedded Alley Solutions, Inc. * * This program is free software; you can redistribute it and/or modify @@ -123,7 +123,8 @@ enum gpmi_type { IS_MX23, IS_MX28, IS_MX6Q, - IS_MX6SX + IS_MX6SX, + IS_MX7D, }; struct gpmi_devdata { @@ -306,6 +307,8 @@ void gpmi_copy_bits(u8 *dst, size_t dst_bit_off, #define GPMI_IS_MX28(x) ((x)->devdata->type == IS_MX28) #define GPMI_IS_MX6Q(x) ((x)->devdata->type == IS_MX6Q) #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_MX7(x) (GPMI_IS_MX7D(x)) #endif -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/