From patchwork Fri May 1 13:44:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 1281266 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=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=hk1kDapn; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DCdl5VnNz9sTF for ; Fri, 1 May 2020 23:24:27 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4305E82268; Fri, 1 May 2020 15:23:17 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="hk1kDapn"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B217E821FC; Fri, 1 May 2020 15:22:51 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02on0625.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe05::625]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 55E4881D13 for ; Fri, 1 May 2020 15:22:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bn1g0dsowfwAWXivjaFwX+UrtxXb+cEDaL60TIHoWehX2/nfyR/wTPKWV3EfuiCqWzdLhPrMCqSBve73pJp9rnzG4y6bWXmkzOCTSPk5GRlOcO83W9WSP4n1hiI6ruaMyNgKtL/Do8WQ3pi3+qlMDo/5ica3ZiEuDfW6wLQaaV8DTRLhtW2T4Ix0VQoOHBf9c5x+mawK3QlhbnwVoGXiKvCuD5iSzYsl5CAXTA4N0xtVOtcRU/HEnRUbbP4H6WYcucUwkgwV0ICPux48tY0iKMxY7SLk5XmzA1uCZ9Lb933X+RI+c7BPUrRrzKjnhoIdzIv8URQ2V/+l5QpINiE5Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W1Ou03+RskGRNX/66WP+Ft90K/S06rES522SU/PGKek=; b=bMyichkyAyyLTr03LZTLuL3cQ9F9o+6/z7zkIbZecurLMnIrA+sWSohPiMTYh2y6qKGSfAUuhgWVEYufyFxy7dQiNSC/i+UbmmG24D/nh3jlbJR2XAgH/INKw/nv+sanSmrz3jucvNUwnWSVL31k3HMU7kJ8wpOryH34+T3mo4k2gmuFufNYtbzo+M/atg2QJr0S94iCsRUxYmpHN/k6uWiB6AULeBykBd2gRc1QRiqmtJaI/n663DXlKRYgtZ5PLwXoQ/3ahwU+wa51l7Arynfg+cImX/Nq1GTL5/7TJB0MEGK+F84X9gqr5CMheKk9pIITRm0zvR/8Y/DEqOJhWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W1Ou03+RskGRNX/66WP+Ft90K/S06rES522SU/PGKek=; b=hk1kDapnoA2UBFo2GofzWRCSMx8wMT9a5NoJyezo5FVoVIPBSxfSJ0NfLsPUHC7q5UwinwLEnFg4llATOUq9jbAsHViCIgh0Ya4tBSw7geUVNwh33oeYvmPhB3AbfD3oy08a/igsUCGumUoAFW0wN2r4ZybpWa5C4Go6X6IX9Gk= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB6PR0402MB2853.eurprd04.prod.outlook.com (2603:10a6:4:99::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Fri, 1 May 2020 13:22:41 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d17b:d767:19c3:b871]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d17b:d767:19c3:b871%6]) with mapi id 15.20.2937.028; Fri, 1 May 2020 13:22:41 +0000 From: Peng Fan To: sbabic@denx.de, festevam@gmail.com, sjg@chromium.org Cc: ovpanait@gmail.com, patrick.delaunay@st.com, joe.hershberger@ni.com, uboot-imx@nxp.com, u-boot@lists.denx.de, Peng Fan Subject: [PATCH V2 6/9] cpu: imx8: support a72 as boot cpu Date: Fri, 1 May 2020 21:44:15 +0800 Message-Id: <20200501134418.7319-6-peng.fan@nxp.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200501134418.7319-1-peng.fan@nxp.com> References: <20200501134418.7319-1-peng.fan@nxp.com> X-ClientProxiedBy: SG2PR02CA0108.apcprd02.prod.outlook.com (2603:1096:4:92::24) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by SG2PR02CA0108.apcprd02.prod.outlook.com (2603:1096:4:92::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Fri, 1 May 2020 13:22:38 +0000 X-Mailer: git-send-email 2.16.4 X-Originating-IP: [119.31.174.71] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 99ddf8cd-7998-439e-5dc1-08d7edd2b9ea X-MS-TrafficTypeDiagnostic: DB6PR0402MB2853:|DB6PR0402MB2853: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:363; X-Forefront-PRVS: 0390DB4BDA X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(346002)(136003)(366004)(376002)(39860400002)(6666004)(66946007)(66556008)(66476007)(478600001)(4326008)(6486002)(6506007)(6512007)(8676002)(1076003)(16526019)(186003)(26005)(44832011)(2616005)(956004)(52116002)(2906002)(86362001)(36756003)(5660300002)(8936002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5WvkV2QLYmd9kAYtzd5q4GdOpvXMKjI6o0ORoaCyPX77ogATRLPc6fpbTvG/2jakPBgxHlScpUw9xV63mCq7ht99dnZLU3aqJD5RWL+MWq0DPN6USYSAsCqL4/5VsqzPNZmiHFoqNGFSkwQiJoA9t1A1Q9JMv+OmzfLRBMtCUC1dAk4uBdj5WNtqgreqSmS00jVshvWbAc8gmxuo+HJzyenxy06MJ7OvNRBtOnsLclwrfbgE8NMyfXaPRVtRWzjjSvfNe1m9R8i6QdxJ/hZUlgY45VPivTw0KLk0tPY3kKPkN+ELjwZTDOEBIXRQ1Jp9l6LMHUYHbeZxvtrjGq3PgYEFuK+v82pCmHvpZAmwLqYCpQUAhmIRSWZxJcHAVmwYK4zApNagrObVjSfyldnq2os0w9jcgpnFSowpMuxll5WbUmVuAPSNIgoKwFB6SewF X-MS-Exchange-AntiSpam-MessageData: rvUiy1I/CTqf4bijhgR6XasqHzZtJ9JK5bnhq0qZVGtcvWv/XRgC87dHiJh25XYYwLh9UY0Iva5G8WTWoPI1cV0tQv1KOMzQDlSolCsDazNwpy4Q+7Qbp3cF6N1qP3gBEwCiL8mz2OzF9/AsJPTxflhI+cYD+5UGXtIwtAmtCVADKI7HWLCLEkKy7fPPvpNDXjW51bSYSoKX0cNstSkarK+8vArxUbmMJaqId1JgLCpf1l5JXr+s4XPU0qjgJ5ilOXDQ8ivSIltwDkwcQGk+g2NWXlm62MHR7D86x9y2kWL+qkIq8OIfz4UVJLEoAuewNU9wXMAe0pNBLP+pWZ9/Vudr6ts8rtfJv+thD4XvN7n+qiJTebrcf4m4xqNc936SPAGpO6h9dXuBCtToKIpxNwLmBB3GyulNNL54Abe/W+zz5Q10XzDrqNMUWj5J5vi5aDkRDw+rTACfXWmq7lPGtqdhHgMGAWRLuJmh6WeAkaS9DgI7Sw8LENkfFY6SIya6vNbpPJfUijU5DVCLwHmmW+BoDm/b33skdPDKNJZnWKMjNSMozM/4C/Q7dLX94B0Nkb9fKvBdZPS5cQFZqXMYwQRbzCgsmIFyhz5RV82QjMRFKgIT8Z/aKfsJrcRhUkUFzl5CVwO2J61RCy9qUZ1IBhQ13ofO2anMVrg4BgTUVrMvqRPd/iyh7NVZvR5glK7/uuD+xlP0xjUSNbVGwHxTZ5aAr9gUuLTe7sWcvORxo2OnRsvAMl1PyQLH4dQNPTxyJUVDqra8GNsIx/3l1ndyKE/VBQ7tglLeEE3H2Mo5a20= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99ddf8cd-7998-439e-5dc1-08d7edd2b9ea X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2020 13:22:41.6413 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: N7DbuXL4K1zsc9KVRkXbY60k2gOsag7ZrRtob2Lpi05w51Udh2lip9EXP/Ym6aHCvnvZJSuoZn4uJw01Y/lQag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2853 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 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" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Support booting i.MX8QM with A72 as boot cpu Reviewed-by: Simon Glass Signed-off-by: Peng Fan --- V2: Add R-b tag drivers/cpu/imx8_cpu.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c index 7c54c290b8..d1bd4edfc7 100644 --- a/drivers/cpu/imx8_cpu.c +++ b/drivers/cpu/imx8_cpu.c @@ -20,6 +20,7 @@ struct cpu_imx_platdata { const char *type; u32 cpurev; u32 freq_mhz; + u32 mpidr; }; const char *get_imx8_type(u32 imxtype) @@ -144,16 +145,28 @@ static int cpu_imx_get_vendor(struct udevice *dev, char *buf, int size) return 0; } +static int cpu_imx_is_current(struct udevice *dev) +{ + struct cpu_imx_platdata *plat = dev_get_platdata(dev); + + if (plat->mpidr == (read_mpidr() & 0xffff)) + return 1; + + return 0; +} + static const struct cpu_ops cpu_imx8_ops = { .get_desc = cpu_imx_get_desc, .get_info = cpu_imx_get_info, .get_count = cpu_imx_get_count, .get_vendor = cpu_imx_get_vendor, + .is_current = cpu_imx_is_current, }; static const struct udevice_id cpu_imx8_ids[] = { { .compatible = "arm,cortex-a35" }, { .compatible = "arm,cortex-a53" }, + { .compatible = "arm,cortex-a72" }, { } }; @@ -185,6 +198,12 @@ static int imx8_cpu_probe(struct udevice *dev) plat->rev = get_imx8_rev(cpurev & 0xFFF); plat->type = get_imx8_type((cpurev & 0xFF000) >> 12); plat->freq_mhz = imx8_get_cpu_rate() / 1000000; + plat->mpidr = dev_read_addr(dev); + if (plat->mpidr == FDT_ADDR_T_NONE) { + printf("%s: Failed to get CPU reg property\n", __func__); + return -EINVAL; + } + return 0; }