From patchwork Fri Apr 28 04:08:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 1774727 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-NXP1-onmicrosoft-com header.b=UMqzRTUk; 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Q6ybp4H4Pz23s0 for ; Fri, 28 Apr 2023 13:23:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3B408863F1; Fri, 28 Apr 2023 05:19:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.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=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="UMqzRTUk"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0B6D5863D4; Fri, 28 Apr 2023 05:18:53 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0617.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::617]) (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 1BE83863B5 for ; Fri, 28 Apr 2023 05:18:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d2MNAQKcq+U5h5h1yCinxbkQNqOBo752DxHDVad6zjq4vW3EwSn/BKIR59IcDDjmS8sFibXxJaNQyUzUTZpKb/aqq2gyo02hKaEN/PEZ/XjYgLiCiQBK+kYnXDMOsOKZ+5TH67K/ZEsEt0o+pT41pIMMgAM0kFSPLC/OEuYBFtJ25qk2wvo7PwnGHWTo3hi1/ih3zh54/OfKEzdWo0+Gn2giy5A2KNn2evrAs1L4Y8ZqNEEEv/MzbgHgS+R3jiBp821zcqAvitM5qaUkRFBWcBpovE4dz/uwiEtYivzIYrPQEGHAnCtNQwT5mhbeJfkLXQgZ6GK/FBmXF5hrRgCyBg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WKW8E+cpC2HjoQHcD5z87DnMokd83zlWabrX4uAFRyw=; b=ZBP/0k64jTSPdu11BCFFD4qqbFJdg/7A+fqVOVg0oeFvFsxWS91mfhha+LEJsH7FyaqIdWytvO3R+RISTkQah6VYfqqkB1dN2xqwkWYo/az3ysg5T2wrkYZ/1C5kUcefeQyRmDejwlijxsLo1WMqQnJws7HXv/jOTRBIpttxdf4M8cNbAURjWCOMCMVUQbpvgr21SaO4ks7tOqCCWtNXFTsi9nmecBibUBCu9udQS71qgaGtAU4chq8FXuFz7BvL4DRUFA+jwi7GNLGUF8cUQxS5hBhnTIgHB1zqOdpXOX0vg9KAakPOYb1OR7OmszNFMyCtDlerGAMPNuGt1uVoHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WKW8E+cpC2HjoQHcD5z87DnMokd83zlWabrX4uAFRyw=; b=UMqzRTUknvGDR42sKSBbMhrDZdQeb9zUkp86ItG8+dcDK5WeF/HOrQvGgmtZWWUH1WSMLUMiAXW+bTfJqTXMAABiqOVnPa36CPdAMjUbUSgRalWmugwO0ho2JSs0pJjkPEKzEzAuimYTCsqv/e0kkqH9B/7uPcvWG4p5YmbHFEY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by DBBPR04MB8009.eurprd04.prod.outlook.com (2603:10a6:10:1ef::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.23; Fri, 28 Apr 2023 03:18:47 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::b999:f2c6:a8cc:7b4]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::b999:f2c6:a8cc:7b4%5]) with mapi id 15.20.6340.022; Fri, 28 Apr 2023 03:18:47 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 22/42] imx9: soc: support reset cause Date: Fri, 28 Apr 2023 12:08:27 +0800 Message-Id: <20230428040847.10841-23-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230428040847.10841-1-peng.fan@oss.nxp.com> References: <20230428040847.10841-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SI1PR02CA0033.apcprd02.prod.outlook.com (2603:1096:4:1f6::14) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|DBBPR04MB8009:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e1098ff-8b04-4c13-0c2e-08db479747c2 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5qIn9CZ2Vjrqn6FUnZhtn6pD3R6zcxMUhxfgCBTprIufW1bHjyP1pfXBcARTGrEspjP0616Da9kB0SIMM5/I94TWxqzQt4SMTpIZv95Xg8VzxhBXT7XHZabgrw3DI3srGc/zCvferDFP3bBEvXdJs2faOVFo/m26m03GmG7e7WW+UCDjI0wXX83SWcmgh/RSQc/GUzqgNR4QcLw14P3QVf1+lAKNth3YW/KE5rCTNox9gjpWJVC56KTbgec7BzfKUsE37zEZJKeC0699cZJOsyHn9E7Kgwfz02WNXgTVfMWZGeC4OdgNf+8vC/cpIsecDJ5sayEdHDmhxqIedb4/UB72lxyxfLz1n2fzMH7rLsqg2EnrAz6uZYDbXvHMyuCnQsb+BHTmz6moBUg3Z+640GfPew/9GP50lNwqSw2YkABU+wYe9gkwcLYBtVVddi/0sFCmU5r+VozObtrmP72fd8Bf6VSRRQNl1rNoSZ6uzpd/qts0RMu0QQNEmx6DYgnVIDlgQJvTKo7j/nKLXBphC04ihvjVhDb89R4gcI3uDtXEkJeBZVOlJFc7CHazZ4p1N40boHl0XmCzUgHBmZjGJmdB1Fpjg5gKunP9T1uuAEEjjWdyg658D3RjL1TCFAAr X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR04MB9417.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(39860400002)(366004)(136003)(346002)(376002)(451199021)(6862004)(8936002)(8676002)(5660300002)(83380400001)(66476007)(66556008)(66946007)(316002)(4326008)(38100700002)(41300700001)(38350700002)(2616005)(2906002)(478600001)(86362001)(52116002)(6512007)(26005)(186003)(1076003)(6506007)(6666004)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PfVJC7MB/9szci71M1O0nNR0w/zO1Mku1+JKD22sVfvovwpStyuU+4d8Y/Lz/up3Wp8VV55v50zusEYC3D/MulPWI1yzaksmGC7uW28XkGx+8xpzNIZLR1l2uENLuv34NNdpvLEUgJmaw00PnjIv1sd3FLMf2KkgedYIBPfbOb1KnQzvvyNjSbkBeMj4A32OiP3/SF2OVe8YCOZJ27p4ftZ35gqTc0k0Tm+l6afUhUrXYhiBG5bw5Uw/5buJip5LT+dPJdbP5yfy/vLlXwi87QgWVbfhYSgOGCNQ4Qvcnx6KIPP/PvRAUQfW/S7lvk2n6cRMlAjrX+74firApmQ/mYs/t35glvXZ5agR+UVqwl5JEwSjvewNyAJ2xBdkdLymx4dncJtnYQx/WtG7+dftHBSD4gZ36WAQP9UmKkJHzcZFlyHuwlFTIuYKi87sNjhM1SAK2/u30b7zT3PULvQQPKXQwxL+cXV22kr2wiIvs9+O1WRAPTqDzlJ6k+FGuM1scyuf5J/sFw2RqAxgoAJ+FYXtwV/jJNmaT2gSdTcaibiIWNI0m+yFbpPL9rSOCtBxeRQkyAXYYkSdJCVsTxkqglKb1j58Ns3t6HzYY6GusihKqs1ecQ+jqfUv5WkvqTRnJPTApU7prGkUjET8Iyf0+wTYFEbvkH/qEivRYHyJyK3LJ9WlkHXiM2iuvFEZ0QFlmgmiDef+Pf6fajyPz9dVPGMcvybTtuqigVSmz1/Jv8gUpuj/Lt9qhHzMi60BcrgOGZ/4VUg7UG/wTDUqHL5D1IkboC02Z4rAN84Gdav8TV16J1C3FgQGu0NWeAA8ehJYorQJnUSK6+9YTqWC0o6z9RpqJni0QvCvjF2fMntnqO3esL8j0dhCLCiYtkj18JZBVXacW4F4aQUj0bAK/Z6xG5sB/5dCSYJNjdcNzi6v1R7RNMDE5uJ22IwDytnt5fJd6fJHrpXvvySzX1DuTf99+2jsPsVnWnUs35xeTo+d+G8H5wuWmB61mbswOFThBmJWMtQJA0NYb9TaDMwvAw91IcA+CM+vuh9fdKTHov5I9VNWD7ta+reNU/IWJAaCOyFqPcOWt5VtC/XxDDsRHAa0B4vmvouofNKdBT6EU2cJOq8QSeqqRuhZiTqXqo1cAwCPhb+YqVgUELKWvquGyUwVEkFhQKbFfJ8NrRTwjcgswHOkcCaxvv7k6VfCkAvpcgfhwag7+BVGkBsFXQ5chAWOeoI56ALBjmCdz0hjuClWYogzW4ZlZ8eRhnBrS86vhniVq3dw31NlmUkB7R1icd81Y+Soj/9REKOCd6mPaZgvBiCdW/bluaOOkx4bqaW2Nx49ylQ4/UElJH5Ar4X3/oDGzR+HM7RnrFO0VR95tHNOn+Dv246c5tijLW15GLLJ3r/8gzY3uB+Y9j/knGmnovPrlb+5jN6YCMqAEyjM1H5eqLt4GMamwun1j5CfB4fmzMLm3IubRaHgDHBJsF9y8ofU96sjkwaywSNSe0ZOgHPDhGwtYSNMlV/bYyu7ymKav/zO8IkNUuQrAPDVofdAPQTkEsUbkbZ153j3YnfOMvv64CFq4KHxZ4EN52CA1qoCuhDz X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e1098ff-8b04-4c13-0c2e-08db479747c2 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2023 03:18:47.4744 (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: uHzY4QeLkKqLs6TwjZU7rqz/hx83ikgFvjKNl0/n+4UrJt+4se8lO4yAhDG+iGa2VdHmhPuSVYuG89r0B2dhtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8009 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.103.8 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Support print reset cause. Since SRSR is not accessible from non-secure world, so first save it to grp0, then read it in non-secure world. Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx9/soc.c | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c index e4e9eca101e..dcabfe34aca 100644 --- a/arch/arm/mach-imx/imx9/soc.c +++ b/arch/arm/mach-imx/imx9/soc.c @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include #include #include @@ -408,6 +410,18 @@ void get_board_serial(struct tag_serialnr *serialnr) } #endif +static void save_reset_cause(void) +{ + struct src_general_regs *src = (struct src_general_regs *)SRC_GLOBAL_RBASE; + u32 srsr = readl(&src->srsr); + + /* clear srsr in sec mode */ + writel(srsr, &src->srsr); + + /* Save value to GPR1 to pass to nonsecure */ + writel(srsr, &src->gpr[0]); +} + int arch_cpu_init(void) { if (IS_ENABLED(CONFIG_SPL_BUILD)) { @@ -417,6 +431,9 @@ int arch_cpu_init(void) clock_init(); trdc_early_init(); + + /* Save SRC SRSR to GPR1 and clear it */ + save_reset_cause(); } return 0; @@ -650,3 +667,45 @@ int m33_prepare(void) return 0; } + +int psci_sysreset_get_status(struct udevice *dev, char *buf, int size) +{ + static const char *reset_cause[] = { + "POR ", + "JTAG ", + "IPP USER ", + "WDOG1 ", + "WDOG2 ", + "WDOG3 ", + "WDOG4 ", + "WDOG5 ", + "TEMPSENSE ", + "CSU ", + "JTAG_SW ", + "M33_REQ ", + "M33_LOCKUP ", + "UNK ", + "UNK ", + "UNK " + }; + + struct src_general_regs *src = (struct src_general_regs *)SRC_GLOBAL_RBASE; + u32 srsr; + u32 i; + int res; + + srsr = readl(&src->gpr[0]); + + for (i = ARRAY_SIZE(reset_cause); i > 0; i--) { + if (srsr & (BIT(i - 1))) + break; + } + + res = snprintf(buf, size, "Reset Status: %s\n", i ? reset_cause[i - 1] : "unknown reset"); + if (res < 0) { + dev_err(dev, "Could not write reset status message (err = %d)\n", res); + return -EIO; + } + + return 0; +}