From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0DBB7C11F64 for ; Tue, 29 Jun 2021 02:07:05 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 83AC461C99 for ; Tue, 29 Jun 2021 02:07:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 83AC461C99 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=oss.nxp.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B257D8318A; Tue, 29 Jun 2021 04:01:47 +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="QmGl+fZE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A2C7B83129; Tue, 29 Jun 2021 04:01:00 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20601.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::601]) (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 706E083142 for ; Tue, 29 Jun 2021 04:00:54 +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=EnBVKivCzmZOg/sS4Sk8+zhhKchaSlBOfeVnlLQLHRbsP2+4snljGtfGUNOj/m5PWqbeDinD/bTUT0zgcLi+/5xW+995EjyK82/bZ81gTnO3mQ4F6Et3uT/zxfpi/0LwLitLczoGtW3V1jJ+UeEWxXgOyKnNNOYBQ3NuSPsoQ1sfxfZ7YrZ08S0A5h+lk5DOwzzbENo+jdH/gOb8YFlkytfAilHqIKJHx+iVSUGSPMCzwRKGL18kM/qXe3/wCPV8BNbwkNUbGDSOs/dcesCYpayc0vBnISPzhJ39MSxRieAxn5rPuIbHiOb7acd7kCBZ68ryPE+3gQvjgEmVjp1Opg== 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=+HN8Z0ZOjUFayw5u24PaWX7QgGYxRpjmtRVTIoKoatI=; b=Yh+eOdNszNK02/PgDi6FvQ8qprg0j7jQIi6eRYNtNTRrSz+nOy5gj3oeG8XvFHzBq9hRmqwPS1pfBNu4m/VDQxa1R2SIvQVk8MHM4thzWFWJzBzhFVLMuau9TlZ5Dwyhe3wYNiFt5FKGq0O9WjsZU2BP6Qi2GQdpdlaYrue+uikpxi3lj8ZKTBvq3jDiHaEfezc9uZXiAw6f8jvPY3ftspvb+TcdvlhTOuR8MQ3oQoTlm6YW1HY44/QeomdCTCDvcwvLRO1MjClxNarWpIVica+8yzVzD84Ctchf+QLM05JfkPSnetU0JuE2967Lq4BQMP2ZTvponx1pO4iEYEHXZA== 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=+HN8Z0ZOjUFayw5u24PaWX7QgGYxRpjmtRVTIoKoatI=; b=QmGl+fZEDSZL6j5SJKuYOu1zVtyI78HLJji4iyRRdATM5GNushK8/dUlo/9RvVXci0EoPev3YaDwPftPKyqvJoi3camxfDfBGoAUFTLSZz15CP9RgY5747W0ruftk3wDOk8Sr8NYIOcqVEgRDBAJrnKSSZcrlKtmy24sh/CFs0Q= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB3PR0402MB3657.eurprd04.prod.outlook.com (2603:10a6:8:b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.20; Tue, 29 Jun 2021 02:00:53 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c445:d742:eb76:86dd]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c445:d742:eb76:86dd%9]) with mapi id 15.20.4264.026; Tue, 29 Jun 2021 02:00:52 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: uboot-imx@nxp.com, u-boot@lists.denx.de, Breno Lima , Ye Li Subject: [PATCH V2 40/46] mx7ulp: Update unlock and refresh sequences in sWDOG driver Date: Tue, 29 Jun 2021 10:32:34 +0800 Message-Id: <20210629023240.22394-41-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210629023240.22394-1-peng.fan@oss.nxp.com> References: <20210629023240.22394-1-peng.fan@oss.nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [119.31.174.71] X-ClientProxiedBy: SG2PR06CA0088.apcprd06.prod.outlook.com (2603:1096:3:14::14) 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 SG2PR06CA0088.apcprd06.prod.outlook.com (2603:1096:3:14::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19 via Frontend Transport; Tue, 29 Jun 2021 02:00:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2eff8bcd-4b45-49b9-cf08-08d93aa1b98f X-MS-TrafficTypeDiagnostic: DB3PR0402MB3657: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Dj9oCTIZ4YBgvTLhTny/4Py3SCyOb6UKWNfPjuphAbK4xj/kBoXE4cOz9VRkMVA+Kgw501pNIhu7DvEpUQCAa6Fj5WQDDPL/ajL/MqgOJZRfbaKjnOBxCLOvSi1gCghtOOCwVtJbMv6qrAOfwc7KDF+y2RO83bKXK174cxIyVthrSYKDdoZAkgn9FEWr7ggmsPJULaFVlPsWfW/eHvXEw5FfpxtL51wsx8sbNX/Np1DKnabnwXiF84ZXQPzk9w+sMhmES5pFH+Dyr8Sv7A2GRRX3ecYs1oD4Udl4ON+mJDDWDDwbW2fE+P9ohAB6Drnp4QLaHjTqmH6tn9k6cKj4jjCyl4kVDm03/Xkc+yv3O+yQsubFxWRmtxdEhx7cBc2IhNEsuCXrJ8HXAL/c5+I4heeqfzeiIkC9YFhhTzuzcmy8PCFQLb1nknw1IO3EwGfxZfOFUYFZdhnudE5xCNTWm8d6lr2rFntSdYEU6oalBHhSDuYPhINX5zG1nIzL4x4t3cRClyINMCc3nvlmO4Nu2NOziSIfzKvubwx+0gLU2hWWGMnv4aKU2LyvKcStTmp6NAvypryc+W2S8V7YxhgvMEU9gApKw8veafAHfPgIPQ+sua5FgMj5+a0E0AsWlKbGkUz1hSi3oCg+FoRyThpjDskbRhxd8gPUHURaAaYZuUgbWIMWtgxmsO43rK+0sAv6dI1M82t/gdWqY7ypCvdgUQ== 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; SFS:(4636009)(366004)(39860400002)(136003)(396003)(346002)(376002)(478600001)(26005)(83380400001)(6506007)(38350700002)(66946007)(5660300002)(66476007)(66556008)(38100700002)(6486002)(2906002)(16526019)(8676002)(52116002)(6512007)(4326008)(6666004)(956004)(186003)(8936002)(86362001)(316002)(2616005)(54906003)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?71skHGhGhAMGSpBlmK9T4WAXWDctpC7gb758GO0KGscb4k1c2FxejrzwyRbk?= =?us-ascii?Q?Wq6lCsj5tTccmcgN9+0ssMxjsvo5CZdixSNu2PVSVH/1hZi0Z0WKkHXBteve?= =?us-ascii?Q?kqSBFqR4PYqkt3DLdkOF6rCs+WvUK4sVBLit1I2j/W9NAXnmyCrmFHjkZpkP?= =?us-ascii?Q?40/+gDA/wi6xVsAuOOvnFtgKqaVDOvHp7RIiuIop0uD+jx1w+Pxf4bZRUgoi?= =?us-ascii?Q?1Cr9Jru9lCoBX2Q011g4CQyUi9XYB89N9mM21+o3jBDj9NgIMfAKXddhqSxJ?= =?us-ascii?Q?8YTQ7oonDfNsJLF2HMHU+g41hT3Xuxjij+R/E40XV5jvEbL5scPXag9lObzq?= =?us-ascii?Q?Bvlk4JGJ64XHwKcWD3BLLHq2HJ3fOZLKMEAERmSIHa3lKOoBlYXL+HRl8ka7?= =?us-ascii?Q?wgBqlYmTSfXopz0dW7sFKxG4A0EedXbrMA0BaO19l/O9OhswC2USa7/6kY9h?= =?us-ascii?Q?8+mg1sIZGGWpx+jEobxdRApVT6TlllBmTSr/9+xb7iutX++nUhgswvJXUEH6?= =?us-ascii?Q?Vh5XynnYkPh4VPMcMa8gqHZqnq55c9xZk1JZFAmFXyBR0b3Eiezq+hVDPZi/?= =?us-ascii?Q?56efe6X0Q6JqCobt4EABc9T4teoq4rn1LD8j6xuXB+Q8PWpcdNWTVeuBVzRg?= =?us-ascii?Q?bAJgC8a7nOZh/VNLx/Z2S9uZMD5JMPOeaXEPX1VWSDzFymriAm8l6UhXjrML?= =?us-ascii?Q?Z55PHrbZD+VjW+zvQZ84YbooJFCoi86HtA/mIT5m9HACdr36edb+mxT0vnRg?= =?us-ascii?Q?4o8biGqdqnANVGfOjaF78IiIUTu/OJegd726CyTMNkVLFyWlwovFichQJk41?= =?us-ascii?Q?MTBStY0iVTA6ljbN6fbxWxFOyuyXvnqP4s0sa3g4m8QAKmjjCoMkAdDg/Y0N?= =?us-ascii?Q?W4/4iT/hM0QmDkX8+rw1xG0F7ov6tuqCjNurnHvrov8qpXhKOqhl4CALMDzi?= =?us-ascii?Q?U1VbfZQSgYi7LxZUDISxRC2GfdO+M2N6eJINaM/ZaNdahsf/pH1PYe7MRI5x?= =?us-ascii?Q?Exwpnc4xre+nOMXe6HX80DFu+Qv5eqP5j9wD0fJq5oQu+VhB5ogAfd+Vs9Ln?= =?us-ascii?Q?hICk+BwfxaenoeYV5WKGOkm5T6IcsOgc2cArM3wDCb/EtF1nRWJP5vsdwqI+?= =?us-ascii?Q?1gm0It35BNvGlesZMwpGfMoezPjobTF98P4Qa0/IumzX4gtCMuaAyZw/hnj3?= =?us-ascii?Q?ow9IkenCN3gwhJhj/FikhFd681lV26XHYbY46kUmHW6nO812f2LTbJFFCcjc?= =?us-ascii?Q?DZliPKtcq+rMyudkAjXBoQ7ndE06FYUzYIDZIocITu2jKBHoBowYx4At91o0?= =?us-ascii?Q?AH07FxRiOFFqrzqNZlnGgGbK?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2eff8bcd-4b45-49b9-cf08-08d93aa1b98f X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2021 02:00:52.9150 (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: wPePnnkXEqK681OkV3ZFg4q9kXlOC/IuzRoVBYnu2Cpes+35naz8uZKLVRUzwC1FznS+CNe7Pul6c2BcnJ5RIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0402MB3657 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.2 at phobos.denx.de X-Virus-Status: Clean From: Breno Lima According to i.MX7ULP Reference Manual the second word write for both UNLOCK and REFRESH operations must occur in maximum 16 bus clock. The current code is using writel() function which has a DMB barrier to order the memory access. The DMB between two words write may introduce some delay in certain circumstance, causing a WDOG timeout due to 16 bus clock window requirement. Replace writel() function by __raw_writel() to achieve a faster memory access and avoid such issue. Reviewed-by: Ye Li Signed-off-by: Breno Lima --- drivers/watchdog/ulp_wdog.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/watchdog/ulp_wdog.c b/drivers/watchdog/ulp_wdog.c index 6f63b11b9f..490a2c94ec 100644 --- a/drivers/watchdog/ulp_wdog.c +++ b/drivers/watchdog/ulp_wdog.c @@ -52,8 +52,10 @@ void hw_watchdog_reset(void) { struct wdog_regs *wdog = (struct wdog_regs *)WDOG_BASE_ADDR; - writel(REFRESH_WORD0, &wdog->cnt); - writel(REFRESH_WORD1, &wdog->cnt); + dmb(); + __raw_writel(REFRESH_WORD0, &wdog->cnt); + __raw_writel(REFRESH_WORD1, &wdog->cnt); + dmb(); } void hw_watchdog_init(void) @@ -61,8 +63,10 @@ void hw_watchdog_init(void) u8 val; struct wdog_regs *wdog = (struct wdog_regs *)WDOG_BASE_ADDR; - writel(UNLOCK_WORD0, &wdog->cnt); - writel(UNLOCK_WORD1, &wdog->cnt); + dmb(); + __raw_writel(UNLOCK_WORD0, &wdog->cnt); + __raw_writel(UNLOCK_WORD1, &wdog->cnt); + dmb(); val = readb(&wdog->cs2); val |= WDGCS2_FLG; @@ -81,8 +85,10 @@ void reset_cpu(void) { struct wdog_regs *wdog = (struct wdog_regs *)WDOG_BASE_ADDR; - writel(UNLOCK_WORD0, &wdog->cnt); - writel(UNLOCK_WORD1, &wdog->cnt); + dmb(); + __raw_writel(UNLOCK_WORD0, &wdog->cnt); + __raw_writel(UNLOCK_WORD1, &wdog->cnt); + dmb(); hw_watchdog_set_timeout(5); /* 5ms timeout */ writel(0, &wdog->win); -- 2.30.0