From patchwork Fri Mar 1 16:42:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abdellatif El Khlifi X-Patchwork-Id: 13578716 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 91DD4C5475B for ; Fri, 1 Mar 2024 16:43:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :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=Ujg6fcLDBhIdxyLAdf0fankjsc0uKUuuk7B4vYEp1pU=; b=TAcIH2REHToYLn ZAO7j1SrLq3l1xkxifs2pnF+1KEY2fAmJNULG6kzh4Bwr/s+CWZUSeNGYr0fl0xzaYJvlNQmaK44u GBhZ0SGIab5S7iudMc8LGoQUVyGj7nqMx1mclnIGCb6W7hBYVXJ9PwJNANp/49AwYpFOaIhIT1GVH PE7CvHlSH8q2FM7nCQenKLL0grKaud4Gx7IszFHKcFS5cNyh0n9Hj07qHOYfsPta/XG/rIzGjFBYl 6f4jje6DqNR5yv20jkVquqcLgGwiU4LDAAB/Ik0SBQnFu3f7IGOTOemqLxmp0E0g4rRsMgJ0Wetyn uth7IWNvz37Ma6smTs6g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg5yU-000000019a4-3ZRl; Fri, 01 Mar 2024 16:43:06 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg5yR-000000019Xr-3z2A for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2024 16:43:05 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D8F8E1FB; Fri, 1 Mar 2024 08:43:36 -0800 (PST) Received: from e130802.arm.com (unknown [10.57.69.63]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C03383F73F; Fri, 1 Mar 2024 08:42:55 -0800 (PST) From: abdellatif.elkhlifi@arm.com To: Bjorn Andersson , Mathieu Poirier , Rob Herring Cc: Liviu Dudau , Sudeep Holla , Lorenzo Pieralisi , Krzysztof Kozlowski , Conor Dooley , Drew.Reed@arm.com, Adam.Johnston@arm.com, Abdellatif El Khlifi , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-remoteproc@vger.kernel.org Subject: [PATCH 0/3] remoteproc: introduce Arm remoteproc support Date: Fri, 1 Mar 2024 16:42:24 +0000 Message-Id: <20240301164227.339208-1-abdellatif.elkhlifi@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240301_084304_064269_068FF6B9 X-CRM114-Status: GOOD ( 12.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Abdellatif El Khlifi Some Arm heterogeneous System-On-Chips feature remote processors that can be controlled with a reset control register and a reset status register to start or stop the processor. This patchset adds support for these processors by providing the following: 1) A remoteproc driver that retrieves the reset registers addresses from the DT, register a new rproc device with the remoteproc subsystem and provides the start and stop operations for switching on or off the remote processor. The start and stop operations are provided as a data config selected on DT node match. Currently we are providing support for Corstone-1000 External System (Cortex-M3) [1] as a remote processor. The driver can be extended to support other remote processors by adding a data config and custom implementation of the start and stop operations. 2) DT bindings 3) Support control of multiple remote processors at the same time [1]: https://developer.arm.com/documentation/102360/0000/Overview-of-Corstone-1000/Corstone-1000 Cheers, Abdellatif Abdellatif El Khlifi (3): remoteproc: Add Arm remoteproc driver arm64: dts: Add corstone1000 external system device node dt-bindings: remoteproc: Add Arm remoteproc .../bindings/remoteproc/arm,rproc.yaml | 69 +++ MAINTAINERS | 7 + arch/arm64/boot/dts/arm/corstone1000.dtsi | 10 +- drivers/remoteproc/Kconfig | 18 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/arm_rproc.c | 395 ++++++++++++++++++ 6 files changed, 499 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/remoteproc/arm,rproc.yaml create mode 100644 drivers/remoteproc/arm_rproc.c base-commit: 8b46dc5cfa5ffea279aed0fc05dc4b1c39a51517