From patchwork Tue Mar 30 21:16:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Opaniuk X-Patchwork-Id: 1460256 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; dkim=pass (2048-bit key; unprotected) header.d=foundries.io header.i=@foundries.io header.a=rsa-sha256 header.s=google header.b=BGqk05GR; 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 4F92NS5HYgz9sW0 for ; Wed, 31 Mar 2021 08:18:00 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CFC33829B6; Tue, 30 Mar 2021 23:17:27 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=foundries.io Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=foundries.io header.i=@foundries.io header.b="BGqk05GR"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CE17382982; Tue, 30 Mar 2021 23:17:15 +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=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 715568297B for ; Tue, 30 Mar 2021 23:17:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=foundries.io Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=igor.opaniuk@foundries.io Received: by mail-lf1-x130.google.com with SMTP id v15so25900973lfq.5 for ; Tue, 30 Mar 2021 14:17:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foundries.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JZKsnhyxglyqD9HExqjQu83iOFNgjO+rOKWE2i10oM0=; b=BGqk05GRqCinKG9rlK2s2bN4Snn/EFSJhy9IYDItCT4h74JJAhpybih5LhlgWKte0Z eThcbTdaojT3EfRNjZFhdrK5qT0IXsXLuPpr/rlAcdjeqjX8236hvMA2sHM2cFPdtgt0 WY1V+a/sNBiBoYrts3/EtTrKXssQ3mPjiffQXpklCgcw1u+zXsaCQEqPHv+9h+qS5lKu l9kHMoHZPO8qOAECe+ZvaDSOjcMg4yLQXy3RhAJgxZta5X/9syuKD4HXGfQZbT5f++W1 29Eyec/9HjJDheFTi4skOlhPlHpGkX446i2cvjbwWHiMTRXuFC4AzsAE3v62n9NddI+x /KrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JZKsnhyxglyqD9HExqjQu83iOFNgjO+rOKWE2i10oM0=; b=eWZrBueMVcwQP7aAJu7fftT4bZ0D677f8Vuw58xOpwrTbNSx8C9jmAwCSJ/dvwQ2LW zkb4ZrQdFXd4XbPOXGZ3x/DDYBMl+OayUxgb9p2rxQwjDDP5vL7fsY62/zqRuJI7of8T sJkmPimRrSVewkf7MK9EC8d3rlnXEtBNYBnHF07bGWcJiZRWnYHZ7kcYrrmIIGO+OSAN mW70lTbb+F66XfBOkfHtT5+myi1pcDT1AkuoG8XY17iLW/AWzPnuwNC85FKvkLUOdkgH CALXs4tE0eBIgFJsgZroeOw6alDOqWc7fCCFL2cewx2KxD6fHV2JH5I9CaVQW3XPdrKT HaFQ== X-Gm-Message-State: AOAM532pu/setElEoBsuUxVFS9OSSmpLKteAd3CxwZRf+5O51M0XWsPs snHLNYviPEIfk32E+nJJrzL5aVN+oZ7gKL8G X-Google-Smtp-Source: ABdhPJyKnaXL3NAi3fPFoHgv9hp2UqAF9MZmGMOxOlRKivjtQQtzn0MMCMtacyF/lfFLw+WFHf7rYg== X-Received: by 2002:a05:6512:6cd:: with SMTP id u13mr65335lff.326.1617139030613; Tue, 30 Mar 2021 14:17:10 -0700 (PDT) Received: from localhost ([109.108.76.111]) by smtp.gmail.com with ESMTPSA id y13sm231677ljn.94.2021.03.30.14.17.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Mar 2021 14:17:10 -0700 (PDT) From: Igor Opaniuk X-Google-Original-From: Igor Opaniuk To: u-boot@lists.denx.de Cc: jorge@foundries.io, mike@foundries.io, ricardo@foundries.io, vanessa.maegima@foundries.io, tim.anderson@foundries.io, daiane.angolini@foundries.io, Igor Opaniuk , Bin Meng , Heinrich Schuchardt , Priyanka Jain , Simon Glass Subject: [RFC PATCH v2 4/4] sysreset: provide type of reset in do_reset cmd Date: Wed, 31 Mar 2021 00:16:59 +0300 Message-Id: <20210330211659.1260518-5-igor.opaniuk@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210330211659.1260518-1-igor.opaniuk@gmail.com> References: <20210330211659.1260518-1-igor.opaniuk@gmail.com> MIME-Version: 1.0 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.102.4 at phobos.denx.de X-Virus-Status: Clean From: Igor Opaniuk Add additional param for reset cmd, which provides type of reset. Signed-off-by: Igor Opaniuk --- cmd/boot.c | 6 +++++- drivers/sysreset/sysreset-uclass.c | 23 ++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/cmd/boot.c b/cmd/boot.c index 36aba22b30..f27277dacf 100644 --- a/cmd/boot.c +++ b/cmd/boot.c @@ -56,8 +56,12 @@ U_BOOT_CMD( #endif U_BOOT_CMD( - reset, 1, 0, do_reset, + reset, 2, 0, do_reset, "Perform RESET of the CPU", + "[0|1]\n" + " no param - cold reset [default]\n" + " 0 - cold reset\n" + " 1 - warm reset\n" "" ); diff --git a/drivers/sysreset/sysreset-uclass.c b/drivers/sysreset/sysreset-uclass.c index 6c9dc7a384..65342d8832 100644 --- a/drivers/sysreset/sysreset-uclass.c +++ b/drivers/sysreset/sysreset-uclass.c @@ -122,10 +122,31 @@ void reset_cpu(ulong addr) #if IS_ENABLED(CONFIG_SYSRESET_CMD_RESET) int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { + u32 param; + enum sysreset_t reset_type = SYSRESET_COLD; + + if (argc > 2) + return CMD_RET_USAGE; + + if (argc == 2) { + param = simple_strtoul(argv[1], NULL, 16); + + switch (param) { + case 0: + reset_type = SYSRESET_COLD; + break; + case 1: + reset_type = SYSRESET_WARM; + break; + default: + return CMD_RET_USAGE; + } + } + printf("resetting ...\n"); mdelay(100); - sysreset_walk_halt(SYSRESET_COLD); + sysreset_walk_halt(reset_type); return 0; }