From patchwork Wed Sep 26 13:52:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 975136 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="Ne+tgRpy"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42L03T4c10z9s8F for ; Thu, 27 Sep 2018 00:01:25 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 07679C21E50; Wed, 26 Sep 2018 13:56:03 +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, SPF_HELO_PASS, T_DKIM_INVALID 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 6A6B0C21E70; Wed, 26 Sep 2018 13:48:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id C39D9C21DA2; Wed, 26 Sep 2018 13:48:20 +0000 (UTC) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20052.outbound.protection.outlook.com [40.107.2.52]) by lists.denx.de (Postfix) with ESMTPS id 7ED5AC21DA2 for ; Wed, 26 Sep 2018 13:47:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PdEs7EU/NX/2wkVVyfa8n2mWBbdLMzngGSRVgbJW3DY=; b=Ne+tgRpyTL4Ir44vl7Kr9U3WR4lOpxWqwpNSxTG7fNpr+BSK8eFSsl+TGV7n7yami0xb1+BTXaKOj8BDS99FI2aLTUf7NHBzjwcgt+c4Ed4LrfpRKARszdC9MRJFmVdmEcG0sbaitcXNohZlzofgoSkm9APOWPBW7WoQhaccnTk= Received: from linux-u7w5.ap.freescale.net.net (92.121.68.129) by AM0PR04MB4482.eurprd04.prod.outlook.com (2603:10a6:208:73::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.22; Wed, 26 Sep 2018 13:47:56 +0000 From: Peng Fan To: sbabic@denx.de, agust@denx.de Date: Wed, 26 Sep 2018 21:52:40 +0800 Message-Id: <20180926135256.2098-17-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180926135256.2098-1-peng.fan@nxp.com> References: <20180926135256.2098-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK0PR01CA0053.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::17) To AM0PR04MB4482.eurprd04.prod.outlook.com (2603:10a6:208:73::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: daa47ada-d71f-4a53-7c2f-08d623b6ab57 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR04MB4482; X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 3:6Ah+O6lW0EZCGPUv7b+CfRFmnIyGaVqhjcHZQhPaSdv1UdjhEbStsINkeDk1YP5mz84hUevB9QVRWXO4Hniry0AVBNrNWcVESBf/ejvZGxZIZMEqlijFdCxPdDFEzTTOpP8wWOi4myQ07no9c6Ffx8dOsztvWsYyvtI9krbKSDf5Kp/wy2xyGmvxzISPVfY/Hg54iKKAOnV3P691IAAB0m0eTPbqgZXsfqcVOse8+gV8dHGjb2qtOTehK1AZImjK; 25:oFh8IuRL6RN5pw+vWDvDq0vy+GxNdO1WwyaDtLZ762/1GBAEKyzjaGy5uy7UtZjrZzR4PG2JF9D0dWl88uusG/eStOtHzwCoQHm/JmgAXngN5s8LOv5YN93vLu+GF1aDaiXQrnTDJ1Zv79L19qJeFD+pPYFmkZBcuqzi+lQajiYsFk2e7tulZcA3rltvNIEt8ywEN8NC8V+j9guctcIZLq/ndbgI51s/l09PUKGm1D98fEiL2VeFqKN0uycmyI7M6KidAwaNymIsoYju54/b6Sn2yQR/k0o/0VknnImbW9MycswElrbjOVAPoayHJfmjw3Rc9079ZDOSkgvVjGkT0Q==; 31:k5l9khIVdz68BAFDfF+hfjh0gqMvHrw5TRDhjsKLXNm73ZkQ4utmGVX5X8V8o9se/xRLn640FMLE2fhL3GWi0z2MqH35vaDCvjM+DTJbdhFqf7wOyuHa9BEJatkNd4g3Rr9dHDUfRL7dqx5EGegUf1BF4QUF3MCqemBloHNgHx23vOHzsnunYYgrCwFHB9lROdJDdLEH9YPDlZ4crT3jC6oMW/KvKw9pnxFk6Eoj2sc= X-MS-TrafficTypeDiagnostic: AM0PR04MB4482: X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 20:GF+2ceYi6OGSMbbSAW6np8bsDMjPtxekkKHW2fnM8cTGOpTHL4UweL3Rd9XeL9Ec28lw8VTPhedwG3mAeUCZ6EWUyLwtIupJotIkCNonLtPJMHH+6nMoDhBkwmdmjIWH/7J+P3lWTVvBr3T+a4nQ8BgluHO8A7IR5XiMFx+C7S8Qrh7uERV/GT1+d7e5p3KMp1d7PNZDZxhvbzH4st3ZVuZn7Pu8zNgS1XAvNy5K7Q5+FBQM+y39PF3yzRALKQnl65IxCaMQBe6WWAzJ98/AALEQnJSpFO4eQRXBXZ0ISkf2uT2woT4dKW8iXLkRdOc/WB/08hiu7VLaGpViPXXOBLW5ZELDoTC4eB9yhwaRaKh21Q1drjiHg45oqP1/fTw1eQaPUl2JDkyrgp4lHc8cXhaWkasWwuxB7PUKacuQ2I+rbJSfUJ1aNjH0o5Gc6sxmqe7QDml8Z5MCRR9XmR2ApKCqf9e+mk4HPE0nrB6BIqaKiz9d+wJ94xFuFojJPNml; 4:VF1THgr0aOmNTk9Xx+659pepzDMTWUJo6aF8DswOEtSYlmfVAsxRZrKHRXjM6WXdDi7ZWRC5eZWvjYU0UBSkSOCI6//JSsGpUHXsqcVhaY4X9mH9m+l0unWFjbbKLNDBOR2L/Zae3DPMffJLZGgDO213mjgOIUbBz6sqd9fj/tWiSwPxoHvWQqNO6gEqyqMiaUJLGfbejHG+uDGkPQOkRqhANEI7P7BNRcJH9VZQTdwi0Li4BHFKFZc3XsdlyIpWAjbWHKp9wx7/QqoKHbxXuvxaK4VV6RNyvTGqHV51W5peME4fpu+VxZ2fxVG4Jjix X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991041); SRVR:AM0PR04MB4482; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4482; X-Forefront-PRVS: 08076ABC99 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(366004)(376002)(346002)(396003)(189003)(199004)(16586007)(34290500001)(3846002)(6116002)(76176011)(51416003)(52116002)(305945005)(7736002)(36756003)(47776003)(66066001)(6486002)(105586002)(53936002)(1076002)(386003)(6506007)(6512007)(106356001)(86362001)(50226002)(186003)(97736004)(478600001)(16526019)(48376002)(486006)(476003)(50466002)(2616005)(14444005)(446003)(11346002)(8676002)(8936002)(81166006)(44832011)(81156014)(4326008)(2906002)(25786009)(6666003)(5660300001)(6346003)(26005)(68736007)(316002)(956004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4482; H:linux-u7w5.ap.freescale.net.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR04MB4482; 23:fkQMHn2RHYPMzGoz0mcZeRS/T+QMvp1t7lS2VVmic?= XvTL+iCnbYE+JxnWERNwr9XUrcRUeQrzZ9DoQ3vGr4uENchQZxx/1uOvhfZi2GmImKUO7K2IrLTvoKjse51VtZJUc0fHa1yJulNxx0czaZrtEYmITMQSXpWogIKexDkUL93BhvJ06vbujXzn9sm0cpKo45gZtcROfT5oONg0Vk9WIKlxi086G9uIV/icodTTCavZN3o78OZA8Vn9n28N8ZBZWv35hMp//CYr/ZYMbf1SoTF/tmnj+IAHPxQzSWFmOVdYpRLxq91WvcwqCLRJ2z7JfpQMwijhPkVC3vm84sdynINvA1ff59nJV3oU4M52CBagP9xXyJcru+1MpkmAxwNsSKNUc1yb4PmLWmXISJyVhtIY+crlexd+1iq+soFWVaSPYE0aE5NthVG3hkufEyr4IiPFu3ae0cMfKThpmYIIb7SV9TvC37aEt/dMX66A32z/MoKh5PQBnpoOdQOt2R97A7pTQVSCJm899tlyG+rFrpwVIvDtXe2qvv4GzbUHsF5CB0xBX3Sq+rVXoa9L1C3mR1Pt37FSXMh+M1rM4fLmXj7ZvSZcj0XRXnO3t2CyRGSV4/3HoRaiZ1ndxZim4yiWYH/4+Fv31ERlV0biL02AE5V3/hoGQa1KNgK7r4MjLD0iEZgw05QvoqD/4WzDINg4vnqRc9AzVg5bGhEKRg9rnZ++OFh0TEsZi7db5tXDpeTTGeIUAH5gyNDqXOhDsc5AsKtBLyBqJ69ITEGxqo6g+vosQ8Mb79p9fFd5ctW837VsJlxNJWywF0bxp2jgvUJCqGRLV5I5hGtvT2Igq+KT6WzMJpyN6hH5/h03Uz9Y2b/n6iVCcGbWIWi6C21Ivkia6BPgmb8i7SxH6lmyP3m6vIZg/pOWtISL6WFacG2osG45NrrNpqxRWzQkv1av+6VjvfRgm73kNKOWJV+Jo/B2ViZiEbUA0khD//iOycQFdHtxCaqIwe7lO6+ZO4WnPZpENR5wsMw5xyshWcYPkTU5r98GyBGolyFGdUWscx3pdnroeG6kF8JSBE+NZK78zLlcbmsPmPfEiA4euauPCKr+zYShkeuUczIEivg0m7Pvoa15YVk7UUn7vzQ5yuMEON2Q/TSsXOkqZemvfjoHgjJ60GP7vV+7jgJhg5XwuPmFOleg7z/249qujW9fhTIWDiUhApNGi10VQS1rVfG9KmIZb8i58nKxY8JYvJ3gTu+s44= X-Microsoft-Antispam-Message-Info: D7fOfrOhNz0tQY/mKtTw7WBZeOckxhTFU2B9WvBcTlLSKIVyQI6Tx0pMC68fUfmeYZtupuqwEZlVeIoNC4t+vmbHajd8IHyioPVJBrPDUYAFI4dP8pHWZmAp1mqnpIRyaSDm5+zhHaWHeSJLHJ7MqI4uBMaKGk5t1CYLXus7uRAXUid7iVzVBmfQBiuK+zO/3U/6Xcgx9Zz/yciJnDHsqQOGVLq8S4zxiRsOXFdBuMYljkrZPSGz5l0IaQ8mpDlMe8QMtvF+DZ3n8v3YKuqaCNsEOmYGuTDkeoK0lIjwspm/bn3sf9/qPjaOhBTJccVehUmWFo/cbENRWM0/P6UUiLggiNlyQJPS7yc0Mg+WbiU= X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 6:ZHE0jwq5j2rZJvi4gv99unm5If1WzAY/NAHX86HZcWodnHBWLebkEJnWYnVQs6Nu/7hD9myl+3ldkILxzKWnb+X1DQhjtQEKnDG69RQ9lylu5Bp7cwiEci/i216HjCYJhV8XMREgpgni9MVB+ET4AafLgh5k+84jTDbiYer5cB0y2phDKXBw9t7yFvRFjszVjOLfBbh1YoZw9+/+JXlMJOkdtTXqi97R73Q1bTf6sNqlKEucFxsKZi3rJKdaIERIopjVb7YGtdaM3VBAa4MNscAPnvFDG712NN818F5/yEjkbkmcba5uI41VPXXJ2V7b/nnvQoD8Yf4tnyRCR20xKUVApHyx7u0GQpov6tJak9ZyqPM0ef7qhgpkgtj3dSUqKIlW5Ecq83GRRzQJ2MViUQhEoc8RBwLPNFVHmu5U6tVMBoXvlINBS0fm4QeoLSijtELkInZJ5fuTrj/p4H3xSg==; 5:cEhwsFYyHALZFF9A7S2QE3TyykrXVix969CQFvQUj1vQPlbi3FZt5dzR5GTHS9UVFURVRDKUi9upJyobBYiXf49Dcgqt7Pv8s8PjS/OSGxv3uQY80JEzo9xGBl3mObzJE4c97i9dWOuGWiFDr5WtbdNneGQFinuziKgW7qeNfWY=; 7:4W3Ufd+dhdfPIbVarsCZIoHe1MH7ii1CjtmgsSe7I2VC8bhSXe74MVymhgki6PfN/dWU4fAhn+VVlhfezw7XZVKOeOUAwUTxIKpZawwHHVCQTxMpCBoD0sa5/vVAaTcMDvusGCe8wXq9X0x+hQrgwVRc5cD01rnOfbb1E+xtdzmFb5KQLeWhQ29O5cPLnVWcXag4wZ8geaQiQeHb0MjLFA2TVbJMxwAQb9y84uUzq+iIKpd4D2uVGqlL5lpzq3wY SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2018 13:47:56.3598 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: daa47ada-d71f-4a53-7c2f-08d623b6ab57 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4482 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH V5 16/32] imx8: add boot device detection 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" Add get_boot_device to detect boot device. Add print_bootinfo to print the boot device info. Signed-off-by: Peng Fan Cc: Stefano Babic --- arch/arm/include/asm/arch-imx8/sys_proto.h | 10 ++++ arch/arm/mach-imx/imx8/cpu.c | 85 ++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 arch/arm/include/asm/arch-imx8/sys_proto.h diff --git a/arch/arm/include/asm/arch-imx8/sys_proto.h b/arch/arm/include/asm/arch-imx8/sys_proto.h new file mode 100644 index 0000000000..f9a3016132 --- /dev/null +++ b/arch/arm/include/asm/arch-imx8/sys_proto.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2018 NXP + */ + +#include +#include + +enum boot_device get_boot_device(void); +int print_bootinfo(void); diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c index 0b841e291d..90b6ea4211 100644 --- a/arch/arm/mach-imx/imx8/cpu.c +++ b/arch/arm/mach-imx/imx8/cpu.c @@ -11,8 +11,10 @@ #include #include #include +#include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -91,3 +93,86 @@ int print_cpuinfo(void) return 0; } #endif + +int print_bootinfo(void) +{ + enum boot_device bt_dev = get_boot_device(); + + puts("Boot: "); + switch (bt_dev) { + case SD1_BOOT: + puts("SD0\n"); + break; + case SD2_BOOT: + puts("SD1\n"); + break; + case SD3_BOOT: + puts("SD2\n"); + break; + case MMC1_BOOT: + puts("MMC0\n"); + break; + case MMC2_BOOT: + puts("MMC1\n"); + break; + case MMC3_BOOT: + puts("MMC2\n"); + break; + case FLEXSPI_BOOT: + puts("FLEXSPI\n"); + break; + case SATA_BOOT: + puts("SATA\n"); + break; + case NAND_BOOT: + puts("NAND\n"); + break; + case USB_BOOT: + puts("USB\n"); + break; + default: + printf("Unknown device %u\n", bt_dev); + break; + } + + return 0; +} + +enum boot_device get_boot_device(void) +{ + enum boot_device boot_dev = SD1_BOOT; + + sc_rsrc_t dev_rsrc; + + sc_misc_get_boot_dev(-1, &dev_rsrc); + + switch (dev_rsrc) { + case SC_R_SDHC_0: + boot_dev = MMC1_BOOT; + break; + case SC_R_SDHC_1: + boot_dev = SD2_BOOT; + break; + case SC_R_SDHC_2: + boot_dev = SD3_BOOT; + break; + case SC_R_NAND: + boot_dev = NAND_BOOT; + break; + case SC_R_FSPI_0: + boot_dev = FLEXSPI_BOOT; + break; + case SC_R_SATA_0: + boot_dev = SATA_BOOT; + break; + case SC_R_USB_0: + case SC_R_USB_1: + case SC_R_USB_2: + boot_dev = USB_BOOT; + break; + default: + break; + } + + return boot_dev; +}