From patchwork Thu Nov 19 14:08:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grzegorz Jaszczyk X-Patchwork-Id: 11917497 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=-11.8 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=unavailable 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 C742CC63697 for ; Thu, 19 Nov 2020 14:10:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 475A7246D3 for ; Thu, 19 Nov 2020 14:10:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sFPbzAvA"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ui9Fzug9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 475A7246D3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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=E+GbnnDsbfnyqcWLK2IkNkqSviMkVvZ3yNDt1WTzbKY=; b=sFPbzAvAJnWnjhKkE4CDtYDTw1 hMf5zXCbksyGtcUjXqng/98E3QZqHKaD1eNHFcvxzY3ijD9tBW9d1OgylTfOQxDYNlols0UOqMa6w VD6kpWIqg/zSUT2F7nImREZvfu3ncG3WH7mtMjbzKJxO8jW5iV2N76K0J0IbBmflWHDWRB9/sijrX 2VQGM2jC4YdhkftCX0b8G8eCrD5/B3pDlY5fEGjbJ5oWmRXdBA9fMSf9IbI2X6o6yqK6R5txfITp3 RYvjjs0crF3RwkMcS8IK26l2D2UcLGLGRkncFuqjGBk9AAjUSaRJ9uczvLuzC14H0/WEDPjQJJ3tv 4iL6KobA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kfkcc-0000PR-7W; Thu, 19 Nov 2020 14:09:14 +0000 Received: from mail-lj1-x244.google.com ([2a00:1450:4864:20::244]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kfkcM-0000LU-Q8 for linux-arm-kernel@lists.infradead.org; Thu, 19 Nov 2020 14:09:02 +0000 Received: by mail-lj1-x244.google.com with SMTP id b17so6310499ljf.12 for ; Thu, 19 Nov 2020 06:08:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=UF6cB4y26/1x+ilSgxNaVWPYjbbYhd7kb0SvD73E4kU=; b=ui9Fzug9MSbXWblCAU0MDz8kBmjHpPOA+hoxmzbFgaHhog5Uei7ieNNzC17jJC5xXk OgmaTyHT+6hLr5dzjkIyJ+MVA+gMjtMjOPPVwKlsKNdgckM0bXlqwsmnMKwhrBxl939N bWMtMzLSp4CmWBTlibdc83mY3I5xQH1kg5hLJ5Y05IDhp94ygaK5NUvc5ay2VXX5VcEW 4mhHwhsr4Wi9rNZw7INdbzqllPp3rpMAfeRBHp8vR9XQLe+KC0PpCSWf/ec2kbsYwVek Y7XJWjtDXAayJ9/h7GrTvJqHMWdz/a8nYd5Jb17bxrUaSvQmseoNUzeHdOhp8XewYOQg SLfA== 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:mime-version :content-transfer-encoding; bh=UF6cB4y26/1x+ilSgxNaVWPYjbbYhd7kb0SvD73E4kU=; b=XQD5GPiAYqHPJe7qWpq+U1pKqsHxM7McD9OGy9yj0xwHWiEejdKoZn+SIcrIxWpEYJ gLvqfsy43xZ8cCq1i0R9AgKsl0+D0Q7dspTW/Y2X3zgM4va9jx1OFmC3jP9Kka4ujkYN 7aWzuXA0Tnseg1dOHUoXq6X8fcoOt2hpDwD+TADIJham7I4nTGyfZckpm+r0yJKMA0Wu GmP3PeWAd1MXLYWoE3sXf3gMBrXhK466zXrSel90xfwkJHd14ZL70MGXgOIPuwHShnw1 hwnDVTUwOz4slMjgzvjpkX+R7x/Xrm531FznhpPxsPro68W/WSKbPcBYUmj91V2womii 1Lvg== X-Gm-Message-State: AOAM532vA5icXGmPiwmZn6qYeUrXYKSkFdKM9h7MKXXiZg4V4b5TcU20 tAJeErOpgdWx4WV+YRRCJ64SbQ== X-Google-Smtp-Source: ABdhPJx0TL5BdSP4dq002vIYpP7fDsQO06jmylq7JLz3JU64d0Gv7AEXiEzyjG8SHTDOmTip9RP+jQ== X-Received: by 2002:a2e:90cb:: with SMTP id o11mr6356318ljg.465.1605794936946; Thu, 19 Nov 2020 06:08:56 -0800 (PST) Received: from gilgamesh.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id h12sm4024706lfl.74.2020.11.19.06.08.55 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Nov 2020 06:08:56 -0800 (PST) From: Grzegorz Jaszczyk To: ohad@wizery.com, bjorn.andersson@linaro.org, mathieu.poirier@linaro.org, s-anna@ti.com Subject: [PATCH v2 0/6] Add a PRU remoteproc driver Date: Thu, 19 Nov 2020 15:08:44 +0100 Message-Id: <20201119140850.12268-1-grzegorz.jaszczyk@linaro.org> X-Mailer: git-send-email 2.29.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201119_090900_769723_A7DD9A81 X-CRM114-Status: GOOD ( 17.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, grzegorz.jaszczyk@linaro.org, praneeth@ti.com, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, linux-omap@vger.kernel.org, lee.jones@linaro.org, linux-arm-kernel@lists.infradead.org, rogerq@ti.com Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi All, The Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS or simply PRUSS) on various TI SoCs consists of dual 32-bit RISC cores (Programmable Real-Time Units, or PRUs) for program execution. The K3 AM65x amd J721E SoCs have the next generation of the PRU-ICSS IP, commonly called ICSSG. The ICSSG IP on AM65x SoCs has two PRU cores, two auxiliary custom PRU cores called Real Time Units (RTUs). The K3 AM65x SR2.0 and J721E SoCs have a revised version of the ICSSG IP, and include two additional custom auxiliary PRU cores called Transmit PRUs (Tx_PRUs). This series contains the PRUSS remoteproc driver together with relevant dt-binding. This is the 3rd foundation component for PRUSS subsystem, the previous two were already merged and can be found under: 1) drivers/soc/ti/pruss.c Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml 2) drivers/irqchip/irq-pruss-intc.c Documentation/devicetree/bindings/interrupt-controller/ti,pruss-intc.yaml The following is a v2 version of the series. Please see the individual patches for exact changes in each patch, following are the main changes from v1: - Patch #1: fix two yamllint warnings. - Patch #2: address Suman comments: minor style improvements and fix for optional resource table handling (moved from patch #3). - Patch #3: address Suman comment: minor style, comments and trace improvements (no functional changes). - Patch #4: No changes. - Patch #5: Update documentation of pru_rproc_memcpy() function and is_k3 flag. - Patch #6: No changes. Best regards, Grzegorz Grzegorz Jaszczyk (1): remoteproc/pru: Add support for PRU specific interrupt configuration Suman Anna (5): dt-bindings: remoteproc: Add binding doc for PRU cores in the PRU-ICSS remoteproc/pru: Add a PRU remoteproc driver remoteproc/pru: Add pru-specific debugfs support remoteproc/pru: Add support for various PRU cores on K3 AM65x SoCs remoteproc/pru: Add support for various PRU cores on K3 J721E SoCs .../bindings/remoteproc/ti,pru-rproc.yaml | 214 +++++ drivers/remoteproc/Kconfig | 12 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/pru_rproc.c | 877 ++++++++++++++++++ drivers/remoteproc/pru_rproc.h | 46 + 5 files changed, 1150 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml create mode 100644 drivers/remoteproc/pru_rproc.c create mode 100644 drivers/remoteproc/pru_rproc.h