From patchwork Fri Sep 3 09:29:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shengjiu Wang X-Patchwork-Id: 12474035 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=-12.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 B3215C433F5 for ; Fri, 3 Sep 2021 09:55:15 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 7D5CE60FC4 for ; Fri, 3 Sep 2021 09:55:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7D5CE60FC4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id: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=KZw8t55pxqP5MP77CwHjTmyRnYrUInpZ7WjXm1O9WYA=; b=GDnjHTVuZecrjF rfdJdAiXtHC/e67SVhfIrtL/2VeYudum9NpbZp3DQ2Q16EQlvw0RFOtSXGEK2vcro8FN2adLQVU8u +erwp4h/HvEo4WoOlI7ClR9owHBAbngKzz+83gT5XpXmX+YflwzFFjw8Ewv9E00oHjibAzk6FtMW+ hkTLF4oneKEFlh2GSnv0yZ4JStMr+JYM5ueAiKS1j2YpdpAPa7BMysUdMKWEABUb5eDOuv/8NtR/J 3xgQNQ7VLvZ4RyrMQxJmvgNnxfJ9x24xVAcTJchIO5OM0OMFNO49Oscq85c4ptheTJFVpfc9nYZnw tGDFXWwwA/QMSAZ2Pn2Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mM5sB-00BZEc-VL; Fri, 03 Sep 2021 09:52:36 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mM5s7-00BZAX-7E for linux-arm-kernel@lists.infradead.org; Fri, 03 Sep 2021 09:52:32 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id D65D3203049; Fri, 3 Sep 2021 11:52:26 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 9D938203045; Fri, 3 Sep 2021 11:52:26 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id EA549183AC89; Fri, 3 Sep 2021 17:52:24 +0800 (+08) From: Shengjiu Wang To: ohad@wizery.com, bjorn.andersson@linaro.org, mathieu.poirier@linaro.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com Cc: linux-imx@nxp.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com Subject: [PATCH v3 0/4] Add remoteproc driver for DSP on i.MX Date: Fri, 3 Sep 2021 17:29:33 +0800 Message-Id: <1630661377-31244-1-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210903_025231_470313_8C44B0B1 X-CRM114-Status: GOOD ( 12.02 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Provide a basic driver to control DSP processor found on NXP i.MX8QM, i.MX8QXP, i.MX8MP and i.MX8ULP. Currently it is able to resolve addresses between DSP and main CPU, start and stop the processor, suspend and resume. The communication between DSP and main CPU is based on mailbox, there are three mailbox channels (tx, rx, rxdb). This driver was tested on NXP i.MX8QM, i.MX8QXP, i.MX8MP and i.MX8ULP. changes in v3: - Add this cover letter - refine clock-names according to Rob's comments - move common struct from imx_rproc.c to header file - add IMX_RPROC_SCU_API enum item - refine driver according to Mathieu's comments changes in v2: - change syscon to fsl,dsp-ctrl - add items for clock-names Shengjiu Wang (4): remoteproc: imx_rproc: Move common structure to header file remoteproc: imx_rproc: Add IMX_RPROC_SCU_API method dt-bindings: remoteproc: Add fsl,imx-dsp-rproc binding document remoteproc: imx_dsp_rproc: Add remoteproc driver for DSP on i.MX .../remoteproc/fsl,imx-dsp-rproc.yaml | 131 ++ drivers/remoteproc/Kconfig | 11 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/imx_dsp_rproc.c | 1178 +++++++++++++++++ drivers/remoteproc/imx_rproc.c | 28 +- drivers/remoteproc/imx_rproc.h | 39 + 6 files changed, 1361 insertions(+), 27 deletions(-) create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml create mode 100644 drivers/remoteproc/imx_dsp_rproc.c create mode 100644 drivers/remoteproc/imx_rproc.h