From patchwork Thu Apr 27 09:38:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Priyanka Jain X-Patchwork-Id: 755920 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 3wDBjM72jHz9s8V for ; Thu, 27 Apr 2017 19:39:03 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id AB070C21C62; Thu, 27 Apr 2017 09:38:53 +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_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 1EDA4C21C50; Thu, 27 Apr 2017 09:38:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E1996C21C4E; Thu, 27 Apr 2017 09:38:28 +0000 (UTC) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0089.outbound.protection.outlook.com [104.47.36.89]) by lists.denx.de (Postfix) with ESMTPS id 18365C21C25 for ; Thu, 27 Apr 2017 09:38:24 +0000 (UTC) Received: from BLUPR0301CA0011.namprd03.prod.outlook.com (10.162.113.149) by DM2PR0301MB0608.namprd03.prod.outlook.com (10.160.95.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10; Thu, 27 Apr 2017 09:38:21 +0000 Received: from BN1BFFO11OLC001.protection.gbl (2a01:111:f400:7c10::1:137) by BLUPR0301CA0011.outlook.office365.com (2a01:111:e400:5259::21) 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; Thu, 27 Apr 2017 09:38:21 +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 BN1BFFO11OLC001.mail.protection.outlook.com (10.58.145.12) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1047.9 via Frontend Transport; Thu, 27 Apr 2017 09:38:21 +0000 Received: from b32167-VirtualBox.ap.freescale.net (B32167-16.ap.freescale.net [10.232.40.25]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v3R9cBrX031763; Thu, 27 Apr 2017 02:38:18 -0700 From: Priyanka Jain To: , Date: Thu, 27 Apr 2017 15:08:07 +0530 Message-ID: <1493285887-29133-2-git-send-email-priyanka.jain@nxp.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1493285887-29133-1-git-send-email-priyanka.jain@nxp.com> References: <1493285887-29133-1-git-send-email-priyanka.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131377595017037201; (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)(39850400002)(39450400003)(39400400002)(39410400002)(39860400002)(39380400002)(39840400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(6666003)(2950100002)(4720700003)(6636002)(50466002)(305945005)(4326008)(53936002)(104016004)(47776003)(86362001)(575784001)(85426001)(48376002)(36756003)(81166006)(76176999)(50986999)(356003)(8936002)(8676002)(50226002)(2906002)(189998001)(38730400002)(6306002)(54906002)(77096006)(5660300001)(33646002)(105606002)(106466001)(8656002)(5003940100001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0608; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11OLC001; 1:3wFfT/d96n7zWWxv2t9sLyUTbdkIXP96a62whwFvyHL/lafXPaXGnhyrcWFXJkN1EW3Wc+qY4+3bbECe3hQSjWWhDoJoQuz2xXCaH8a1nRB8OfPuShMA8q82s99TfNI5hkKhq30uKcF/YaGlWT1W5zeiema2ChglkbkZib6t++vA/w7ZQxsBYVIsdZkAfoGEEOCjGkU9jNbMmpB/s/lj3vf1ujubGENPa++RyhNzOKFQvA2w1FlbtVa8dNn7Z7/CpjGOJZrihKM6f3m0bOfcpyK0k8eaYiivDeWthqndYdU/ictyXEBtGX9mdG7zSAk4Oow8PGqHE13Sf6qr1qZYCl53+RXZn8ZkicLfXUAvkTBr51PpKZrwz7Xuq/cfuAXuOxOvHEtVR2X59lf0Q9d1GYH+NjHViENxUEL47tRyAkjZlY5rxuMpg4A4mvRZP8avuRqRqIUdIXFjPTkUPOVCeph38ryi9ULEuSCo+MqOEGff+ubTmNXtGror5+IT3K5CkPPnMo/w1tOPe7dgqfe61QRHneEWq2LcVSFaPZnMITwSm0a7qQZC6l6UX4rAsmvANYXzO6RmFcAVHBMVwP6O9woMKG0K7ciB6lnnLnmXpYgidaU63PfegKYAkqSH6GogLmyP2zmBdAMv/7rb12Avj+PBdMnZa+bkX8N3VbA/UV62snh7QvQA16lVk7fTYZcO7g7azfEh55+sMABiDPKDOLB5tg22T9xRjnkIlcuAhBM= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7d484412-3f3b-421d-2432-08d48d5124e4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:DM2PR0301MB0608; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0608; 3:PHudqMOEspIfXjULOHFSPntnUI7BK/z4nWp19EaNmfR6OwIItERBt98SEFvL0HYQDGxIa0r8LK1dfbT9aHjnj8Y+jUWtSpm8epnyNRjWUCYvcri0pQKuJchJc75H4gi54d0E4i8vVw9kOzp74b3INpZJ5Cj9EYKEVwiJD67yOj/K9hsQ4hTPRxdxTkkVusc0kwWDxZCMtza3MP4GWt9S8UQ1Y97I3gxZQ+fMYwiYZ1Dv5qzlvz7053yUhMGD7LrBOZOyKUMSWYF1IfS5P+CkP+2kn5zzKm5A+f8+I6EFIG422aswovczVgpyhvoM1JdwJRd3fnYc32QZovh7Gd+ee3KVQ8ft/84Q+O04MltU5Sep1m7As/CZQKh2Ed9ZLAD5tpvOSLAr2oezqS5PHMymn53pUAH8P0owZhF3WrmDM5i/epZZqnI0qY5y7VAH8ScF; 25:FZNpUupsLJa1Hma89M99VRi++3jqUXDsoSGZMlWLAQi1ThA04WyEZWv5VbWHHt32Ys6KGOjbXvgA8K+53UK3PEayPeIqLW3gHoOT/loMazgURfkEOuzqOEjnfSN1oQ3+7TN6Br92qrU/JgkYkt7+3uhWRYS4iIv4XaoT4s0TkVoK6p1TSHvdPG5ocgn/l8NgHAyMAsoHhWxAfJVFPA4X/+ySrelSz8nf+vwdjSfv1/pF8ID3AGPLx4co2oFQpWqXnknAqAYZ8AHyZIOKb5FEySnfGiUwUsPH55ksdj6NSr7du6Z2oI59O0tponhdPgWUOkVuat1JsquekWpTJDbE4nu81twA7QzTNWRtM0DQg5TKQuyECOC5uKGcm+DE/4WaysyMQ/9KWRgyW4d2NIuEnHE9nN94SOdr51VvwtOS/ZRnEdkEWc5uYFY5NLJ4wcNzOYu6YNZcPjG3CQVJJl++uA== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0608; 31:Nr+wK0ao0+zCRoaapGuOxRKnLJIchws27Xb7jrG8yIThuygu8G+s4GVpDjE/iMqA7W+lcwTcIyJyBt2iZGY+TmKh7Fg4p3fdaL09QxEYeiuf6Y725KB/HM5ko2fRUYZyM0+fpPL3wZyFvauOMzmNiGhIbggkSXCw7vrS7ivcKnmaymeFHLPmqsRfUQcXmV0BcpzNS/seIX1hgSyDPwtnyxdPa3edXr43EggXaj9fmJXtXdj4O4F9A00y7k+Ac6tnOF04n4kNg6JJZew6tCHAjw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13023025)(13024025)(13018025)(5005006)(13015025)(13017025)(8121501046)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123563025)(20161123556025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123561025)(20161123565025); SRVR:DM2PR0301MB0608; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0608; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0608; 4:juzWLRjdgBjLCkitvq++wb21w940m7drsfutreAB?= =?us-ascii?Q?H6wjwyk2DAwx30BiJwDZ/vNCBzz5RWNMHcs6QC49gLuVVUauKfTa2fRXwHOb?= =?us-ascii?Q?1tKEKsu/bJoJJpyAfSmxqjv5Hlkvb+WFrndBBq5cw55xhoBzlKv4f38SpBjR?= =?us-ascii?Q?w0t429FYOrX8HH8DBZoMBsPf3GvJHyJBa6tJuhbv0VyC9AUhRn8YgDPQFWx/?= =?us-ascii?Q?Q4xyamzLiHABekBCZv+tdplkmJNp8aFoRBtgMGHx0+8EswNP9eiejahrlIM3?= =?us-ascii?Q?JNkhJ0MPg72Vsy4PwFaxCvqRBg3e2YrFRYycju3NjFigouzWPdg5kakee/2m?= =?us-ascii?Q?B5K1AYRbXobKYCuoV8hDE1w2m7xBm5T/J4woEknnqsOV+Fpl+v7qOVwiLBb/?= =?us-ascii?Q?XlrmqQUgvHLaFnXPc5zXwaEFodTNPLlj0dH/E9BVpZEDZOtCH9xNJJf0utRS?= =?us-ascii?Q?L/uCnc8ALx7qmGwt5nXok9C3XnVrqsxwU5fhF4Rcx/A4HS1eAx1HQec2d0kB?= =?us-ascii?Q?2DTIAsbpwJJmaHJ/1KhiRa/7kjSgNEPZLnr7MqXxQ1Fj2EDGQnluHTMN6ZN4?= =?us-ascii?Q?tD+f7+9zbEjwlaBFDluYrsI5BKcPaHSjIIg/IRFz2lRbtypc9lyc7pAoarhx?= =?us-ascii?Q?4oWuXjjHDAKhQO1H7baI+I6dSGfLCHVpr2n7DmH9UoQ70493hZWLuFRL/QgX?= =?us-ascii?Q?ToXbMRXGQbjUmD2q0hWX/4v6sL0Sgz2nmDnEo34Wagsx8lRWud20CAmE6e0Z?= =?us-ascii?Q?Tif71yr1qlGPewiYYBx10u8tORidtwiHROyds1JTJpx9pBwdauaCUwnbDei6?= =?us-ascii?Q?ZDayoZvOEzQ47/tw4H/g0viffFQBuvRpZUqXqE9c0I/MLpjCHV0ihuqWBT2o?= =?us-ascii?Q?BvGQj3UHNMtgZ4z73H69S61ATycUDvGKsQMsvnLS/SctPDJIcshmpLJug5R7?= =?us-ascii?Q?TdbMBpubpNO6cKimuA/BB4Yz7NFwzwBWY2JMqQ0MGQ=3D=3D?= X-Forefront-PRVS: 029097202E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0608; 23:gjckWKaqiAdZuEnm0FB+45h6MqaDBmU0cnWVLZ9?= =?us-ascii?Q?j/LfxGtSIGO3p5EhvCf8lr5Mc6JKZN+nUiovZMqI7CqLAyOFG2+TzxAqBNh1?= =?us-ascii?Q?ghQGP+RUOW2zdCmUXPpAkMRjUlRHVf0mSyqj6CkK/3gj4G7wxJCptXRtCZne?= =?us-ascii?Q?1ab3QEC6Zq43t7XNw3UF6eGFO1FxZPzzmjGk/SMi/SKYQ5j7UuW/D7sz9xxp?= =?us-ascii?Q?IWpz7r7nkAxazf72/ooSZQlbizadMMBx35KBhqHfcZhNQjYjleiz5cyLGgyX?= =?us-ascii?Q?HOLKnU9xt62Tl06XH5CSLBdCbqCuBx4uWAci+4KXF7l31q+J7Wo8arq+gc0I?= =?us-ascii?Q?2ck4Qhz4sA4shbLLBKI0rzNL6LrZVnB4dtp5+QkWmfytHXKGZF5AJb65biHj?= =?us-ascii?Q?F/VQG5rg2eobEtq+FovcheVx8i4SF9YYmOJSXxbKCq40XOb2+0cGrVzx+Xf+?= =?us-ascii?Q?2HeTpuyYvfb9bSTpJQHOprTyght3QOsrOkllF6ZknbIONY2sJ4P0pklxtroB?= =?us-ascii?Q?B69MESw/fBIMIYThN3rz4xWjKg5Xnf89zUEbsbIg9ZVHRkpxQ56+39sMVbRG?= =?us-ascii?Q?pZF/kfDSJv7g7w3Te1kWE36T5QufXhP2lXhseEx2DOVtnyZEBHEDwXk9/W4T?= =?us-ascii?Q?cJv1t4XlfbLnQ6ak+dhen4yc08hTBb/ejz6vQYWhY9T4N3UhmPB5ooQwqqM4?= =?us-ascii?Q?D52uhY6bn3Pb81ivkQIemGKa3yIf78iiBeGhCPaqy7Lf5FuebzrL72fLnFlU?= =?us-ascii?Q?Sd3EpZGY9rmi8qLhnjnBuzKFDCAWvMSNZaZG2fwLAJopQqy+7R9uj3J0iQWA?= =?us-ascii?Q?PlPIaj4KdSTPJw0LsH5FHeA7MTsxPJLbjBTXEDCMq+wFZUT2vlqFryWjnhIU?= =?us-ascii?Q?KSLysjLjACvWSq4KbMKdXYu8YL1ZbZAMm1YrQpIMsz6ku7k2ZNAXBp/esBqI?= =?us-ascii?Q?iDFmev2eYv9GoMaCOEc8HG268aQ/qNN6R3XJFzKJKh5p7oss1uIRutzYYWon?= =?us-ascii?Q?+uHCBgvDVcamJ6nZW+cuRFeK4oQeOnuUIksWliiVZoKVUwBOwvTbEZPxOtUs?= =?us-ascii?Q?nJ3U0KOBLSK+QKcTmlCDe2ioL9gIQIro2jZkiHJVlc5ircu1ABdgsKEbhdpN?= =?us-ascii?Q?f47vZkuEne0T4pbirf0QpQm6GxNcF5tfdlMuITg4hAETGTAKEun1220rkg2K?= =?us-ascii?Q?noC/AHA9j9T8Un48iVASZr9kcqsnZuQo2ffu+ZRG0xB+xbDsPuwhpPzWPPDG?= =?us-ascii?Q?3LsqtbFcr62iZei5yVzE=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0608; 6:AnsarsmSeVEn0VKO/HyJuClVcvmOZv2Yrrz3F4L4coghG3SA/BSFgyDH3vP4Ge81MFffyuI4Z5us4gUp+cvrAlfC4l4MmmP25ZQlN1hMr+7/mG9khtPAvRDasqXXmHUQ+T8YEPI1jPFoFfJKxz+tq7mHjCF+AkIU1PvTpHeUPPsuAHw7lQRL/BvMBE0PjuJFC6NnzcmiH8TM/pW6998lixzZ6YXit1/wyTxU9k+9onHch5bnokT47WopGCKNDBP3BfTh3keRPpgEZ2mMHo1AtW7aXKc233kv11ijMbgiPOZw3QmsyxAdzzXugNs0H+hXpPuaCooDLe/nNZOSTkES3gWxlfGHNzNxJ9xl4Wd+ZPQznWm0g9iOCB9I2SoCKRwmUEhT18sQK0hME5r7t636HeG1P/FGwSFEX5wuRcEAtt7OpjhWWGt29rxLiPQGOVpnCYPIwH/cfFEu3VfOHzFsmWSLZmu6GqnLwDxuZ/uMrzk0b9MPdC5W+460JQu9w+k5QZU6W2zhHHV50UX7dKy9wQ==; 5:jOYFEURZK6nuN8g8uVLM4kHgc25rvwBmWRuO9dhDKdS9U1cRPcWDT5I3y5QzNfGR5eQqmAEWegjiaDg/bqVCTA6k46ztaaxyxTHkrg4KFDMzJDvOdY2kNdz5WT26UjZSWiSPhzMCpMasg6XI1a7TB0zcvFgrN/mCcEFZPlNnKDQF1QoS65mwC4yiY+zA2ykC; 24:HEHdTCzGs/WPLvBsCYa1ZpJmnJY7miOF7eh2JZH3Zly2mlvaV1W/aY7G2XwCsVeLslBAG6TMJm1wVY2Dp0O0GtwTU6rjImRM7V5m158helE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0608; 7:8XAMaLyUPvt7Eldnr2lzIXndbhsmejQ519syQNsKKFgwUfgOgbjCHEHLgKpDZd+Jbudj1YbkOJBG4tr1k8vomcmXV+rBvdg/+lfmYUwdPLZAQKRB1+U47uKM/SoNraPwubNcLufHaTFtt5LfiIEFI7p9LN6+ttWjpLDx2puJQBNu5NtM5+ufUdWRBlcju51gVWCXEq/HsEdP5zI5ZRTn/M1brcUZwfTm890WC3zrei0JzHnXpw0tm3SMtc/fkKjyYyAqY/7FE2KN/B/qr+Z3hXGbh8aWwEe+qk/TkPFqPZiZLK9c6DwG3Sxe6HcNYJNHEvLuf40qcGCnIVpk8qxjLA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2017 09:38:21.5165 (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: DM2PR0301MB0608 Cc: Priyanka Jain Subject: [U-Boot] [PATCH 2/2][v2] board: ls2080ardb: Add LS2081ARDB board 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" LS2081ARDB board is similar to LS2080ARDB board with few differences like It hosts LS2081A SoC Default boot source is QSPI-boot It does not have IFC interface RTC and QSPI flash device are different It provides QIXIS access via I2C Signed-off-by: Priyanka Jain Signed-off-by: Santan Kumar --- Depends on https://patchwork.ozlabs.org/patch/755824/ https://patchwork.ozlabs.org/patch/755823/ https://patchwork.ozlabs.org/patch/754576/ Changes for v2: Rebased on top of Depends on patches arch/arm/Kconfig | 14 +++++++ arch/arm/cpu/armv8/Kconfig | 1 + arch/arm/dts/Makefile | 1 + arch/arm/dts/fsl-ls2081a-rdb.dts | 59 +++++++++++++++++++++++++++++++ board/freescale/ls2080ardb/Kconfig | 18 +++++++++ board/freescale/ls2080ardb/MAINTAINERS | 5 +++ board/freescale/ls2080ardb/README | 20 +++++++++-- board/freescale/ls2080ardb/ls2080ardb.c | 52 +++++++++++++++++++++++++++ configs/ls2081ardb_defconfig | 46 ++++++++++++++++++++++++ drivers/usb/host/xhci-fsl.c | 3 +- include/configs/ls2080ardb.h | 31 ++++++++++++++++ 11 files changed, 246 insertions(+), 4 deletions(-) create mode 100644 arch/arm/dts/fsl-ls2081a-rdb.dts create mode 100644 configs/ls2081ardb_defconfig diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 42f93b4..f5462ab 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -950,6 +950,20 @@ config TARGET_LS2080ARDB development platform that supports the QorIQ LS2080A Layerscape Architecture processor. +config TARGET_LS2081ARDB + bool "Support ls2081ardb" + select ARCH_LS2080A + select ARM64 + select ARMV8_MULTIENTRY + select BOARD_LATE_INIT + select SUPPORT_SPL + select ARCH_MISC_INIT + help + Support for Freescale LS2081ARDB platform. + The LS2081A Reference design board (RDB) is a high-performance + development platform that supports the QorIQ LS2081A/LS2041A + Layerscape Architecture processor. + config TARGET_HIKEY bool "Support HiKey 96boards Consumer Edition Platform" select ARM64 diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig index 0188b95..d5b692e 100644 --- a/arch/arm/cpu/armv8/Kconfig +++ b/arch/arm/cpu/armv8/Kconfig @@ -91,6 +91,7 @@ config PSCI_RESET !TARGET_LS1012ARDB && !TARGET_LS1012AFRDM && \ !TARGET_LS1043ARDB && !TARGET_LS1043AQDS && \ !TARGET_LS1046ARDB && !TARGET_LS1046AQDS && \ + !TARGET_LS2081ARDB && \ !ARCH_UNIPHIER && !ARCH_SNAPDRAGON && !TARGET_S32V234EVB help Most armv8 systems have PSCI support enabled in EL3, either through diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 143e33f..92dfb05 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -172,6 +172,7 @@ dtb-$(CONFIG_ARCH_LS1021A) += ls1021a-qds-duart.dtb \ ls1021a-iot-duart.dtb dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \ fsl-ls2080a-rdb.dtb \ + fsl-ls2081a-rdb.dtb \ fsl-ls2088a-rdb-qspi.dtb dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \ fsl-ls1043a-qds-lpuart.dtb \ diff --git a/arch/arm/dts/fsl-ls2081a-rdb.dts b/arch/arm/dts/fsl-ls2081a-rdb.dts new file mode 100644 index 0000000..9ed1157 --- /dev/null +++ b/arch/arm/dts/fsl-ls2081a-rdb.dts @@ -0,0 +1,59 @@ +/* + * NXP LS2081A 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 2081a RDB Board"; + compatible = "fsl,ls2081a-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: n25q512a@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-flash"; + spi-max-frequency = <50000000>; + reg = <0>; + }; + + qflash1: n25q512a@1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-flash"; + spi-max-frequency = <50000000>; + reg = <1>; + }; +}; diff --git a/board/freescale/ls2080ardb/Kconfig b/board/freescale/ls2080ardb/Kconfig index 2f0465f..8f64642 100644 --- a/board/freescale/ls2080ardb/Kconfig +++ b/board/freescale/ls2080ardb/Kconfig @@ -16,3 +16,21 @@ config SYS_CONFIG_NAME source "board/freescale/common/Kconfig" endif + +if TARGET_LS2081ARDB + +config SYS_BOARD + default "ls2080ardb" + +config SYS_VENDOR + default "freescale" + +config SYS_SOC + default "fsl-layerscape" + +config SYS_CONFIG_NAME + default "ls2080ardb" + +source "board/freescale/common/Kconfig" + +endif diff --git a/board/freescale/ls2080ardb/MAINTAINERS b/board/freescale/ls2080ardb/MAINTAINERS index 3175ba3..91f13ea 100644 --- a/board/freescale/ls2080ardb/MAINTAINERS +++ b/board/freescale/ls2080ardb/MAINTAINERS @@ -12,6 +12,11 @@ M: Priyanka Jain S: Maintained F: configs/ls2088ardb_qspi_defconfig +LS2081ARDB BOARD +M: Priyanka Jain +S: Maintained +F: configs/ls2081ardb_defconfig + LS2080A_SECURE_BOOT BOARD M: Saksham Jain S: Maintained diff --git a/board/freescale/ls2080ardb/README b/board/freescale/ls2080ardb/README index 5bf2635..c4da896 100644 --- a/board/freescale/ls2080ardb/README +++ b/board/freescale/ls2080ardb/README @@ -4,10 +4,14 @@ The LS2080A Reference Design (RDB) is a high-performance computing, evaluation, and development platform that supports the QorIQ LS2080A, LS2088A Layerscape Architecture processor. -LS2080A, LS2088A SoC Overview --------------------- +The LS2081A Reference Design (RDB) is a high-performance computing, +evaluation, and development platform that supports the QorIQ LS2081A +Layerscape Architecture processor.More details in below sections + +LS2080A, LS2088A, LS2081A SoC Overview +-------------------------------------- Please refer arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc for LS2080A, -LS2088A SoC overview. +LS2081A, LS2088A SoC overview. LS2080ARDB board Overview ----------------------- @@ -38,6 +42,16 @@ LS2088A SoC overview. - UART - ARM JTAG support + LS2081ARDB board Overview + ------------------------- + LS2081ARDB board is similar to LS2080ARDB board + with few differences like + - Hosts LS2081A SoC + - Default boot source is QSPI-boot + - Does not have IFC interface + - RTC and QSPI flash devices are different + - Provides QIXIS access via I2C + Memory map from core's view ---------------------------- 0x00_0000_0000 .. 0x00_000F_FFFF Boot Rom diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c index 10e8ea4..df2d768 100644 --- a/board/freescale/ls2080ardb/ls2080ardb.c +++ b/board/freescale/ls2080ardb/ls2080ardb.c @@ -68,6 +68,44 @@ int checkboard(void) cpu_name(buf); printf("Board: %s-RDB, ", buf); +#ifdef CONFIG_TARGET_LS2081ARDB +#ifdef CONFIG_FSL_QIXIS + sw = QIXIS_READ(arch); + printf("Board Arch: V%d, ", sw >> 4); + printf("Board version: %c, ", (sw & 0xf) + 'A'); + + sw = QIXIS_READ(brdcfg[0]); + sw = (sw & QIXIS_QMAP_MASK) >> QIXIS_QMAP_SHIFT; + switch (sw) { + case 0: + puts("boot from QSPI DEV#0\n"); + puts("QSPI_CSA_1 mapped to QSPI DEV#1\n"); + break; + case 1: + puts("boot from QSPI DEV#1\n"); + puts("QSPI_CSA_1 mapped to QSPI DEV#0\n"); + break; + case 2: + puts("boot from QSPI EMU\n"); + puts("QSPI_CSA_1 mapped to QSPI DEV#0\n"); + break; + case 3: + puts("boot from QSPI EMU\n"); + puts("QSPI_CSA_1 mapped to QSPI DEV#1\n"); + break; + case 4: + puts("boot from QSPI DEV#0\n"); + puts("QSPI_CSA_1 mapped to QSPI EMU\n"); + break; + default: + printf("invalid setting of SW%u\n", sw); + break; + } +#endif + puts("SERDES1 Reference : "); + printf("Clock1 = 100MHz "); + printf("Clock2 = 161.13MHz"); +#else #ifdef CONFIG_FSL_QIXIS sw = QIXIS_READ(arch); printf("Board Arch: V%d, ", sw >> 4); @@ -88,6 +126,7 @@ int checkboard(void) puts("SERDES1 Reference : "); printf("Clock1 = 156.25MHz "); printf("Clock2 = 156.25MHz"); +#endif puts("\nSERDES2 Reference : "); printf("Clock1 = 100MHz "); @@ -209,6 +248,9 @@ int board_init(void) int board_early_init_f(void) { +#ifdef CONFIG_SYS_I2C_EARLY_INIT + i2c_early_init_f(); +#endif fsl_lsch3_early_init_f(); return 0; } @@ -216,6 +258,11 @@ int board_early_init_f(void) int misc_init_r(void) { #ifdef CONFIG_FSL_QIXIS + /* + * LS2081ARDB has smart voltage translator which needs + * to be programmed as below + */ +#ifndef CONFIG_TARGET_LS2081ARDB u8 sw; sw = QIXIS_READ(arch); @@ -225,12 +272,15 @@ int misc_init_r(void) * by setting GPIO4_10 output to zero */ if ((sw & 0xf) == 0x5) { +#endif out_le32(GPIO4_GPDIR_ADDR, (1 << 21 | in_le32(GPIO4_GPDIR_ADDR))); out_le32(GPIO4_GPDAT_ADDR, (~(1 << 21) & in_le32(GPIO4_GPDAT_ADDR))); +#ifndef CONFIG_TARGET_LS2081ARDB } #endif +#endif if (hwconfig("sdhc")) config_board_mux(MUX_TYPE_SDHC); @@ -350,6 +400,7 @@ void update_spd_address(unsigned int ctrl_num, unsigned int slot, unsigned int *addr) { +#ifndef CONFIG_TARGET_LS2081ARDB #ifdef CONFIG_FSL_QIXIS u8 sw; @@ -361,4 +412,5 @@ void update_spd_address(unsigned int ctrl_num, *addr = SPD_EEPROM_ADDRESS3; } #endif +#endif } diff --git a/configs/ls2081ardb_defconfig b/configs/ls2081ardb_defconfig new file mode 100644 index 0000000..0d1730f --- /dev/null +++ b/configs/ls2081ardb_defconfig @@ -0,0 +1,46 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS2081ARDB=y +CONFIG_FSL_LS_PPA=y +CONFIG_QSPI_AHB_INIT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls2081a-rdb" +# 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/drivers/usb/host/xhci-fsl.c b/drivers/usb/host/xhci-fsl.c index 798c358..3a16624 100644 --- a/drivers/usb/host/xhci-fsl.c +++ b/drivers/usb/host/xhci-fsl.c @@ -40,7 +40,8 @@ __weak int __board_usb_init(int index, enum usb_init_type init) static int erratum_a008751(void) { -#if defined(CONFIG_TARGET_LS2080AQDS) || defined(CONFIG_TARGET_LS2080ARDB) +#if defined(CONFIG_TARGET_LS2080AQDS) || defined(CONFIG_TARGET_LS2080ARDB) ||\ + defined(CONFIG_TARGET_LS2080AQDS) u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE; writel(SCFG_USB3PRM1CR_INIT, scfg + SCFG_USB3PRM1CR / 4); return 0; diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index dd72aa0..2040c50 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -14,6 +14,9 @@ #define CONFIG_CONS_INDEX 2 #ifdef CONFIG_FSL_QSPI +#ifdef CONFIG_TARGET_LS2081ARDB +#define CONFIG_QIXIS_I2C_ACCESS +#endif #define CONFIG_SYS_I2C_EARLY_INIT #define CONFIG_DISPLAY_BOARDINFO_LATE #endif @@ -259,9 +262,28 @@ unsigned long get_board_sys_clk(void); #endif #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000 +#ifdef CONFIG_TARGET_LS2081ARDB +#define CONFIG_FSL_QIXIS /* use common QIXIS code */ +#define QIXIS_QMAP_MASK 0x07 +#define QIXIS_QMAP_SHIFT 5 +#define QIXIS_LBMAP_DFLTBANK 0x00 +#define QIXIS_LBMAP_QSPI 0x00 +#define QIXIS_RCW_SRC_QSPI 0x62 +#define QIXIS_LBMAP_ALTBANK 0x20 +#define QIXIS_RST_CTL_RESET 0x31 +#define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 +#define QIXIS_RCFG_CTL_RECONFIG_START 0x21 +#define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 +#define QIXIS_LBMAP_MASK 0x0f +#define QIXIS_RST_CTL_RESET_EN 0x30 +#endif + /* * I2C */ +#ifdef CONFIG_TARGET_LS2081ARDB +#define CONFIG_SYS_I2C_FPGA_ADDR 0x66 +#endif #define I2C_MUX_PCA_ADDR 0x75 #define I2C_MUX_PCA_ADDR_PRI 0x75 /* Primary Mux*/ @@ -276,7 +298,11 @@ unsigned long get_board_sys_clk(void); #define CONFIG_SPI_FLASH_STMICRO #endif #ifdef CONFIG_FSL_QSPI +#ifdef CONFIG_TARGET_LS2081ARDB +#define CONFIG_SPI_FLASH_STMICRO +#else #define CONFIG_SPI_FLASH_SPANSION +#endif #define FSL_QSPI_FLASH_SIZE (1 << 26) /* 64MB */ #define FSL_QSPI_FLASH_NUM 2 #endif @@ -286,8 +312,13 @@ unsigned long get_board_sys_clk(void); * RTC configuration */ #define RTC +#ifdef CONFIG_TARGET_LS2081ARDB +#define CONFIG_RTC_PCF8563 1 +#define CONFIG_SYS_I2C_RTC_ADDR 0x51 +#else #define CONFIG_RTC_DS3231 1 #define CONFIG_SYS_I2C_RTC_ADDR 0x68 +#endif #define CONFIG_CMD_DATE /* EEPROM */