From patchwork Fri Apr 28 05:11:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Priyanka Jain X-Patchwork-Id: 756222 X-Patchwork-Delegate: yorksun@freescale.com 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 3wDhlW0fgmz9s8P for ; Fri, 28 Apr 2017 15:12:39 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id C3E62C21C59; Fri, 28 Apr 2017 05:12:15 +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_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, 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 9E46EC21C67; Fri, 28 Apr 2017 05:12:09 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 775AAC21C5B; Fri, 28 Apr 2017 05:11:58 +0000 (UTC) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0071.outbound.protection.outlook.com [104.47.33.71]) by lists.denx.de (Postfix) with ESMTPS id 10CCDC21C62 for ; Fri, 28 Apr 2017 05:11:54 +0000 (UTC) Received: from DM5PR03CA0060.namprd03.prod.outlook.com (10.174.189.177) by CY1PR0301MB0604.namprd03.prod.outlook.com (10.160.142.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17; Fri, 28 Apr 2017 05:11:51 +0000 Received: from BL2FFO11FD039.protection.gbl (2a01:111:f400:7c09::147) by DM5PR03CA0060.outlook.office365.com (2603:10b6:4:3b::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12 via Frontend Transport; Fri, 28 Apr 2017 05:11:50 +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 BL2FFO11FD039.mail.protection.outlook.com (10.173.161.135) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1047.9 via Frontend Transport; Fri, 28 Apr 2017 05:11:50 +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 v3S5BdTn000507; Thu, 27 Apr 2017 22:11:47 -0700 From: Priyanka Jain To: , Date: Fri, 28 Apr 2017 10:41:35 +0530 Message-ID: <1493356295-9646-2-git-send-email-priyanka.jain@nxp.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1493356295-9646-1-git-send-email-priyanka.jain@nxp.com> References: <1493356295-9646-1-git-send-email-priyanka.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131378299108813899; (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)(39450400003)(39860400002)(39380400002)(39840400002)(39850400002)(39410400002)(39400400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(189998001)(305945005)(106466001)(36756003)(5003940100001)(86362001)(38730400002)(105606002)(53936002)(2950100002)(575784001)(33646002)(2906002)(8656002)(54906002)(85426001)(104016004)(8676002)(6636002)(5660300001)(6666003)(50466002)(50226002)(50986999)(76176999)(47776003)(48376002)(356003)(4326008)(4720700003)(77096006)(81166006)(8936002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0604; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD039; 1:fjfldLV4/IHccy/X8wFudybaJhI8q6pfGx5a8Px7g6LNGz/1hodzQ4BfNLbWTTFBaWyoy6E+vWomC8l4fi92QT7yfbaoAxW8a6pWPcvTrt8pYy9DFak0pJlgjxAOSf7DPdq0TJbyUoIs4p6Qxzl7Ui8ddN+OF2DWE8nf1wcJanUCKqD0oSd/jnKmW09eM5gqnZJlxwnWpmVw+/B8T4ycJkrXOSv1YlOMYr1eHZmWEd0VRLQPpC+hocWhheUOSfukgg44F6G51uoDHZPHicVXcgr9g2TeN7EW4gEl/zk6RVApShRX75jGtkDdBsmGOCs6BLCHmyeCvKvvIlnpxd0YJTawOPBigcGDJwSm+eJrtHCmeB/cUSHaW/vQxr1QNjwOoQU6U4cHwPDh+5jE9Oi6oBbTcRuPTdfCo2QePK+tqt/7i9TpDNti4ugP0rYBBCiSVAc3doOzEd0O8ru3s7s0FxObclGh5kJ2k4BgZh6sgDJj0QOX6HaegeDYxeJDSpcPfJ/bEseT2mt+ApVN6NB1l3Yta8yiuHQcVZC5YVbaU/JNmJWBZxUosnVX6v4ZxoKYr1gJ1+UEj8YZ6tUQZpUOLklbv5vfA7eKF2F3i6ds+9M7ZxSF+NFeW22V8Rg2nx4JHunMguIh1VMnvOx6HmMRioakKry+4ai72wgzue44L2FAqI5gB1eQA3KUM8hxmOdtLV0I6km8jzOSJ4iVJww88ZwawqaIrNAeUljcYM8YBV4= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: eebba26f-37b3-468a-0aeb-08d48df51408 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:CY1PR0301MB0604; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0604; 3:Fom0zMbyzjSGLJE9bItvWDOE1rhM2C/iu1EF+GNJkcEBa7+aHHhx1+/pBbl8phyvAxdyZl1wtZCpE2tceqtleykdwkrOOGPrvQ1h7y0vjxxSUtDFicLKUem1BVnonY5iKG+G1ItmcWcUryfpV6KZDd9E7gZ+YpN5Mkhy9QnW/+5HU5zHIgDRpawMxFCa+xETksi9sAOe0C+tfjmtVgvS2IH8QLytXxy10Uajsrtneyib5Bqf7zzFjM2/FIMzu6A75CXBMlWSEMf0CalgUdv03BO6sR7Lk1zUtqu6AdS5eoYmPBWstLKFeIvJqQAMNwEEPedFoTNEGfuL6piOqXdV85iAn7JqCVCHjcOdBr24uBpnPXqZljwNghD1gSJIxVzztkHvQeaQ0OjC1qGTLcajw4lUAgpCwMzetSP/jOBPJUS6Fx3vq7IWx6wv4ON28IL3; 25:liGRXnEkTr1vK0yQfSawHsi8B0gM0MLOwabif8h35hHMDf+gj4KW4Jb0uJOSOEKteuPht5PLXbzv+wGD+mnsKsEKxMujzpc39ImtErmg3pO6QcnodF9bGEuuRPwVk1aDejc26BHUN7IyuaACq3dN6Ru/crr0Do5DgLDf91uvnOXnvyx0SuKPxJAqkRwRU3mWPxEnk2khHHPj3RcaiyNPe6CxAQKFi3ofRQNEw+l/L3Q7wCsgcs+CThQC/ZaR9Cq15IE3Z9LiEMX+9GiGXv8FQtrSI3vwCQFhZwFmnlzctp94ozL+z8m5dCGeg0GCYue1XLZPCKXDUuINZh5O98MxFwo9+SB42qJUx5AE2Dp4HryM0ETE7UWTZZLy7Ow2AXmCvEh6QPv4XSsJlmH9KJiENprprut+0Rrf+DBBvvvvHCt27c6Hgbkh9ROcvzNqjyWz4Kntn3RbKO0DPezRXvxwOQ== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0604; 31:QV/QEZgwy3edfdyzpRiRB9V4m9okA96KgK8ig6h3bDQqbNbtRlovIPAOLnAJ9dQ3oGw/rsT24lAON5lMraMdnl1y8Al1D8CRF2M2UdEmnAP+HRqkbMPUCRge3/cL0vTvQMyOiDpECCkXiw9spL2TPAoG/tkx79y5BQznTPFAAtF4RZ5AJEAIMxsZxdG9PuP1d82D83GjSILfxvTsS6uDLcqWu4Qz1JyhSohwTAWl2jKiM/PxYC9KhZhQM2CPh854Zz9ihEIwCdg2z8lLwMWPy66VcTzAKUDkJQAm+VNhYdk= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(185117386973197)(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13024025)(13017025)(8121501046)(5005006)(13023025)(13018025)(13015025)(10201501046)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123561025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(20161123565025)(20161123556025)(20161123563025); SRVR:CY1PR0301MB0604; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB0604; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0604; 4:sOgn/4MbHfXxESl3jELnc+/KU1KAikz7ZKRzAtCh?= =?us-ascii?Q?S1RhtrJ3WTFt/TjhysWfLYWcCDiFqGLFn2XM1L6jGSXTRGrfbRAl/y7ZwXi7?= =?us-ascii?Q?+FyRcw7LAB5Can+Nt5pwiWc+1NBk7aWsA1nMYrdev2rfgdL79o9InecfX3/U?= =?us-ascii?Q?fkI3lHo17SK0DymUqoAY7fVS0dowvh8IeyhtK2L5jdSoUGZ3O3RlneuqsfoJ?= =?us-ascii?Q?ZvPV8SUKPGIYvsVMCVPp3rDMTHLk9LGq1dxyawLuyg/P/7X6E5/sdVuHWSoz?= =?us-ascii?Q?wPnmr63wAWIUWbzCPnSmj/geuS03IhUptvLP9BYR5SOfwellRBP9gav1KU0R?= =?us-ascii?Q?BCdffEAAW4CNGln6d1Scd0A2FNjaV+IbwiMj09wzhaAweKHcfG3L02HUniGp?= =?us-ascii?Q?HFjjOfQ0f8VyQMDewiFmlvgs9FVdGHBUbD0pX6kLJOJUwrt5Mu0L5nYk52Vf?= =?us-ascii?Q?jcbPu7I4eFtfUkeXXxnzclfb2LnsVyZl3BjgfSTbADe4cSzurjdqr3KxIn5m?= =?us-ascii?Q?xtC259NxjfK4EEeMixd7hjvCfsx+t88pdQJ70bABUu4vjX5/zpXb94uxZi4U?= =?us-ascii?Q?nwv0npqpUgLBQ1s1l3mmA8yg6tDCGPL8nTD9JbXbzwZdkiYRC+L0p+o2/1aE?= =?us-ascii?Q?j36ob3kzTfo+E2RmfDUfYBFqTIMBKwmm12Au5Ku7X8gauMwpVvSgHnoGaphN?= =?us-ascii?Q?soLwfV/MAcZa9sUDlPWPqFU9S7TV8Cxlxbu/H7S8LeLpC6INPU15HzH7I4oT?= =?us-ascii?Q?C2dm1JdhvBdFVAaRDIM16t+/WjpYmmIKzmhXdx7YoAiGGR9YtmQEcjrxKMau?= =?us-ascii?Q?42fyMqFri+wnkIgP91F0kXYGfuPXJa5zwsS0Y+6kDHddNQ7X9w3G7rpFQkXH?= =?us-ascii?Q?byau2MYjSU2uE3AHqdg86XzJHGjSmqv5xBo8Rzs30/e8Grh34XefEEGarRc1?= =?us-ascii?Q?m7iyg1Ov2mcmgZmbl4huZi3wvJip38XQI6krzlCWLq2Ef91UA6XvlJeWR2lB?= =?us-ascii?Q?cRI=3D?= X-Forefront-PRVS: 029174C036 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0604; 23:Jxo78qeIUu5d/H5GCtAzbMBNnaERviRPyM2fvc4?= =?us-ascii?Q?5pEjzai4UtyK7v8cAl0jr27czfd+x3sUCGGU5CieWTYLl51UsK4sWCYcgu67?= =?us-ascii?Q?SQVXg7Um/QQa8z5imSJZdiOKaoKiykmvBqyVb43Cp7cQyZW5d5MgDloMQJQY?= =?us-ascii?Q?Wye6X3qgj5W/wA1NUDCpEAa73zvUSQLwKn0Tb1ITEGj6uhblVLt1fIoTLFXx?= =?us-ascii?Q?WzcwaVkbAxJHflkamazx8HpAvGJ/bwwSOQ/UZjW1hrioeHcoPczCHW1A4p6J?= =?us-ascii?Q?lxbHR/XzsTiqPF2f0xeTigKaLV8CqWp7LAHZixITE6lVg/OxG5OQEXZmJWqB?= =?us-ascii?Q?2rEJjg0YZ09jQTYo2NH70ti5OnJWK7PRBgHVQixpdFciX2sdOFzHTNyT1CiZ?= =?us-ascii?Q?xM6A9yL7DbNh2tRucbhsgCDzWZa0zEZe2v6/1FaP2zuurM6r6/ZPXzupZTfr?= =?us-ascii?Q?UfXQdxZmoQlenVc6ZdUDs51qz694fs+W07HIo7cWruVZvhs0Px6sN01dwEkx?= =?us-ascii?Q?O+LnGLH/2EhCP3FMk3JDNkHUMnrRNbPem39VArs3E+kBfZNGiz6lIiynoA/z?= =?us-ascii?Q?ZQ00aFUIpKt5GZkCUxJ0hdWETQEY+1qkiayoVGYpnYMSfQ9CJzvjn1rrI0l2?= =?us-ascii?Q?UjAJqtm3Hl3ixRHXAtM2Dy5y9x2wB1uKQ3yqe/y/aOEu4jvklygJkQwGOUrK?= =?us-ascii?Q?CZ71FytBrmaxufbAffNbqyPfhUxFZEl+YX2AcucjqOYcnvFxRq4DJyuGXXfm?= =?us-ascii?Q?JLddyrFPEfH8jSCxeyLz6NGsnG7fxqWRG5BJpPntzItcFNG5jg30andqNrFy?= =?us-ascii?Q?lNb67fCYvPsNA+gzKVZOxN3M06H4fIcE4eBKZg+Glo2ZSmnN9jjC9XxNicut?= =?us-ascii?Q?GBvYiDjO5U0kDDauOekMN1RdrdfXFx3SzAC83gjJ330VT27UpA32UiYXmTl4?= =?us-ascii?Q?EPhxEprLWWvH1aLwXNQN8OthcLC1rLytIjarkN8c2QwRjZSUXOMZiV4c8wkw?= =?us-ascii?Q?cbbrquiWYqzEVyt1YgEno4DLJw6+Nn+XIi5y/ahpAW8ktFldjCY118tw40pa?= =?us-ascii?Q?tvFtkOtl3QYv0qoaZEK9kHRdNHrFr6rHXnkstfZMKLAY/rNQrokSbI15qosx?= =?us-ascii?Q?vi9/yN5VTxqfiSsNiG92t4zogPt7RCBH8R+EK/DNsp5HLV8NMV25DDY++G44?= =?us-ascii?Q?xHDC9/YY1hNH1aq2nTzCGGqTX43X5b5tgwogEQQNPTVssGdj1TbKj+MgrAA?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0604; 6:p8uLyZUCvhBhWFExV/8NkFt2gU9QIZbSCat+Q7zXXLc8/dBBZAp254+9aYAHFtAApDiczXiicaKmPCsYlCqY6ZtPifl6X2ESelnQhUL1XtspnfZ/nlaTF+9grbe5e8EqbVqvNB9YzX5uglVVeWAPTWbjb2hxFJtMbgotfJp1jkYBYXlUkkEowKFupfld+EsyRJkcP2EN7rywiDnQoTUkvuRExFCEAVe/xFxN3PWCWkOiMAIVyOmzP0PjXWZcWbXBLOtkV2Qang8wdTd5iwY3TcA63uhhGUAdsb+BE+VOaoyiemoIeKxanwunTaFOzLTqC291pfW4CW3VXT/mVZON/y7SM7681gPZ0OW0ZpdbLjE5+0eMoORzeVzGMOzkRf2jKgtHkyvvzRmlPHlpEIom6dAN9AoOOTqPi0+bdym6K+hDQlu0e/Hsy3CtYhegb9ipukyurqfPftAWD49VwdNpsRyjJw8pWleMJklghQqZJJ0sZj7c7wMrm5aMOQxRebwfLOwRGyJ1pPgZjsfnV/IGvA==; 5:vJmIY+i4lsR5y2zBBfYaFi8JUVKhWC/IHiUe29zCORuRRlt3JifkJX1Lm+wqbNgWJHCecjL/rq/EqKn+/vfATRPtdWh2wmKZPpXbIbZaGAL2PXNFi7LajSUzPCN61FhInJsQhL0hUFNVspvPS6Y5CnPuJR3g0f4M9WzGGi7MgUkOsL1QRGAiS3uTLQCfll8S; 24:LJX5XT0GqmX70rZ3rYYMYqMiR9JfcNYIz0NbQAkejqiDBTpW6atmMJor+RF+KXm89ueWYS5FxdAeJ9T9dd2X/LGF93KKBqUfezy+h1zSqcA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0604; 7:NDdzJufYSHdhwtN6wL/v3lHXEhWdi0ZxVeMtSlrfl3ATSHMZZUY5Qc8S18D9xSvkkEG4TLoMUl8W5amPLOCi/hQkDnyRJvKd5FtU+8O8BtsehbaaVsGBgJz+yRLlVbVTzu8bY3XjRzkDWyQTR2mrbnepmPtr7gA2AdtKcO6LU0AEOAtdCpw0yTndeXzz/K8DuO4tUBbeQ1oftaEUrk8yJC9AY9R5unBdQp5qd0cBHs6Fdw2AetGzUkG1s+jVAjmrsS0xhxqNqrtQR4bLTM5g0XSSKkTop1cxgZ2tPWec1Twa0SnigWExTxhPlr6xZrwBDAWXfVvtkP15V40KJnSfHw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2017 05:11:50.7097 (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: CY1PR0301MB0604 Cc: Priyanka Jain , Suresh Gupta Subject: [U-Boot] [PATCH 2/2][v7] 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 LS2088ARDB 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 v7: Updated NXP copyright Removed CONFIG_SPI_FLASH_BAR Changes for v6: Updated MAINTAINERS for ls2088ardb_qspi_defconfig Changes for v5: Renamed defconfig to ls2088ardb_qspi_defconfig and incorporated other review comments Changes for v4: Updated copyright Changes for v3: Updated README 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 | 3 +- arch/arm/dts/fsl-ls2088a-rdb-qspi.dts | 59 +++++++++++++++++++++++++++++ board/freescale/ls2080ardb/MAINTAINERS | 5 ++ board/freescale/ls2080ardb/README | 26 +++++++++++++ configs/ls2088ardb_qspi_defconfig | 46 ++++++++++++++++++++++ include/configs/ls2080a_common.h | 7 +++ include/configs/ls2080aqds.h | 9 +--- include/configs/ls2080ardb.h | 51 +++++++++++++++++++++++-- 9 files changed, 195 insertions(+), 12 deletions(-) create mode 100644 arch/arm/dts/fsl-ls2088a-rdb-qspi.dts create mode 100644 configs/ls2088ardb_qspi_defconfig diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 4c16c4c..998944a 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 53fc936..89bab17 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -171,7 +171,8 @@ 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-ls2088a-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-ls2088a-rdb-qspi.dts b/arch/arm/dts/fsl-ls2088a-rdb-qspi.dts new file mode 100644 index 0000000..3230e7e --- /dev/null +++ b/arch/arm/dts/fsl-ls2088a-rdb-qspi.dts @@ -0,0 +1,59 @@ +/* + * NXP ls2080a RDB board device tree source for QSPI-boot + * + * Author: Priyanka Jain + * + * Copyright 2017 NXP + * + * 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/MAINTAINERS b/board/freescale/ls2080ardb/MAINTAINERS index 759a146..3175ba3 100644 --- a/board/freescale/ls2080ardb/MAINTAINERS +++ b/board/freescale/ls2080ardb/MAINTAINERS @@ -7,6 +7,11 @@ F: include/configs/ls2080ardb.h F: configs/ls2080ardb_defconfig F: configs/ls2080ardb_nand_defconfig +LS2088A_QSPI-boot BOARD +M: Priyanka Jain +S: Maintained +F: configs/ls2088ardb_qspi_defconfig + LS2080A_SECURE_BOOT BOARD M: Saksham Jain S: Maintained diff --git a/board/freescale/ls2080ardb/README b/board/freescale/ls2080ardb/README index 0c9c574..873aadf 100644 --- a/board/freescale/ls2080ardb/README +++ b/board/freescale/ls2080ardb/README @@ -43,6 +43,7 @@ Memory map from core's view 0x00_0000_0000 .. 0x00_000F_FFFF Boot Rom 0x00_0100_0000 .. 0x00_0FFF_FFFF CCSR 0x00_1800_0000 .. 0x00_181F_FFFF OCRAM +0x00_2000_0000 .. 0x00_2FFF_FFFF QSPI region #1 0x00_3000_0000 .. 0x00_3FFF_FFFF IFC region #1 0x00_8000_0000 .. 0x00_FFFF_FFFF DDR region #1 0x05_1000_0000 .. 0x05_FFFF_FFFF IFC region #2 @@ -68,6 +69,31 @@ 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 + LS2088ARDB RevF board with LS2088A SoC. + +Images needs to be copied to QSPI flash +as per memory map given below. + +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 0x01000000 Booting Linux flavors which do not support 48-bit VA (< Linux 3.18) ------------------------------------------------------------------- diff --git a/configs/ls2088ardb_qspi_defconfig b/configs/ls2088ardb_qspi_defconfig new file mode 100644 index 0000000..139ff08 --- /dev/null +++ b/configs/ls2088ardb_qspi_defconfig @@ -0,0 +1,46 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS2080ARDB=y +CONFIG_FSL_LS_PPA=y +CONFIG_QSPI_AHB_INIT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls2088a-rdb-qspi" +# CONFIG_SYS_MALLOC_F is not set +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_IMLS is not set +CONFIG_CMD_GPT=y +CONFIG_CMD_MMC=y +CONFIG_CMD_SF=y +CONFIG_CMD_I2C=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_CACHE=y +CONFIG_CMD_EXT2=y +CONFIG_CMD_FAT=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_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +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..363bfd4 100644 --- a/include/configs/ls2080a_common.h +++ b/include/configs/ls2080a_common.h @@ -1,4 +1,5 @@ /* + * Copyright 2017 NXP * Copyright (C) 2014 Freescale Semiconductor * * SPDX-License-Identifier: GPL-2.0+ @@ -28,6 +29,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 0x300000 /* 3MB */ +#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..8836cdf 100644 --- a/include/configs/ls2080aqds.h +++ b/include/configs/ls2080aqds.h @@ -1,4 +1,5 @@ /* + * Copyright 2017 NXP * Copyright 2015 Freescale Semiconductor * * SPDX-License-Identifier: GPL-2.0+ @@ -262,13 +263,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..a510435 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -1,4 +1,5 @@ /* + * Copyright 2017 NXP * Copyright 2015 Freescale Semiconductor * * SPDX-License-Identifier: GPL-2.0+ @@ -12,6 +13,11 @@ #undef CONFIG_CONS_INDEX #define CONFIG_CONS_INDEX 2 +#ifdef CONFIG_FSL_QSPI +#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 @@ -69,6 +75,7 @@ unsigned long get_board_sys_clk(void); #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ CONFIG_SYS_SCSI_MAX_LUN) +#ifndef CONFIG_FSL_QSPI /* undefined CONFIG_FSL_DDR_SYNC_REFRESH for simulator */ #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) @@ -157,7 +164,6 @@ unsigned long get_board_sys_clk(void); #define CONFIG_CMD_NAND #define CONFIG_SYS_NAND_BLOCK_SIZE (512 * 1024) - #define CONFIG_FSL_QIXIS /* use common QIXIS code */ #define QIXIS_LBMAP_SWITCH 0x06 #define QIXIS_LBMAP_MASK 0x0f @@ -250,7 +256,7 @@ unsigned long get_board_sys_clk(void); /* Debug Server firmware */ #define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR #define CONFIG_SYS_DEBUG_SERVER_FW_ADDR 0x580D00000ULL - +#endif #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000 /* @@ -263,11 +269,17 @@ 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 SZ_64M /* 64MB */ +#define FSL_QSPI_FLASH_NUM 2 +#endif +#endif /* * RTC configuration @@ -347,6 +359,25 @@ 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_size=0x2000000\0" \ + "fdt_high=0xa0000000\0" \ + "initrd_high=0xffffffffffffffff\0" \ + "kernel_start=0x21000000\0" \ + "mcmemsize=0x40000000\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 +400,7 @@ unsigned long get_board_sys_clk(void); " 0x580800000 \0" \ BOOTENV #endif +#endif #undef CONFIG_BOOTARGS @@ -378,11 +410,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 +430,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