From patchwork Thu Apr 20 04:23:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Priyanka Jain X-Patchwork-Id: 752628 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3w7m3F2KS6z9ryQ for ; Thu, 20 Apr 2017 14:24:09 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 0918BC21D69; Thu, 20 Apr 2017 04:24:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 6A709C21D69; Thu, 20 Apr 2017 04:23:46 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6D7F3C21D51; Thu, 20 Apr 2017 04:23:37 +0000 (UTC) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0064.outbound.protection.outlook.com [104.47.42.64]) by lists.denx.de (Postfix) with ESMTPS id 1B1B9C21D32 for ; Thu, 20 Apr 2017 04:23:33 +0000 (UTC) Received: from DM5PR03CA0050.namprd03.prod.outlook.com (10.174.189.167) by DM2PR0301MB0605.namprd03.prod.outlook.com (10.160.95.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10; Thu, 20 Apr 2017 04:23:30 +0000 Received: from BN1BFFO11FD009.protection.gbl (2a01:111:f400:7c10::1:161) by DM5PR03CA0050.outlook.office365.com (2603:10b6:4:3b::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10 via Frontend Transport; Thu, 20 Apr 2017 04:23:30 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD009.mail.protection.outlook.com (10.58.144.72) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1019.14 via Frontend Transport; Thu, 20 Apr 2017 04:23:28 +0000 Received: from b32167-VirtualBox.ap.freescale.net (B32167-16.ap.freescale.net [10.232.14.151]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v3K4NG7X024990; Wed, 19 Apr 2017 21:23:25 -0700 From: Priyanka Jain To: , Date: Thu, 20 Apr 2017 09:53:14 +0530 Message-ID: <1492662194-1845-2-git-send-email-priyanka.jain@nxp.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1492662194-1845-1-git-send-email-priyanka.jain@nxp.com> References: <1492662194-1845-1-git-send-email-priyanka.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131371358098561624; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39840400002)(39410400002)(39400400002)(39860400002)(39450400003)(39380400002)(39850400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(104016004)(38730400002)(5660300001)(2906002)(50986999)(356003)(36756003)(189998001)(50226002)(76176999)(81166006)(8936002)(50466002)(48376002)(4326008)(8656002)(33646002)(305945005)(47776003)(54906002)(53936002)(105606002)(106466001)(86362001)(8676002)(575784001)(77096006)(6666003)(4720700003)(5003940100001)(6636002)(85426001)(2950100002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0605; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD009; 1:5ezvJIyWCPdvwOhviKF43Mqcqwty4qkUTTexrmGibYw3xUm49mPyk5WjQUM4xz66oOw9REHVe3U0hH6rX2Ga+Ki2GXaab5p6u2UsUDjF26yY7rX0qEH8SS6lyxCNg8OrcPRrzRHGgeHh11w7EvoJPmOQIGoPe6wFaL3LKpDC3gG906k8MFahCwdU6ei7xDJr8pIy/SQSAQRMLeskqQVAR0ELYxet3XztN/cyi98b7h/T623Ouw/yIw2P+ldB7Bmv9R8eQX7Iy1ysgO62sTmTyePdYRcSiuG47ttZV2J4unafBn8yw7/9xSPblxUEUghKJ1q3zajLQLyGDuldiLzMAgExLbquzsW4oYPzALZvtcRnLYO1IbnuJwkZlWRx8IBdb5PbRWK2Y255fAi4iZUlgGjTxdeBvfZxDVKYfzhonHSWB76H4BPtnzwhxe1ownTC8z8P8i7YZTK1U2K0SckkUV0UKBSqmfGA3QX72hFXtTOSY6GFDmZ67a3jOw3GNBratQBlbU6PxJ+gl4XmLsxLRAcBS15sq2+eAZwfiaG9758F4vNYc+PTKss4UifZ+diHWDUod4uSemf3wLZ0vJWCcYWKDQY7dC1IqEjhzZClhRG/dyYLP/SqXJx4za0X9LKsYmSf/T8OuFRJJd4+vY5LvlnkDTW0flSCkPDFQkjhC6hkUNqZpcBM2dV/iq157tIkTWOCOj/guYavznCYPBPNY9IhF4e2gGxW466DZltGDRU= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7b0ab18e-5102-4eab-1a58-08d487a4ff97 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:DM2PR0301MB0605; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 3:XSfvWHQ/WpjVbuTYK61HdDsSZb8hsG4BV5w7E6jZ2KNfvIFOEzVE2CYu1CTOkj89ZabeOQs8pmf3YtwLNACdwHRoLSD290jnaqVTsm1OrGAUI+nIAtIZx8WhLK2xMlVtYza+mxSqUgJvR0KcgFcHLSkUZk+Ygk16H1GahgTpMwAAqRfaJnntg9JOD6xLgUyCYD4D1ZjUCJ2+6Mei9VDlqmqmGAI6iZ9aVaMF+bKhrzTPys5WCFefJRN0urCzPxcnsJJ4fyMElU+AuJ704yCuBhz6f4JePp2xofiA7e3WQ7+OO41C5YJ9km/c+lOzCxydNiGejCiVXxEM6k5gUulx7XvPHcyj78bbYrCHRJMwDjMZNrEEiXL19+zCel9nFn4CaPnTsXQALrX9LqLo4xb6ZtCJw53WMEC5nDJxLwz5vTrcAOtU6ipPwB8NzR5AoxA5; 25:9h7hOj4Pc0DJBtsXIx7WUQZ4baGSC0cg4TDzKk4AAjK+uxim7+TdxlGUavIj72EHS3eSA4aRmKrXIcEYoJORgntvYMxyeAp0wz0l7aC8kP8mnj82WoFxF0WfgYP/Igr3WpHZteiVYWUVlHtQjHoukdWDJEk9F2+siGkfJJA9KgVfjvBLnbu5phsdYHcVa7W59gmT671vMYAo2VfWA0QfIj+tIv63RLTIof/rtKB+5130SuulPtPNEOtMiemWiu85GO3TSGiya0T0ed5Bl9ctHnUoSZMRuDRiKYQF2Gnm6bl/n8QFR5FK1aJ0NPAvrL4oF1NDt/anGv8Io4u32m2PLfXJZc7Kv80eM7vVCrUWdIrN1sHeMx3CZphN1gl8MruPuN5FFrpkfAxzFA1DrBmsIf6b6+oSjLvMaQkCcLBF+RVtUjie2C58Ab6UpWFnHgBE91Fe3rN+rZ07v4AVJ8a1Tw== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 31:urRtNA2S9hHEOtDm+mDtN3kkV8QL/1x0lcSfeOGQ1eOePSMDHTpGGddPZT5QSq5nZJkKw+8ApiQ5vUAmOjz4mig0HuC7LWG9Ex7qL26PG/O+CFMB6PYkdx2orGsdzv3Yi3WtWwoQJJtvbBsFmi/UNOdV4CPger828gpEFQ2avaCRBczqXQRzgPlvL1WNQTvgP7U9MW40KQm8owP637iiyOTRrxHyBPYZ94QFSdXX0RiSCjp6FHLDONo5TVINN0Pu1n32QPZ7r+7xIhW0ERqyvQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13017025)(13015025)(5005006)(8121501046)(13023025)(13024025)(13018025)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123556025)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123565025); SRVR:DM2PR0301MB0605; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0605; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0605; 4:aH4wy4gsvofjy0luN0Jui1aNxUnmYUfNzZpv9+Xw?= =?us-ascii?Q?jeBOGl8u8xfT9Ukd2dmcdEtHHi2Q/kklJA2ih2AwUlk3V/XwDKaeDkQ8d3/2?= =?us-ascii?Q?sTgbj8EGV31pxJsCv0UVWGVgpFeDErwdaY5OrvJE6tBqRTnRbr3/fiQf3dur?= =?us-ascii?Q?0LhgKykGx7yQKyBsEFfrgYgDezQixTFVeAs17TweYMX/9AMpNoLpjXCNWm30?= =?us-ascii?Q?YLOLcoSg8MI8qzQDIASvh6ajvOf+HQrkx7KfDnD/h7qqvMa9OSiXYJzrLPb6?= =?us-ascii?Q?evJ1fvvF+Bs+HgWszowC7nCnQmVbXLAAox2Qs3PJLWiPjOS2sijJcEc+WAP7?= =?us-ascii?Q?5KDpZz8qAKJnJ3FDhVnlZ6raSH7MMbPnIKJL/Zxrz35gAGjctjXsEj+GGwkV?= =?us-ascii?Q?SVMgHilHmy+OS63601xzCd4dDcvDp+fLBncQ3OYYpX9LyZOVnnJtjXkT8Xlx?= =?us-ascii?Q?ijp5bjfMeJMpKst10Sj73v66X73bvLHyPnApr5vI0fjH/ZvP51irDJGl3lX3?= =?us-ascii?Q?mUrZiqTBD2L6rIx8gLTxeD+wRDpLIW0ukRvLxr7Z3BKwMC8BJTJtIRNDztSJ?= =?us-ascii?Q?U/PzPhYJImR7laB8lMeouhMkfZ26hiF3k0uZo4uWpBOeSe4H5Ecit0BXOQRk?= =?us-ascii?Q?+WTAG9QgAZCo7LJPWKaw/SyhbepaZ8OtKi1vX8lm2+XA2U6C22uWMS0MLMnE?= =?us-ascii?Q?oT8hK+amAoD5w3fGwWLB/PBBxS5/7XvIt2P0owZOxVO7OrE6CzpuQEXy9ppg?= =?us-ascii?Q?wrB0L4za2AnI8PEnuG/QLdr9ryxDh5bGnbC0l+wPk/G08XT4jXK6AmvOCXAK?= =?us-ascii?Q?k0aQeUWMAFlt0jpt8YmB2CM7kIysUHriTkTcCyKbeKRqIH+/OTfy2WMgxGit?= =?us-ascii?Q?HP/py7mYbdJtqZJi3ilaunKHMePAp3eTEvTWcBiFTN4L8ygJrAnLQk20I/wp?= =?us-ascii?Q?JUgkw+fnQaYkae/6Br+ZSwP04jC6uWbHknb5VEqMXA=3D=3D?= X-Forefront-PRVS: 02830F0362 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0605; 23:7QR53v79jHyaXFGSYr7U2JtW5jrR84iunWwGz/l?= =?us-ascii?Q?MtpVWqk2D0M8oCKmwi0EZGMvfoY7dcQuot6wJeVHUk3GC+HrsYan/r0n87hw?= =?us-ascii?Q?ObYLKOYq8xR0qw0XgDTQyYzQAqtyW4mZgWoLPyUu3yBFpAc6zZb3Sy4c/e3N?= =?us-ascii?Q?o/efnK5drlE7NMGiP5jqZ2kh6VksvGkvPK5hpUwv6k2H3efTKmGkyvd0GVFZ?= =?us-ascii?Q?qCwRuX5VBOf/1Jmp77E7g7TGF1REuhcSfG82ldktD2ad7ZZQFmt+hTMvnvVI?= =?us-ascii?Q?+yRj3+P9COlX4cZq1yCoZUx+mmWtEzrVdNfWIynkqaPMHxx2NFDQSqf5008r?= =?us-ascii?Q?4V25OQFEAD2TB7o8iEdr6Kv79ihdRzq13+SGIbWabmZU4+k2EyoRd5gZ/bkA?= =?us-ascii?Q?EnTI8bErvrIX6KFAhbk8fFyB/3/ZGXs8vSEUqtrxwZQvS3XwiE3HVL4elcs9?= =?us-ascii?Q?xTjTFTnMNukczsu0plcKbVhcPuqRLva30qdd5+NAV2U3+ONPSBsSyuF1WPhQ?= =?us-ascii?Q?c6sv+/EoSFYrzItNaDln+JOsyww9D4i67TRshIBXeBoq8lXpnoMD8Tch06XF?= =?us-ascii?Q?XR8y/3ip7rFQMMU4dwTY1o8MybT+1yFxC4uw+uMf60AZReHJ3yp4f4qYFJyl?= =?us-ascii?Q?WgzCG9ktiDxL7R4hqrM5WmgJ9hakvwRGv7q5ZhJrZxgdoCbowAGSpRiSqjKu?= =?us-ascii?Q?sLv52O24rkj7uScUJLrki/wWo/CZX1Q0ja7ZzyVA8lYyoB2skIc6ZJYThzNb?= =?us-ascii?Q?ozEj7tOniCsbTOWy7ipRiw/9Ts+5X14wtu/SPjQ0xi2ccyTrtXzy6KMtd7mS?= =?us-ascii?Q?mgdPW/FOwb4D1UVeI6mxm52SrKEoQdiFQzaXZgci2vVzB1i957y9Hnozsa8C?= =?us-ascii?Q?lHcnTOtKOeOUYsxles4MeWxHkAsHLtZjShJ9ioO91LwNNFhZnX7MCABqc8A4?= =?us-ascii?Q?1ja3/hn2Y+xjHYpFRD1uCc6WqulQ7AYba1+PxpXrNgm16PZOnHOQ29Z7Z2J3?= =?us-ascii?Q?EMVW1YpXgsR8tl0uRa26WRBIsa1IuKC6N+fHWYxE+kOl8BBOlVClS53OUrsi?= =?us-ascii?Q?6LVBadTegszTd5lYtze+HqfZdwuh9Z0tcgzs88Lxv2bwIRndjEhj7xcMArB3?= =?us-ascii?Q?9HBAc/OOApl1eMQeYbWNc5edg9C8sSEwlcXC87Uq18G16M5qgb0j5gzyXZ+e?= =?us-ascii?Q?3kzryTNUXT6sObf++zGbR/sAjBlJApX0+XrdB1lCgSJRdm5yauTCWtFf6eg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 6:LnBPdMOtQifOZK0ErF5zrs9JVRcX5dBuWtsUeP1WcMRgsqKeFNpx0vyAZVRNipC5YQLoExSWBrE+CgxBxnmcUeCxGriLAvjYHGpQGgSb2TO/2t92M3NGF9qyGfNf0V0RxERHNHAbrDjoVchjekqUnpry3ZDk1unwDgCBkjgiIT/zllkmzgyFJQkJM95+4T6ahkmljc6IKvXJd+mb3HcL7+BkqCskN1A4Dt49HK1vbxrc9JipzcdHl0XyFnbx8T5tkv3D5Af9jVYJ+IomZaXkbUXuu43J82Fem4tEqe5RMD2fGESGHt1nljgDF8JlWK2I0+l0pp0Nrg9I8n4V53OtEBhhOwuzSLsQ+lAsZ2WB1TlfhNv6xNS/4EQmkzgzFJlHkO5JGs1Mceqi+SU+6l4bcWea9f9a4vJQtI76avE+S7bY+H3VlsSP+H+0u8/aDWipvwYtC5Smsot9Q9v2Tu8xObwNg+micqqVDmSVW+m8o7kGSS3rS+eldv8pZ4Tk/rSUGXvwqyu1METsWnYjjd9HbQ==; 5:4llDPKlvJ7i6frNqsa/YFhfC9em9zx7fCoUyCLMSarKcKy1XP4K+Xpuz9xmhrfRzvjuQunHREU26idi4AWcH44ub/mXFJA9ScwVbUFC/sCUXaHheejrGxdAaGLcBOeWMwhBXvJ+hdhyR0VzU1wgYLxc4HA7Ic6ZxvzEKMJozlHQqjOW/x9jfAS0BvwfVfDrJ; 24:Oo+ZgnR7muiwrinShFEzT3FpS/nKrVfmoB64FbJvAUBID0OT+/PG3x3zLm/lQCxUZITQznBkIVi3NcummKalyxz8CjILvtEKNtjorH5cAKM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 7:kRQreAmahGTOD6ApFffNEPmXWX+bEwfpTGMJlJEIK7tdUTk7vsFxVIiknF+/UQ1WDN8tFP/cSJ2Yf3pg6akjjNeYx1GaZJH53g4eiXCZLj09eeTp+CzZSpVviIHvMHx+p4dKBhZEK63Naft60svXkeBG1RTS+0P8OLfZyLxCmJtGr1tkkyXVbkSJxnig87+7qE6TfM7F33gACkHSOA6laqR6yavLSp9xn2o8+EJWNJ9NA0urE6d1YuTsQ2qpTfFfzdDnVFTCRK2I8pSJ6BrCdZHcVt2LblkON1sf/VAQ3ct3LpK7LrI/mJw+/0ME20OiUH/l9fXNLNpg8AIYsXmpDQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2017 04:23:28.3117 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0605 Cc: Priyanka Jain , Suresh Gupta Subject: [U-Boot] [PATCH 2/2][v2] nxp/ls2080ardb: Add QSPI-boot support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" QSPI-boot is verified on LS20080ARDB RevF board with LS2088A SoC. LS2088ARDB RevF Board has limitation that QIXIS can not be access, so QIXIS flag is kept disabled Signed-off-by: Priyanka Jain Signed-off-by: Suresh Gupta --- Changes for v2: Incorporated Sun York's comments Introduced another patch to update qixis related code arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 1 + arch/arm/dts/Makefile | 2 +- arch/arm/dts/fsl-ls2080a-rdb-qspi.dts | 57 +++++++++++++++++++++++++++ board/freescale/ls2080ardb/README | 21 ++++++++++ configs/ls2080ardb_qspi_defconfig | 40 +++++++++++++++++++ include/configs/ls2080a_common.h | 6 +++ include/configs/ls2080aqds.h | 8 +--- include/configs/ls2080ardb.h | 60 ++++++++++++++++++++++++++++- 8 files changed, 186 insertions(+), 9 deletions(-) create mode 100644 arch/arm/dts/fsl-ls2080a-rdb-qspi.dts create mode 100644 configs/ls2080ardb_qspi_defconfig diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 12fd80e..4b32b2e 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -163,6 +163,7 @@ endchoice config SYS_LS_PPA_FW_ADDR hex "Address of PPA firmware loading from" depends on FSL_LS_PPA + default 0x20400000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT && ARCH_LS2080A default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT default 0x580a00000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A default 0x60500000 if SYS_LS_PPA_FW_IN_XIP diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 0ee4281..59366cf 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -171,7 +171,7 @@ dtb-$(CONFIG_ARCH_LS1021A) += ls1021a-qds-duart.dtb \ ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb \ ls1021a-iot-duart.dtb dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \ - fsl-ls2080a-rdb.dtb + fsl-ls2080a-rdb.dtb fsl-ls2080a-rdb-qspi.dtb dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \ fsl-ls1043a-qds-lpuart.dtb \ fsl-ls1043a-rdb.dtb \ diff --git a/arch/arm/dts/fsl-ls2080a-rdb-qspi.dts b/arch/arm/dts/fsl-ls2080a-rdb-qspi.dts new file mode 100644 index 0000000..aa9b03d --- /dev/null +++ b/arch/arm/dts/fsl-ls2080a-rdb-qspi.dts @@ -0,0 +1,57 @@ +/* + * NXP ls2080a RDB board device tree source for QSPI-boot + * + * Copyright (C) 2017 NXP Semiconductors + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/dts-v1/; + +#include "fsl-ls2080a.dtsi" + +/ { + model = "Freescale Layerscape 2080a RDB Board"; + compatible = "fsl,ls2080a-rdb", "fsl,ls2080a"; + + aliases { + spi0 = &qspi; + spi1 = &dspi; + }; +}; + +&dspi { + bus-num = <0>; + status = "okay"; + + dflash0: n25q512a { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-flash"; + spi-max-frequency = <3000000>; + spi-cpol; + spi-cpha; + reg = <0>; + }; +}; + +&qspi { + bus-num = <0>; + status = "okay"; + + qflash0: s25fs512s@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-flash"; + spi-max-frequency = <50000000>; + reg = <0>; + }; + + qflash1: s25fs512s@1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-flash"; + spi-max-frequency = <50000000>; + reg = <1>; + }; +}; diff --git a/board/freescale/ls2080ardb/README b/board/freescale/ls2080ardb/README index 0c9c574..3066b0e 100644 --- a/board/freescale/ls2080ardb/README +++ b/board/freescale/ls2080ardb/README @@ -68,6 +68,27 @@ Booting Options --------------- a) NOR boot b) NAND boot +c) QSPI boot + +cfg_rcw_src switches needs to be changed for booting from different option. +Refer to board documentation for correct switch setting. + +QSPI boot details +=================== +Supported only for LS2080/LS2088ARDB RevF boardr with LS2088A SoC + +Memory map for QSPI flash +------------------------- +Image Flash Offset +RCW+PBI 0x00000000 +Boot firmware (U-Boot) 0x00100000 +Boot firmware Environment 0x00300000 +PPA firmware 0x00400000 +Cortina PHY firmware 0x00980000 +DPAA2 MC 0x00A00000 +DPAA2 DPL 0x00D00000 +DPAA2 DPC 0x00E00000 +Kernel.itb 0x01100000 Booting Linux flavors which do not support 48-bit VA (< Linux 3.18) ------------------------------------------------------------------- diff --git a/configs/ls2080ardb_qspi_defconfig b/configs/ls2080ardb_qspi_defconfig new file mode 100644 index 0000000..d89c724 --- /dev/null +++ b/configs/ls2080ardb_qspi_defconfig @@ -0,0 +1,40 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS2080ARDB=y +CONFIG_FSL_LS_PPA=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls2080a-rdb-qspi" +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_QSPI_BOOT=y +CONFIG_BOOTDELAY=10 +CONFIG_CMD_GREPENV=y +CONFIG_CMD_GPT=y +CONFIG_CMD_MMC=y +CONFIG_CMD_SF=y +CONFIG_CMD_I2C=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_OF_CONTROL=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +CONFIG_FSL_CAAM=y +CONFIG_DM_SPI_FLASH=y +CONFIG_NETDEVICES=y +CONFIG_E1000=y +CONFIG_PCI=y +CONFIG_DM_PCI=y +CONFIG_DM_PCI_COMPAT=y +CONFIG_PCIE_LAYERSCAPE=y +CONFIG_SYS_NS16550=y +CONFIG_DM_SPI=y +CONFIG_FSL_QSPI=y +CONFIG_FSL_DSPI=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y +CONFIG_EFI_LOADER_BOUNCE_BUFFER=y diff --git a/include/configs/ls2080a_common.h b/include/configs/ls2080a_common.h index 427f623..cdb416a 100644 --- a/include/configs/ls2080a_common.h +++ b/include/configs/ls2080a_common.h @@ -28,6 +28,12 @@ #else #define CONFIG_SYS_TEXT_BASE 0x30100000 #endif +#else +#define CONFIG_SYS_TEXT_BASE 0x20100000 +#define CONFIG_ENV_IS_IN_SPI_FLASH +#define CONFIG_ENV_SIZE 0x2000 /* 8KB */ +#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */ +#define CONFIG_ENV_SECT_SIZE 0x10000 #endif #define CONFIG_SUPPORT_RAW_INITRD diff --git a/include/configs/ls2080aqds.h b/include/configs/ls2080aqds.h index beacb99..5e2c164 100644 --- a/include/configs/ls2080aqds.h +++ b/include/configs/ls2080aqds.h @@ -262,13 +262,7 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 -#if defined(CONFIG_QSPI_BOOT) -#define CONFIG_SYS_TEXT_BASE 0x20010000 -#define CONFIG_ENV_IS_IN_SPI_FLASH -#define CONFIG_ENV_SIZE 0x2000 /* 8KB */ -#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */ -#define CONFIG_ENV_SECT_SIZE 0x10000 -#else +#ifndef CONFIG_QSPI_BOOT #define CONFIG_ENV_IS_IN_FLASH #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000) #define CONFIG_ENV_SECT_SIZE 0x20000 diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index 2155a89..0d8e553 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -12,6 +12,12 @@ #undef CONFIG_CONS_INDEX #define CONFIG_CONS_INDEX 2 +#ifdef CONFIG_FSL_QSPI +#undef CONFIG_CMD_IMLS +#define CONFIG_SYS_I2C_EARLY_INIT +#define CONFIG_DISPLAY_BOARDINFO_LATE +#endif + #define I2C_MUX_CH_VOL_MONITOR 0xa #define I2C_VOL_MONITOR_ADDR 0x38 #define CONFIG_VOL_MONITOR_IR36021_READ @@ -32,7 +38,11 @@ unsigned long get_board_sys_clk(void); #endif +#ifdef CONFIG_FSL_QSPI +#define CONFIG_SYS_CLK_FREQ 100000000 +#else #define CONFIG_SYS_CLK_FREQ get_board_sys_clk() +#endif #define CONFIG_DDR_CLK_FREQ 133333333 #define COUNTER_FREQUENCY_REAL (CONFIG_SYS_CLK_FREQ/4) @@ -116,7 +126,9 @@ unsigned long get_board_sys_clk(void); CONFIG_SYS_FLASH_BASE + 0x40000000} #endif +#ifndef CONFIG_FSL_QSPI #define CONFIG_NAND_FSL_IFC +#endif #define CONFIG_SYS_NAND_MAX_ECCPOS 256 #define CONFIG_SYS_NAND_MAX_OOBFREE 2 @@ -154,11 +166,15 @@ unsigned long get_board_sys_clk(void); #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } #define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_MTD_NAND_VERIFY_WRITE +#ifndef CONFIG_FSL_QSPI #define CONFIG_CMD_NAND +#endif #define CONFIG_SYS_NAND_BLOCK_SIZE (512 * 1024) +#ifndef CONFIG_FSL_QSPI #define CONFIG_FSL_QIXIS /* use common QIXIS code */ +#endif #define QIXIS_LBMAP_SWITCH 0x06 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SHIFT 0 @@ -241,11 +257,13 @@ unsigned long get_board_sys_clk(void); #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 +#ifndef CONFIG_QSPI_BOOT #define CONFIG_ENV_IS_IN_FLASH #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000) #define CONFIG_ENV_SECT_SIZE 0x20000 #define CONFIG_ENV_SIZE 0x2000 #endif +#endif /* Debug Server firmware */ #define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR @@ -263,11 +281,18 @@ unsigned long get_board_sys_clk(void); #define I2C_MUX_CH_DEFAULT 0x8 /* SPI */ -#ifdef CONFIG_FSL_DSPI +#if defined(CONFIG_FSL_QSPI) || defined(CONFIG_FSL_DSPI) #define CONFIG_SPI_FLASH #define CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_FSL_DSPI #define CONFIG_SPI_FLASH_STMICRO #endif +#ifdef CONFIG_FSL_QSPI +#define CONFIG_SPI_FLASH_SPANSION +#define FSL_QSPI_FLASH_SIZE (1 << 26) /* 64MB */ +#define FSL_QSPI_FLASH_NUM 2 +#endif +#endif /* * RTC configuration @@ -347,6 +372,27 @@ unsigned long get_board_sys_clk(void); " 0x580800000 \0" \ BOOTENV #else +#ifdef CONFIG_QSPI_BOOT +#define CONFIG_EXTRA_ENV_SETTINGS \ + "hwconfig=fsl_ddr:bank_intlv=auto\0" \ + "scriptaddr=0x80800000\0" \ + "kernel_addr_r=0x81000000\0" \ + "pxefile_addr_r=0x81000000\0" \ + "fdt_addr_r=0x88000000\0" \ + "ramdisk_addr_r=0x89000000\0" \ + "loadaddr=0x80100000\0" \ + "kernel_addr=0x100000\0" \ + "ramdisk_addr=0x800000\0" \ + "ramdisk_size=0x2000000\0" \ + "fdt_high=0xa0000000\0" \ + "initrd_high=0xffffffffffffffff\0" \ + "kernel_start=0x21100000\0" \ + "mcmemsize=0x40000000\0" \ + "fdtfile=fsl-ls2080a-rdb.dtb\0" \ + "mcinitcmd=fsl_mc start mc 0x20a00000" \ + " 0x20e00000 \0" \ + BOOTENV +#else #define CONFIG_EXTRA_ENV_SETTINGS \ "hwconfig=fsl_ddr:bank_intlv=auto\0" \ "scriptaddr=0x80800000\0" \ @@ -369,6 +415,7 @@ unsigned long get_board_sys_clk(void); " 0x580800000 \0" \ BOOTENV #endif +#endif #undef CONFIG_BOOTARGS @@ -378,11 +425,18 @@ unsigned long get_board_sys_clk(void); " hugepagesz=2m hugepages=256" #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_QSPI_BOOT +/* Try to boot an on-QSPI kernel first, then do normal distro boot */ +#define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x20d00000" \ + " && bootm $kernel_start" \ + " || run distro_bootcmd" +#else /* Try to boot an on-NOR kernel first, then do normal distro boot */ #define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x580700000" \ " && cp.b $kernel_start $kernel_load $kernel_size" \ " && bootm $kernel_load" \ " || run distro_bootcmd" +#endif /* MAC/PHY configuration */ #ifdef CONFIG_FSL_MC_ENET @@ -391,7 +445,11 @@ unsigned long get_board_sys_clk(void); #define CONFIG_PHY_CORTINA #define CONFIG_PHYLIB #define CONFIG_SYS_CORTINA_FW_IN_NOR +#ifdef CONFIG_QSPI_BOOT +#define CONFIG_CORTINA_FW_ADDR 0x20980000 +#else #define CONFIG_CORTINA_FW_ADDR 0x581000000 +#endif #define CONFIG_CORTINA_FW_LENGTH 0x40000 #define CORTINA_PHY_ADDR1 0x10