From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752938AbcHRK1Z (ORCPT ); Thu, 18 Aug 2016 06:27:25 -0400 Received: from mail-by2nam01on0117.outbound.protection.outlook.com ([104.47.34.117]:59106 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751505AbcHRK1X (ORCPT ); Thu, 18 Aug 2016 06:27:23 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=freescale.com;nxp.com; dkim=none (message not signed) header.d=none; From: Yunhui Cui To: , , , CC: , , , , Yunhui Cui Subject: [PATCH v3 9/9] mtd: fsl-quadspi: add multi flash chip R/W on ls2080a Date: Thu, 18 Aug 2016 15:38:04 +0800 Message-ID: <1471505884-33996-9-git-send-email-B56489@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1471505884-33996-1-git-send-email-B56489@freescale.com> References: <1471505884-33996-1-git-send-email-B56489@freescale.com> X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(50986999)(48376002)(50226002)(76176999)(50466002)(81166006)(5003940100001)(106466001)(8936002)(586003)(85426001)(7846002)(47776003)(189998001)(8666005)(81156014)(19580405001)(77096005)(229853001)(305945005)(36756003)(8676002)(5001770100001)(19580395003)(105606002)(2950100001)(68736007)(104016004)(92566002)(356003)(2201001)(4326007)(626004)(2906002)(87936001)(97736004)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR0301MB1970;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD015;1:OduQHRb9iaiaNsP/+0nX1kdmIeXIir2k1OxI2LdenJGV47q6E0cJgfyrjU1uleYoHJ2Mp5lGPLQud1d4SS114MHGAk1I1oW7BBFewVKokyE+AgTGGOTpi1mNWkv6505dqRfHye13jWD1zgbajRaUx4rx3N3U5wL0e90HV7BKEVE2o7M9S1xoMcsukYVCmlv36kZeJDFhWb2ubttpUFo5Hc08EaWFMBUOoummaoUJoe2Y5cPHKJRpErIgm6Ct/I433OwiE9s1y3su4qaQz1/1kI4lQWvRqMgT1z9mr6sQhcnNuUmqyg0z4HucvmNjVY0ceFElf9Ji8ZVL8sKgMISjpwr9bApk0HZuUjFSbNpg8YgqBLkGV1mVTyBflWJfxHG/tzJcan13igT3I8IRj8N4euWKfVO8tQaDo7NraAIYsf5trlB2eLCccY3Y0w9F+/45P8tUp5REzAF5q6Q8rYyixG5PqLBQHUj8AhQlLhvywPf9IIw6tDKodzgvThzHdEINm1mhzipo1qb+13MWfM0VuOrCpgr28VZ5O2uM7zFSOi2l6jmi7sjIgiQ3kz7217aJ MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: c23e2027-e1ec-45f9-c82b-08d3c73c4308 X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1970;2:rjZ8LDyrvBH7dPJq42BM8FHyxgtGMRkaolLqryfblhE/3bX4PTv0uA7YLMGDG/M8e6mN3zMUYB6C7Szq+K/DJ9YbsuvHIqX5/RvHsELRLF1uCVWyQ2wAOIqYf7EIQnXra2sXk08xYmD2WOJcKPTLuNblW8zq+BYfK8fapHUNrd5rn4TsiA+IVot+hgEoGzJm;3:Tde4I7ePGx7tSz8cYnUIqqFnL2VtdIKJaYZdgj2jMaT/5FBPqF6X5ZEx3RxrjN2S98RQwNhaZekYQuqJMOjmw0CGyj3cE6HngaE3CSfQBwEJUebuJ7a1cZMxI5rTp3Fnk13rc87zvfuC90TKMZ8IUGloL2FactRlW1kASRp5jU8cDq30HnQB7+cEZ+Xby8l6mkYsOPpALqTQ9OEnEOZxNf+4b4zNN32KH3VadtKTva8= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1970; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1970;25:Wg/9n1FsRSaeFZFax9w46Y7uQ/uJy5bk22Uyn0Wv0KYKNV+rviXda6+1AZdDePHZ1kWjnm7f/Q4gMm8VEH0BiZRDOLIMluDOImxNuni0Sjibudj/6eYF8c0Ob9JvYfAv4PCShhRmPgdbpD+xDX0xNQTg1lCDt5dlc6nUkO6LXVbVeYvCBl6dPNhMmS5+vvtQlL05L82Y0F1se+3xrZkad30JSHEmVtpR1YjkZx0iMR6RT7++eoe+BQzU9GXGpvoHRIriW9NLmd9YMDYDrdVOLQWtlFaRVQJydWvhiqC6MfS8bg/oQKKIsVrGTk/aQYEn5kVrKYGYn9lv0FkJV1tyWWHz9CHlmOL2PTRK2V3tqsigUgP8mIkmpiesvX/1WINSNPoLGmc96jVgG/d/FQ1HybK+HyZLC0WeecdrHcOCiXlQK8GvvB88TvE6Di3J2cMy0Uhiknw50R5fjB/w/4cZySIfhixSSoX9EQqNII1PN70E3CabKe/dwv/PhmJFa7dOSCJwauO6qsf4RC8FLTS1j/2KIiBY3KNaL4W5/skS6iqwP8QD4OGoW2KIOkLUFIZp2fa7jLQZShHNxJQDjsqiShARkOYl4x/1SoBbK6EZG+X1OXNw/e5yU/hGVD30krxLh56N6C84QPv0MHkoKogkiSj2bGNDnnA0kpQjPPgxBXZy7S6/aCuw+IJDsCcpdInTuvW7faQxHHo+z7rCxZjiS2duawYgespwK1CoqjViY9CLtDW84AXWLPrVL2mTcYIs X-LD-Processed: 710a03f5-10f6-4d38-9ff4-a80b81da590d,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1970;31:0Bf2KsSVHEz2iFXnmj+8Jyf5AOwE9YHLR6ip5mmy1LUy4zLxWhBe6X84XK2fVNFHlkwu0mI8m1IXr9LKp1+9TKK7UAq2FUPWgVIsUSzuawXYS2h36NpZ58FGWDZyfWIR9a4KPqHMZbAqueFZGqQlPiAGrRMe++93VuWjRK87PY9ka6LDGdvq0FDAQu4PLtYfMZ0fbF41kY4lTI30rP/4/jmwHsNNtvrcPXKSGtQGBt4=;20:ecfS9hdwoutNIdbJqPT8jJ6PZ+b6boVPDCApAJN48EW5lCnrrZ6+U2Xx2s7ipfUPpPV2c5oCCOZad8qHas8L3LHiYORlFLSNtkTVgkLL5wlAmar2sF0gtDATS/PAGjVqUd4/6hacw8Q3Rqkevm4k/CkRlG0tGiZNHKf9GzwVfk4o7C7bpp3lBoUItMZ947gHT/PCYm+RpitIrs2GGGeSZkSZiFU6rtOMPLy2lHZ9CT53XxqcIXaCDp0ckHIA85zggtLF8RLM3cJfWt4VEaBdyA0T9qbFOifCx8XB2K3jPu51/MgOTZ6TDm8YJi7tT+u6XX9+Ry290N/OsXECeg8uHiIDIF0STFH+ne14hOeYU0ggyKwtowE9zEVn+xiKLK6dx2FjlZIojSH3fQ/l76wbKqm2CF5N50shRgT//aizyPxPeMagdgFxWZ0nBUimUzX8lamJfpsDXBWpRvGrT5RkDXyHvXck5Bc134nqUbzckoyVkTqy/o6F4TBhRgF3ihl+RMCTSbsfCtWBlRuljstHYxjS1c3/7K32+YbwuV5VyEVQydx4HDeqNL91yu9oBvRPXxCMvj8qBLGLglhkljMLdpbTWbHlx51UcfMLK8TspOA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(13018025)(13015025)(13023025)(13017025)(13024025)(3002001)(10201501046)(6055026);SRVR:BLUPR0301MB1970;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1970; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1970;4:d7MpyvgDOy/r5f+75nvgAfkcQ/hyb1St9q/FptIXUb49yChr/uHPMKtuWNTFN7bquN2sL38RJdMmtqhP1N/CuDLokdRJx5oTSU95wOGCiBNAk0bkAVhfw3oLocAUFwfCypBUizmJ2L+0Mzm2sEQPgP1UlhlFlGMbAYv2cBgQsK8KYWaGIffjl1kU1hpUtaAp+TO8Xfuudgd8/e+IoIgBX7Hip9yweJPmAILWJe8AYoHK+xPIFhoatunfqXeyQ9hjPj/cLJ0UphRKIqB141JVOpSBzmLQ4OXtyoMAxdo2PNHZ0Ymq+B/Gn/nqwKXzKS+tb5Fm83CJ/VOsgkt5VikiIsZvLr2GovRhHt2eW3QFtotw92r8baYjDzNObrsWa+/uzfBkklEi/1S6t0BOudyV1ZhyDUG6cda15OYQi5uIdSDIcaz03ypy3jQybqkZIlJG5zUkJSytnRli9dmsMiPYIIoPkJw8QMPtCTXLFPNuBVbX8ZEg7uERleA87NNGIpGYCVinyxWfaYbR4NTTgmLWeT0WggjKAYA/fRq9leKD1QM= X-Forefront-PRVS: 0038DE95A2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0301MB1970;23:nqk46OlWrLuvA4m0P3NFUZ84RV5j5J/0zYTfYDz?= =?us-ascii?Q?7Lv0l1Bz1QOaW4Y9TuzFlFS6Uns2Ognbrl5Z+CquLPGalXc3BcHdcjW791+W?= =?us-ascii?Q?YRYywCuDLGdMlocHqzrT2fTsBmJKGVOKFVS7nasq9u4XKqtjwAEkHv5LnM2+?= =?us-ascii?Q?X6pqVuMobPS/D49wMff1euwvqIDBJtrXf6ard5zcg34lOZYQsviJPkC7YZ0I?= =?us-ascii?Q?TI9VT6vsNF05p5gHlEBqngtBAEPfAd3gVgPg2oRu8s4UYPf/Y1T7SpHgQWFb?= =?us-ascii?Q?lMIaI2DCl3n6tpbqpXIQFW1drzgwiOoVY2f5+I5xO8AGSPJ4fFC5LDHp9odY?= =?us-ascii?Q?Hs8pmAy8UQpUHH3HyPKCKQ2u9aYQMV32oV674aDubDBaJCx9qjRUgIjoMli6?= =?us-ascii?Q?E6bzWB7hVOU9Yn5EkJ6g6eLNzRHEnRbVsDPIv+Dw74EeASfMGSjp5nFEeb66?= =?us-ascii?Q?NJpNNq78ezVpnZzSo1iIy5mB7SEl9E848t8IQjHW00VzylOiVPDnLdMGecBC?= =?us-ascii?Q?UWAeuKt5K6f8KROWBzZ5xXv7E61k3Y+Qj6sH+EaRMxQcbOYZ8h/guhXVL8Jp?= =?us-ascii?Q?EFkGrl6xhwlW551MjALDxraBhoglIfgCFT5cdp/Yr3x1elFfAqJfssgh211O?= =?us-ascii?Q?KSZ6bslUEWIpV1Yb0oCTOt6qVg4sZ4lns9SvS/5bbOob/pFjZOybvZdzCSfQ?= =?us-ascii?Q?8SIU5mw4bseLfPUS9eaZHk43YJsYJ6Bkpnftwk6FdmTUAdi5bE7nshjH1i28?= =?us-ascii?Q?Tz7hZLEeelqSCFvwr3MTipJSW/EQ9N40RVVJI1/P7GEWbZbMS7ae9bFMYyFS?= =?us-ascii?Q?ov4wt1vhUulk3fZEf08iFjfCKr9lhY71Mf7AgvL4ttW3AJXf/xD9d7drw17y?= =?us-ascii?Q?hOhI6i6nwLkxV2IJK9L2dtBvihNOWC+HfzoHEdYzw3vBGPzNY8dMArDSSdKv?= =?us-ascii?Q?u5lUeNDpSL2LEg2R/U0Trtg8wJpbEg1el7jUnuUw4O3Q5IMW1fhLLEqlIrvQ?= =?us-ascii?Q?9x0uI+Ah/pQcOwcD1uN47nxTqKND7SzEKEkb47HSnDjWZxf+STPAyLFjZSoD?= =?us-ascii?Q?UT4I08KqcFQvzpn5/zQyNiwRHY2rRlYtq+uul8THfrSdOEYa3hg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1970;6:OT7paq8q7oe/0sesRQEryRhx/IzDftpHLcwQBxTjT8a1idkO6SJiQpJPS1oeFheoLfM9ggBt0SyAYiYGJBJkJMZflwBWVgVwTFto0ga2/Qi//e0pbDOEcqAj+T74ov0QoZVf7k0pApHXAFOoHTV25scs4M7rRRNcgWk7CiRXaMSSG3Ji36cfSz+EmB4XawDDDA70Vu9pPjt2FjjUbNJ6BB1VRdvTMykSb44d09QByJPGh6+4pnsNXhCxjcPI+StxVc7A9dbRLIJby8336UVq4Lz9DGKmOq3vt7NU6rAIfAan5sakl6UP0XTOJawIxJZrroHl3H1j9Lnoo1NgLCZm6A==;5:gSG8n3jd5Gfie64c048a3pWCsxZr8nAI+ZaA6PzUuM77BB2l2mrXmctHoHPPAIcKAwwG0A1LPuzV7bwtvalMxQ8SSiGCd2ExNAMxXu94syL3HBFDKcUt0/Ib7NwJ8VjQcXVEWvFM6+xHfseqt/jGUg==;24:ncEjXGgcTXqAfHTypyaxsyqddcq2dmpsoWrl+k1cY2fINd8O2rgKQApM+E05yZm0lI/5gCaB6WIMN5bmrY7Y6Lrju4MyYLrEIYPwARQTW7g=;7:uFSiNikZ+2z5BSiAiWJr+kBlc8BDcUjYNEBe7pf/tFGLon3wRL1p6n0+ZhXKyMjVkXcmk9u/pdgKkllo+djjlq8mXqjiYN5jJ/NRnOObyr1L5+mNZLR7OcAWgoeT75JKmsV9hMkS2RKIFwOTyElNHWNhH8prY8+BLPM7DX1opa9qTml99Ztr7LLCcvxf8d1CXuRjpV87VArLaMyfOP28e2PWkUfSnBIxxguwbLRYRClxSDENrc1eARAxDPtMUfap SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2016 07:50:02.3490 (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: BLUPR0301MB1970 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yunhui Cui There is a hardware feature that qspi_amba_base is added internally by SOC design on ls2080a. so memmap_phy need not be added in driver. If memmap_phy is added, the flash A1 addr space is [0, memmap_phy] which far more than flash size. The AMBA memory will be divided into four parts and assign to every chipselect. Every channel will has two valid chipselects. Signed-off-by: Yunhui Cui --- drivers/mtd/spi-nor/fsl-quadspi.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index 193e81b..8c9746c 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -736,11 +736,17 @@ static void fsl_qspi_set_map_addr(struct fsl_qspi *q) { int nor_size = q->nor_size; void __iomem *base = q->iobase; + u32 mem_base; - qspi_writel(q, nor_size + q->memmap_phy, base + QUADSPI_SFA1AD); - qspi_writel(q, nor_size * 2 + q->memmap_phy, base + QUADSPI_SFA2AD); - qspi_writel(q, nor_size * 3 + q->memmap_phy, base + QUADSPI_SFB1AD); - qspi_writel(q, nor_size * 4 + q->memmap_phy, base + QUADSPI_SFB2AD); + if (has_added_amba_base_internal(q)) + mem_base = 0x0; + else + mem_base = q->memmap_phy; + + qspi_writel(q, nor_size + mem_base, base + QUADSPI_SFA1AD); + qspi_writel(q, nor_size * 2 + mem_base, base + QUADSPI_SFA2AD); + qspi_writel(q, nor_size * 3 + mem_base, base + QUADSPI_SFB1AD); + qspi_writel(q, nor_size * 4 + mem_base, base + QUADSPI_SFB2AD); } /* -- 2.1.0.27.g96db324