From patchwork Thu Dec 1 02:13:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Yuan X-Patchwork-Id: 701332 X-Patchwork-Delegate: yorksun@freescale.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3tTk9X1RgWz9t37 for ; Thu, 1 Dec 2016 15:01:20 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=freescale.onmicrosoft.com header.i=@freescale.onmicrosoft.com header.b="HhAt5MeZ"; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id D4BB4A75CA; Thu, 1 Dec 2016 05:01:18 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IC5BcqJ0CAiV; Thu, 1 Dec 2016 05:01:18 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6E1AAA7593; Thu, 1 Dec 2016 05:01:18 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A86EAA75A9 for ; Thu, 1 Dec 2016 05:01:14 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A2mJWI832ctL for ; Thu, 1 Dec 2016 05:01:14 +0100 (CET) X-Greylist: delayed 4689 seconds by postgrey-1.34 at theia; Thu, 01 Dec 2016 05:01:10 CET X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0090.outbound.protection.outlook.com [104.47.37.90]) by theia.denx.de (Postfix) with ESMTPS id 0C308A7593 for ; Thu, 1 Dec 2016 05:01:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freescale.onmicrosoft.com; s=selector1-freescale-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=SjPGLNyNDrZJB6h1Cus5oP5+giYJMOtztFTz9mElxqg=; b=HhAt5MeZjoU5NmC7jLBuX6npAT+kJcOFBGQR13bWvK+bjM4EVDXn/EeJYffkVF8/eRIA8eBkGEueMYBUVgS6sAi53VIT8h7ZuH6DOm8lUwHt+xs/M0Fs1sYBDmD2s5D0SG0oAO2Cx3BZWABxjZ7cXvufGIaxvcyNG2H0L/HQwXs= Received: from BN6PR03CA0063.namprd03.prod.outlook.com (10.173.137.25) by CY4PR03MB2984.namprd03.prod.outlook.com (10.175.117.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.747.13; Thu, 1 Dec 2016 02:27:09 +0000 Received: from BY2FFO11OLC006.protection.gbl (2a01:111:f400:7c0c::134) by BN6PR03CA0063.outlook.office365.com (2603:10b6:404:4c::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.747.13 via Frontend Transport; Thu, 1 Dec 2016 02:27:08 +0000 Authentication-Results: spf=neutral (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=freescale.com; Received-SPF: Neutral (protection.outlook.com: 192.88.168.50 is neither permitted nor denied by domain of freescale.com) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11OLC006.mail.protection.outlook.com (10.1.14.199) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.734.4 via Frontend Transport; Thu, 1 Dec 2016 02:27:07 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:527; Count:8 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id uB12R3xb003384; Wed, 30 Nov 2016 19:27:05 -0700 From: Yuan Yao To: Date: Thu, 1 Dec 2016 10:13:52 +0800 Message-ID: <1480558432-11948-1-git-send-email-yao.yuan@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 X-IncomingHeaderCount: 8 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)(199003)(189002)(626004)(575784001)(2906002)(8666005)(36756003)(5660300001)(7846002)(50986999)(110136003)(6666003)(38730400001)(4326007)(8676002)(106466001)(77096006)(6916009)(189998001)(92566002)(97736004)(47776003)(39410400001)(105606002)(5003940100001)(81166006)(81156014)(48376002)(68736007)(39450400002)(33646002)(305945005)(42882006)(2351001)(104016004)(8936002)(50466002)(356003)(50226002)(7059030); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR03MB2984; H:tx30smr01.am.freescale.net; FPR:; SPF:Neutral; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC006; 1:ZnGV164hcuTg8U+HJAa2m/fxJsnuygiKrMZqBAW3k/FbnuIs0pRxHkd9AiyPDrPok4J/lcl55i1tNBSIdE4hgB+HGmlUXxCsPTduiRWLZNS6ishynxCTxf1zgXP6irXmPckxzZdW/Zx1nF+AOr34sisjleyL8N5V4HiJM7w0Y/hGi3DZk0S5K7Obnj5baZNxmp4gg5BmHEiKWsrWQJOTyxLEW5Co1s5xhoiantpHuZUarNw1lwf9ZbFTglrpPzIWQI2akGIVb61mvR0xPKj7KXnTsJdn7jrwvDF8k+6wBBZDEVj9vog5ptLYkakHz8gehl0pxzn8+Kjb4ximp1UFGanFvnP63vIe0cHYx04rV9d0H/DlLggaAmcIj9+S1uZbljRHdRTOviVzD2wch89EIj2w6OW3E3IwZ3N62qRQyirOve5L/F3GDjJ/c5Jt5ZBtzXwCTFbUCEfySiu2qlXoGPSqwilKGRX+Z2kSGXLq7CAXN8gatklS38kpf8qZu3X4uvHdMXIk/1969/T4a5FU9PcjqSiSMXGFJ7w6/09SLbAx1wMLprHVni2KJH9KkSZ6IVJfPspT52SX+A3Vpp3BVw== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 131be1d1-ad93-4914-b2dc-08d419918c53 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY4PR03MB2984; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2984; 3:YzwXoVNC5oF5ctdeT4h9x/RN5AD9wc33JJgvY8MC0yaHDKauvkdG5rv/z4SsEt496XUE//kCHXeTlRSASlkEunl26mEhr3y1tfwFFkhiWAG3cuTnOm4SuRuDNZjJbyiq69AWuBDxn25X4DINAw5UoEpS+KbY6SMOqk7d5acnD2PrUc6eVIC/Lm/9Wub98X+GkLYw3N+oC/+5ujara3KEgy3qLSUwbbhe9ds2L2w1f1mNCqGsYQB4cBSGCFAhpgyy21bBs6jCa2sFcOEITyQE3lVEQCYH9SFsQs9TktOVNVGJT60G9D6YQd/Q3GoGXx/TBBAKJCoE31OvrL2f05V3UQJSbM0hEHLC8z5U+DNOJ3Ek+JlZLPvpdujC9ZySh/FW X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2984; 25:fpzQNmh2/jKncMJYRcRTFg10PXU++fU5C77ynCrSUylz5u5PbFMJVVfoBCy1AHbjBaCWQv1KvRgVEB4kXMwQ43fmMmhTex1MMZQcsmNt9cM6IRbHmAmiSj4bWXAAVV6LxmXdVVMn3w+9qSpdoeaJHqXMGfDeVhHOCtsf+9IIomxPgU/uK7cRzBq3myhhW3fOVvxj7kHDBo7n5EV5fpqSAcl24CVRXjiqCfZpvFNqRRL4mCCppUMoHPT1z/fRJQsvcfpLwWdgE13W1JX4SugpNAqOIsMSJfIW+VBZkjDUVqKxmLEAYuB9WRzG+Wsvy1Ge6xSeHcOunF+efRH48KmXI4iWziFX054gnpXh5xFX79kroUFZ/i8QUbcvkfqqyrJ4lCgoYe0Kpyzm6KkDFxft52gjBYulcpB8bX828Ea4371Wug5ZGWPAauzNxbsPlFRo5AX2FuDvff/jrLKzz3IqKaT5ss+rdi/IUg36qSu5ejtTQGLd6BEQFBbXqs7YR/twhQMUoSag8fitTtN3iU8WF2O6BvwFcsxx+o4uF3ucLX8B3XdNTj880iRlw4QNmkPHBtrATQ809qy1UlodV3kuFAvitSPUQU045rQJMWxmuPv8aEpTr3E0pyBLGk9d642wdUjnUx8FsL93uHABxAtRWaxriRn57MHADqa24aIRm/hGW+yMkARRhZsDh9ZPiMD/sHWN8yT0d64LqWTMj6U4/0LpyvXpb2XziuMKgMGGf125MNksDRoUiXk8JSe3R7QXKz5YfHjDjhiqKz/oQTQ4GWnV1Ws1hzFf7/d3Qc3D2J4= X-LD-Processed: 710a03f5-10f6-4d38-9ff4-a80b81da590d,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2984; 31:cjwHoChQMysrb3pmXQ9fdPuJqB5aXVWQ2wVXH53VPgQ3sKwhhuB4RKxzDcRVS/991ORJNSmHKUtbfs6Bgv1gVUmp49T87K5tIm6P1iE8XXmZFepFq0qsbdBBsysiOdTfCJIArkOEakNnj9YapYK/r4Nl7fX1TOad0632LTHS5fttGgzgZ0ZZSCM3TtkOevfDlzgalXXdKTnh5AA8roeYMIsXw1m19W5dHGzLLSxbY3GRsxju0DY14pI3LAPJZQ/AU9u1f96eqU2MGvF0f2moMQ==; 20:LHw/FhubGHatbKsnKxE5K2zfOOzk0Z/bIpJJnkx7SXamoxJ2rr+tfLuDPzSSR6mg21HTUg1xEOve7pCZjOuXwYpaWxLlLEYtTJKvDu8GQ6xpGm4luh4CVEEajp9yia3ti05Eaa2twYfZlGuHBjHiG1cl5Yn0XV3XK9CqwNB/Tw46UlqwBRUApwLBCN0mimRm6CfqI7hYlhqnJuTGolzYK7xGER0w0aa8uDqXNMubByqRJv0uHq57lcX72hCBXo4hIR6bGXXZMpno4/rOcnZjKexfApy8NylE3LAVMa+enAhnT8T0PQJIHkI4NAFJQf/QxEau/tK6poeHJDnvHELxZSIqgqgVxEMaeLf6ahdGHMNtKxKZdNjE2B67K6S66lrqm9jfUE38UY71WztannKjKsm8MXg34JudbK7fBlbknoBpCrJmH/94wsa4+ZVFGaswH8i+zNZY3oF7qDvHNJL9TXlYC8kt32IzKqRbhSMiIG6mV+hOBc7f+yR1rK5RNHPoqHDGxIHC6zJ5bYuZT0BbrHvoFClCFhdRuhH229j3KoKOUuj9GxDe+A2Y3BvVlqdBUjJzhpXUSFl2kL9HOVYwyTr1DPbHkYGahUr3+wUtlqc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(13017025)(13023025)(13018025)(13024025)(13015025)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123555025)(20161123558021)(20161123564025)(20161123562025)(6072148)(6047074); SRVR:CY4PR03MB2984; BCL:0; PCL:0; RULEID:; SRVR:CY4PR03MB2984; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2984; 4:1SKzbNWub4qShjNTwDpborc+F38deGdVSxGhKMK+v9RHHhu/xMtinOf8SVcbrf6flJh0DPZT9B+wHl8XQKCOkxY2EPKwNo9i0/rXnZzoBfETGyjaILg+ZKB9S6zB23NNnbcTRyTVkZkqxJKOO7Mnk+TJo/qtJn36b6Lg0yqW/s7fgbdOOYAQgPeywWhTECh0Mwpy0MDhKoCyuBl0hu/OpDlSgVVQgGDn2nc1VorhwPD1m8COeeem6pIvQnmg9RgwPpnZkBjxy7WzHV4vpkKgN8ixJaje8UXIJciwh9bQXRCpy7F+94eKskng4z14P5wiZAKagp6beUoyb/rCEbvzpY2a/WWhERVyO6k5ucl7GvprHj0JAoIeiLYHQoVO5BYCO8mez9slwiPDeFMEMcOp2WdWUCajBBwowxA2ExV5UySisMD0NowWnTR+t9gLTfLy/I165oE2I0oT28jLsD4K9n2gP+FBcLldX6HHee9l9hzhd5Rbb3p1R0NWhHZwx0U7mI3ni3+u57RisBYDxE6MIwcgVqlxNoa24PlY3fG8KgjU3I/NQpUJ/MNZ4ItZ46dedoI28EbIv9/1gpiIvqmedO07NQR3xLL7qBqeqZZ5J0RWyFjxXxIqweQka/huijRCAjpWmh3EzuOtzjpZ7lbDlzd4/GXx8xDKn5jW0YjNYls5ElvVTYxeNQAvcfshCgVHVSjqr3vgr1I8+NjnJatWpVpzACUvX6gopQ2gtALKDmtIeGGHzTKgr+7pqLvKsJxOZVexcq/Pcdg1R993b/N1c+3kEb6Kryrzfv4Enr9yzCc= X-Forefront-PRVS: 014304E855 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB2984; 23:FWzmw47sF9bonfyfrMGsVF6Us1nbBVBPtwOacDlZX?= =?us-ascii?Q?FRjz/PXp7kkFL1tdEt/NFx9RDspHcqkF4zmxXlO/U+nCofjH3MDp59dbk4yG?= =?us-ascii?Q?SFlMtsueOEl2YF46djmUbZfHf6lgPADeN4TclnmDW0GsXbp/aJzyq5agbjtD?= =?us-ascii?Q?TE09Kehlreyxnb4wey2hT6rCd8MpfQYhN9//4klG85htNIS/0jvy5SmmRjev?= =?us-ascii?Q?SiDA0r7WrHLLaaXnNm1j00ByVTB9SNqMpSCjX5HBDQhHnyuQzY2/UyGDbfxN?= =?us-ascii?Q?SpjfZVD5OxkaR4njQ5tAUesURzaFaxwOMuvYTH7+bQb2Y9pkXR62RUG0wgsA?= =?us-ascii?Q?B4kQ55sSmRQeyMMkQLNsZ4WrTF1eacPmLMDQhC9VdmhGlenlUsRbjU/SCMO7?= =?us-ascii?Q?mGT3Odd9StyHZVnfHgDxLA/BjW5d5TzzkV09tjYVelfHkbcZKwFOISzbQaVq?= =?us-ascii?Q?Mrf0jtVfj363owIVqsCz5klMxC1IeoE62ZlVoi5yG1FziRJ/X4faxkWlTdOU?= =?us-ascii?Q?RBr5Xwv0reJpa1k+uW2ZnrZ5VdMqvpDnQYALXH2+uojWQQj1/qYoOEU0FSq6?= =?us-ascii?Q?y+aOLUKFXtOXR14LerhvBiGuNK38t8Lv2z+3UKotUs2o5nmm4gKbuSRC/8qF?= =?us-ascii?Q?NkhaddzWPOlQuGXrgRw8g2kM7cpOuGpdtk/QJ3VdZLYr6OLn2nTzYDqqCn1p?= =?us-ascii?Q?+r5YGJFX2UL4Rtg70wvBSKRX45gIGUCmiKoFnpOjqgqaSK4btjzXWz1OFkPF?= =?us-ascii?Q?Vf9eLS2JC9cMOnHkctJ2SMbdrCbyt4b3Y1pENDGUYctNnFfsxgHj0gAVDzwc?= =?us-ascii?Q?ExJUPIb+zP+TNHCavIdKWhSJ/l5LXdBOAA2nNL8TO43GY8fUrE/3bOM7ETVu?= =?us-ascii?Q?x1KaqyIKfzJ0805LP8QijRPdPL8xqBFdCyEsX+hjx02ZRftygUvEadzustn8?= =?us-ascii?Q?skltqryb22jDbc2BUJ0NPCnkAo6ywfZE2zzCnyiybelIb85imFwe3Xx69n03?= =?us-ascii?Q?sogTqlC4Q0oFNeHrymeGNqATeRWqWCzrPz4KK8Pm0jTk4hr10/6SUB7hy1Q1?= =?us-ascii?Q?HdJFac=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2984; 6:DviqkNOQwLZpLeIKy3sSoyZgy+CiJhNojJoJZxbtZZD2D2IbiiDsqtKutBhjUP+gihJ1YNnsN9HUdJ8eQk2eUg3X7BO2K85LyCxA455dOcyNeZeEp+0WpRxkDBv8uWDEbCQ4YXPqWle41TEb4nPPzfD/mgtneQFCdb90m6oXdR42j+FWcuEMncoGmqMdaA15F8d/NgwORKYX+DuFbEYsO8xZ2qo4i9IJWh66r1MmZ7ShsQshcfF7tt+jDHZfMvbaDw3jACDBVKkYax9vRpIbMV2PqqqFklJv0BHSkj7/SYPeX4aIQka0ELzNv+K2vHiAEZCA/zWvo2hfqWr3oWrOof1lQmJ9j/gwjM/PHLyn4Lu3gUiFJJBF/hNXVmUr/zhxihTaT/xVUw14ucpBya3R1wIFoFGCSv++036YYXeLMeS4USN0wV/+BdD+gnEhfdYvnZjCeTVPAAqTlpAxQPYeMIjWtCdKvfO74YhtbQGhR3H0fqQkwTU573HwrXrzhNM0; 5:wGDl4OObKLqtUCUAmCAM8qwoldA/F6BpZWnMNlvO5sWwvQ0Wpqe3p6XL2IGctO9bWW44qBkkUlyuKagcmlkH3t0ukg4f49haGOa9ObKqcMm2imMtITrWc/+/tFFgoLvPw8G6Mwh3KKgVVVfDa98biGFRgP7Fr7tBriXBZIdm1Rg=; 24:J6PzmitRUJLjxt6xsisfskEcFVevpafZ40ULS2/En3RRZMXqFoBcSbODR24309x7kJppbnVhYuF9kF7pK5F8QgCT6Ragcvht/2rpdHCshMU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2984; 7:7rFKiNxcKc1rDVMdBk4qKFKahXnhHrg6saT8laacxvsHvLssv5FAYKuaxT7vZh5pD7GbUyx55C8vVnIz3wGHMUve4cS88Kx/W9RPWR2QP+4NMi0fNi/+XevLJ04ztUMEzB4EW/dwa34f222ZbbgUtENynZUl4wvC1StyjeSqB21Q76yXOFD4FF3trUkDSwir76rnRVWApsn9FnM3JMiFebiWkjOLl7YACdd9MLVxdMw7mXUt2VQKeMkFt2gg1Imx9NI1SY3FBVL0jQkP7InEg0JgjRyAxHRG5Sd8COTDvwmmBCMc5fZR7iySwENcY7PMZLWx8eq0PpetIo7JoxAJGInQGLshmxomV4WDHdo3m1VcezVOHQlP8yTLEiGAN/zgNkN0C2UkJpjVi8B1RxogG8WlNsDwRGZ19e+BUO/mBUTKIluOio7OFIghucFv9HArjadj6PR2LDWUdCdIccg6WQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2016 02:27:07.9302 (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: CY4PR03MB2984 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH v3] armv8: QSPI: Add AHB bus 16MB+ size support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Yuan Yao The default configuration for QSPI AHB bus can't support 16MB+. But some flash on NXP layerscape board are more than 16MB. Signed-off-by: Yuan Yao --- Changed in v3: Rename the CONFIG_SYS_QSPI_ADDR to SYS_FSL_QSPI_ADDR. Changed in v2: Remove the CONFIG_QSPI_AHB_INIT into Kconfig. --- arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 7 ++++ arch/arm/cpu/armv8/fsl-layerscape/soc.c | 42 ++++++++++++++++++++++ .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 1 + .../include/asm/arch-fsl-layerscape/immap_lsch3.h | 1 + configs/ls1012afrdm_qspi_defconfig | 1 + configs/ls1012aqds_qspi_defconfig | 1 + configs/ls1012ardb_qspi_defconfig | 1 + configs/ls1046ardb_qspi_defconfig | 1 + 9 files changed, 56 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 94ec8d5..f078712 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -71,6 +71,13 @@ config NUM_DDR_CONTROLLERS default 3 if ARCH_LS2080A default 1 +config QSPI_AHB_INIT + bool "Init the QSPI AHB bus" + help + The default setting for QSPI AHB bus just support 3bytes addressing. + But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB + bus for those flashes to support the full QSPI flash size. + config SYS_FSL_IFC_BANK_COUNT int "Maximum banks of Integrated flash controller" depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index 6c42387..2f54625 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -373,6 +373,45 @@ void fsl_lsch2_early_init_f(void) } #endif +#ifdef CONFIG_QSPI_AHB_INIT +/* Enable 4bytes address support and fast read */ +int qspi_ahb_init(void) +{ + u32 *qspi_lut, lut_key, *qspi_key; + + qspi_key = (void *)SYS_FSL_QSPI_ADDR + 0x300; + qspi_lut = (void *)SYS_FSL_QSPI_ADDR + 0x310; + + lut_key = in_be32(qspi_key); + + if (lut_key == 0x5af05af0) { + /* That means the register is BE */ + out_be32(qspi_key, 0x5af05af0); + /* Unlock the lut table */ + out_be32(qspi_key + 1, 0x00000002); + out_be32(qspi_lut, 0x0820040c); + out_be32(qspi_lut + 1, 0x1c080c08); + out_be32(qspi_lut + 2, 0x00002400); + /* Lock the lut table */ + out_be32(qspi_key, 0x5af05af0); + out_be32(qspi_key + 1, 0x00000001); + } else { + /* That means the register is LE */ + out_le32(qspi_key, 0x5af05af0); + /* Unlock the lut table */ + out_le32(qspi_key + 1, 0x00000002); + out_le32(qspi_lut, 0x0820040c); + out_le32(qspi_lut + 1, 0x1c080c08); + out_le32(qspi_lut + 2, 0x00002400); + /* Lock the lut table */ + out_le32(qspi_key, 0x5af05af0); + out_le32(qspi_key + 1, 0x00000001); + } + + return 0; +} +#endif + #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { @@ -382,6 +421,9 @@ int board_late_init(void) #ifdef CONFIG_CHAIN_OF_TRUST fsl_setenv_chain_of_trust(); #endif +#ifdef CONFIG_QSPI_AHB_INIT + qspi_ahb_init(); +#endif return 0; } diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h index d88543d..ff0a88a 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h @@ -18,6 +18,7 @@ #define CONFIG_SYS_CCI400_ADDR (CONFIG_SYS_IMMR + 0x00180000) #define CONFIG_SYS_GIC400_ADDR (CONFIG_SYS_IMMR + 0x00400000) #define CONFIG_SYS_IFC_ADDR (CONFIG_SYS_IMMR + 0x00530000) +#define SYS_FSL_QSPI_ADDR (CONFIG_SYS_IMMR + 0x00550000) #define CONFIG_SYS_FSL_ESDHC_ADDR (CONFIG_SYS_IMMR + 0x00560000) #define CONFIG_SYS_FSL_CSU_ADDR (CONFIG_SYS_IMMR + 0x00510000) #define CONFIG_SYS_FSL_GUTS_ADDR (CONFIG_SYS_IMMR + 0x00ee0000) diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h index 2df56f7..e18dcbd 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h @@ -19,6 +19,7 @@ #define CONFIG_SYS_FSL_CH3_CLK_GRPA_ADDR (CONFIG_SYS_IMMR + 0x00300000) #define CONFIG_SYS_FSL_CH3_CLK_GRPB_ADDR (CONFIG_SYS_IMMR + 0x00310000) #define CONFIG_SYS_FSL_CH3_CLK_CTRL_ADDR (CONFIG_SYS_IMMR + 0x00370000) +#define SYS_FSL_QSPI_ADDR (CONFIG_SYS_IMMR + 0x010c0000) #define CONFIG_SYS_FSL_ESDHC_ADDR (CONFIG_SYS_IMMR + 0x01140000) #define CONFIG_SYS_IFC_ADDR (CONFIG_SYS_IMMR + 0x01240000) #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR + 0x011C0500) diff --git a/configs/ls1012afrdm_qspi_defconfig b/configs/ls1012afrdm_qspi_defconfig index 1f3d487..c83b2eb 100644 --- a/configs/ls1012afrdm_qspi_defconfig +++ b/configs/ls1012afrdm_qspi_defconfig @@ -34,3 +34,4 @@ CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_STORAGE=y +CONFIG_QSPI_AHB_INIT=y diff --git a/configs/ls1012aqds_qspi_defconfig b/configs/ls1012aqds_qspi_defconfig index c0514ae..27bccd1 100644 --- a/configs/ls1012aqds_qspi_defconfig +++ b/configs/ls1012aqds_qspi_defconfig @@ -38,3 +38,4 @@ CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_STORAGE=y +CONFIG_QSPI_AHB_INIT=y diff --git a/configs/ls1012ardb_qspi_defconfig b/configs/ls1012ardb_qspi_defconfig index 13c9f21..459682d 100644 --- a/configs/ls1012ardb_qspi_defconfig +++ b/configs/ls1012ardb_qspi_defconfig @@ -38,3 +38,4 @@ CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_STORAGE=y +CONFIG_QSPI_AHB_INIT=y diff --git a/configs/ls1046ardb_qspi_defconfig b/configs/ls1046ardb_qspi_defconfig index 8508c09..fa17373 100644 --- a/configs/ls1046ardb_qspi_defconfig +++ b/configs/ls1046ardb_qspi_defconfig @@ -24,3 +24,4 @@ CONFIG_SPI_FLASH=y CONFIG_SYS_NS16550=y CONFIG_DM_SPI=y CONFIG_FSL_QSPI=y +CONFIG_QSPI_AHB_INIT=y