From patchwork Fri Feb 26 00:41:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1444673 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2001:8b0:10b:1231::1; helo=merlin.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=merlin.20170209 header.b=jaWLMWft; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256 header.s=casper.20170209 header.b=g30M92Oj; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=YjZ0S5oq; dkim-atps=neutral Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DmrTT5bQRz9sCD for ; Fri, 26 Feb 2021 11:42:21 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=OIo6DjG5JBuoUMgBQS/6KU2oxsK7X9V5CKqLIYXVnKc=; b=jaWLMWftQqi2j6gpDEHRL9vav6 Y5kXFo7kwWDnU30IUYjR7peWo1Jk/Cjjg5WxRxiw4x+f/IVWu1cy2uYRk/9IWQ3yo8sQB+uPdJa2a HyrYOj8oV4GS0L29UPqWlAI6uz61GwLYerrVm7UIesZcfCFVvEYViQR+x5C7PH1H+/WyGjZTK9bGq awqwi/7beFc1xEQhikU6TQZovCi5Lnj7KaziP3Bzvd11XKCC1YBg3dIrbpF67VxjoA9L8Vw0Hwu+l dhANFENOtlTLDH4sRS1VyfNGoLZpzCwvdwmPdX5YjltFrR7EZ7q/4k6RCN3VTBSI8hOJK5LvLdqzM xuow+oGA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFRCs-0008Iv-42; Fri, 26 Feb 2021 00:42:10 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFRCq-0008Io-LU for opensbi@merlin.infradead.org; Fri, 26 Feb 2021 00:42:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=luB8+YdS7vA6Y6oY3/sdoOpFTfxZTNzGe0Tjh2k7/DE=; b=g30M92Ojz+VLqI3rWB92/+hSKG l9OG877A+97V83ymoKPJx9+KjbGPzoHQ6EH7mX5QOAUQMRbrFu+IoPxEAyhUEFVqtyJf0J+cTohSL IBg+NqA+EHUHYcuHb/ewvMcopt/BSFpEU48o1kZHoHNMt9Rh1czE+u7/WGGZhjqVOUy3EAy8V14Fr X0OmU1BT2Ys9WPvdPjpDZtovveosyDwVvPlLK+pRf4W+ExJEYJ3DOaHlVc/096lFzUy74kMu91jsa 5SiDTMSK8qEbsLt77iG5o3MHJj3pnyJSId1A9jtFXasvhl7VuB7VfI6/P8uZpQMgNrQ/mBCcahGJF lRd8p4kg==; Received: from mout.gmx.net ([212.227.15.15]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lFRCW-00BN31-Tu for opensbi@lists.infradead.org; Fri, 26 Feb 2021 00:41:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1614300087; bh=kAv0pFFjr6y+u5Qq3sdDuRawUaNEhdRj0ERMzJxvM7A=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=YjZ0S5oqF0VPQ5R8zOCojzKTW3uc3XsmXZuh/7JNdFNXkRIDFL6ELnaON4iDMEtF6 UIjzmI5osBTYMFYnq4d+6aVOWc3cGPqgTPzgUyLguioadpKqkmpjqCq9sNz6M0eXh0 HfPFaPvaaPuFjJ0+UmX4HLnmdmY9AyrBt7jDEghI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from rpi2.fritz.box ([62.143.246.89]) by mail.gmx.net (mrgmx004 [212.227.17.184]) with ESMTPSA (Nemesis) id 1Mlf0K-1lgYT71QTy-00ilAI; Fri, 26 Feb 2021 01:41:27 +0100 From: Heinrich Schuchardt To: opensbi@lists.infradead.org Subject: [PATCH 1/1] platform: implement K210 system reset Date: Fri, 26 Feb 2021 00:41:19 +0000 Message-Id: <20210226004119.17716-1-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:ITD6nVrI8i8a3eEMWCv3iQBLDIn4WSGvIlKMrkivvFoRGptG8GS xIAhEDa4/g6adZ4qMOhc4NWobbvilISIuoLuD69HUK0jTwEimIWpJYWjOMUC3ArL1KnvOIs /lhOHxsfLK0+T6JuZTHk71sYv6/PyBrw1ae44vKSSztMGEh7DzEybbpxsKW1gIkDuZeGrqI 12FU71G8i8zw675dbZWJg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:Dle3QhS6Bvk=:GvPPeIZpdnn/2DRxEPn9oh z5TZSBJNYrKVyXIQbn+pHC3y39fL5GLFMR/h00Nxx5Mii1sP24VEG2Y/wQ/AAbs9wNHOSnUjM kj/uQhWRlEYjOvCi4yy8lUJPaT3UGR7gkNqt54S1880zETOXNvogPuQiLNS6AxmwIyEum86Fo vQ4HF8HjyC3DB9Z1FjbaY47ijrfYADeLMPOatA7y5P19Gghwk/X1xEiNTvJeH0u1nitWvy7o6 z2HtST7OOJFFfFSyrCnX9opEb1edBBeWGrJjST1kgTiqyF/P7wWw247SJqRMnB7XS+tNrvG81 rSctGqi7Xri+H9Qy5L3TqmdAHAry6z8DU/EXhrREo9a/Sz2O20DLuHIs26LLLdgXTQ6/xSn/Y g1WwpH4yPS4Ii+s4xFR+HyUQbFkrUqE5H4iD4R7aTYM+YxxOIIe6dM4VDMwQlJnCNn+Bu/4pQ fMFCwNnapJ+vK6XvHp22GWaw5maytkApNUcAdzP6GVJBlixD9UcSZygh8sykd+cIxhYEkuK5R tkJadx8p4+oGQbMhycjRD0/ZDFmsCVsEbc3xr/SyFMoCmGdMon/M1SoGBz+zSusNuMXIT+M8/ lvyKGX6tK3Aofy2YCrxhA/a4sUoMWeHdqjIY4F2tdURVxcz3F+TlKcCIr2749FambwQMWejIB letSsx74j8LN3uznH6dxxVab3GJ4OWAu2SO+rDaGx+AV7gSvCxwaToAmZy4BUOoF4pEOeNzs7 TC+Z+F9aYZ+rPpbpvBERCiFAiMyI94KxpO7TVl8fYmDrzbo4aN31cb9QK2uTXdUWFJJSNpzXs OiXCjElLnrZTw52vS3zf4GkG/gNDF+uCoJVlsbZKCy2RotZK6X3zFlwgImjrKwQBdQkOb6KiR aUpLlmLfYBWgYGXyOe2g== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210226_004158_032520_48FC9F1C X-CRM114-Status: UNSURE ( 7.69 ) X-CRM114-Notice: Please train this message. X-Spam-Note: SpamAssassin invocation failed X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Atish Patra , Damien Le Moal , Anup Patel , Heinrich Schuchardt , Bin Meng Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Implement rebooting the K210 via the system reset extension. All reset types are treated in the same way. A request for shutdown results in a reboot. Signed-off-by: Heinrich Schuchardt Reviewed-by: Damien Le Moal --- platform/kendryte/k210/platform.c | 19 +++++++++++++++++++ platform/kendryte/k210/platform.h | 6 ++++++ 2 files changed, 25 insertions(+) -- 2.30.0 diff --git a/platform/kendryte/k210/platform.c b/platform/kendryte/k210/platform.c index 944b388..cba8c7d 100644 --- a/platform/kendryte/k210/platform.c +++ b/platform/kendryte/k210/platform.c @@ -129,6 +129,22 @@ static int k210_timer_init(bool cold_boot) return clint_warm_timer_init(); } +static int k210_system_reset_check(u32 type, u32 reason) +{ + return 1; +} + +static void k210_system_reset(u32 type, u32 reason) +{ + u32 val; + + val = k210_read_sysreg(K210_RESET); + val |= 1; + k210_write_sysreg(val, K210_RESET); + + while(1); +} + const struct sbi_platform_operations platform_ops = { .final_init = k210_final_init, @@ -142,6 +158,9 @@ const struct sbi_platform_operations platform_ops = { .ipi_send = clint_ipi_send, .ipi_clear = clint_ipi_clear, + .system_reset_check = k210_system_reset_check, + .system_reset = k210_system_reset, + .timer_init = k210_timer_init, .timer_value = clint_timer_value, .timer_event_stop = clint_timer_event_stop, diff --git a/platform/kendryte/k210/platform.h b/platform/kendryte/k210/platform.h index 5269bc4..2946928 100644 --- a/platform/kendryte/k210/platform.h +++ b/platform/kendryte/k210/platform.h @@ -27,10 +27,16 @@ /* Registers */ #define K210_PLL0 0x08 #define K210_CLKSEL0 0x20 +#define K210_RESET 0x30 static inline u32 k210_read_sysreg(u32 reg) { return readl((volatile void *)(K210_SYSCTL_BASE_ADDR + reg)); } +static inline void k210_write_sysreg(u32 val, u32 reg) +{ + writel(val, (volatile void *)(K210_SYSCTL_BASE_ADDR + reg)); +} + #endif /* _K210_PLATFORM_H_ */