Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1296981pxu; Sat, 12 Dec 2020 08:12:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJxF+2jqjasTK/a78BEXg/c3GamgkqRlZbKGQ98KYTS63MyZcep99bTYsOM3+qxPFzbz/uaS X-Received: by 2002:aa7:d906:: with SMTP id a6mr17514875edr.121.1607789526889; Sat, 12 Dec 2020 08:12:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607789526; cv=none; d=google.com; s=arc-20160816; b=NKkZgVFSUuXSJUU9C3zwpIQvc2mPyLgeabu9QBZ01RXHGhVzKNFQDlc5uLbi+j1v1A Fq1FFS8O6U13L+ldIO4mXE7egO8EnpgF56bhfOZIAIQSRXXIfFg65Ckeg5zqPJbwlM0d pbr4A9rb0rcPL+m9KyDB/xrUEK0RX4CahMZkavViRlpd6K9X7UhAjmwURCzjDELLFhmv q/wXMwpeoC0cIBJCLXKTl+bDO0rmfTvPTj9fjt9rwnuM68UfYiYWv2OOxrWfYp1vTia1 +r85I3JedVQP6Wsuawo1WNiK38aj3R8cSssFwKZ2Njbh7YnBSFPOFfh/gGRFmp3np6zp wp0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=vMLkq6TErLQR5vl7wxICpib93GEBHjpKENXEhX4v8c8=; b=QFcKxNJXQsZi0Cchyx8tPXMc+JrQZtDlc5NVwatq1KgZlkwxAz2RPniEv3ADI8e1Jk jJ+Qc4arICsCZhDBNR7k4HNQrvtBA5W6dSrva5LtUcNEQv6ihjEp8ygvPk2PDHIyt/5w zk8MhHInaBp1mqpDo+8LKLsijpE3bzK5m2lI1S9sJ58MDjbZByyXYTypVkxn49m27Bkm 5zTs52GRwe6NfFaRpvTFaUN/uqv/HPBVegpdE8+XcGM9A8XGTQvBEda9LHBTri41b1eH GyPWeEYzTwjuxTAtRPbhrd+KvnaGvBFZsM+wq7ueVOSu/i75WcqjK1U/qHBJTM/LSizQ riAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kvhdV0PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jg30si6725085ejc.353.2020.12.12.08.11.44; Sat, 12 Dec 2020 08:12:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kvhdV0PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732697AbgLKObh (ORCPT + 99 others); Fri, 11 Dec 2020 09:31:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731797AbgLKObY (ORCPT ); Fri, 11 Dec 2020 09:31:24 -0500 Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8DE4C0613CF for ; Fri, 11 Dec 2020 06:30:43 -0800 (PST) Received: by mail-lj1-x241.google.com with SMTP id f11so11095722ljm.8 for ; Fri, 11 Dec 2020 06:30:43 -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=vMLkq6TErLQR5vl7wxICpib93GEBHjpKENXEhX4v8c8=; b=kvhdV0PCnbzmkIJAaCEZ3dsAnkIQvSsDvvJTYVCHZC4CI19JDyqXcede+Oor6XRB5j 9RTmcz+B8PBhHF2FvHIZZv5Je++tCM1N1p9uLRF+YTS+JVXJqTTJk2ooqmA3co/WQzKd ZazFfrOeijWGnHdjFo3paTzvSMAhqbphCjtnrSYZv4UQ2rTNfD3zH3F2P8gDrRD7hr5G kclJ2o7NOSMFgXEoFZ3WzJ1BLspGVFSOKQAxwQkKfmX9yc7Yv8IA+zyDgPt5iKJf80YM pzgzPnEH3rf7gcVCPOJmi8nL+xnrTblTgfW5mn4Rnqe9pmSrPwk9DZ6qjUI/dLHAOIPT efDg== 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=vMLkq6TErLQR5vl7wxICpib93GEBHjpKENXEhX4v8c8=; b=U3c1lYQ4nun4neJhVJe/GbYwae860ALSLuQGOVNnRwjyOlMA6mbbhPGx6WRRzyTX5H WG/bm7CbBC8jfp5LAAMnrKYFbQsI6DvmFniaTGJ3QNcZzeQnGpDkBojYA4bGrkm/mMv6 386zWANYYsr/YKPzc0AG3GVRXbK+YhFfzAlXQ9np8hhnCvBF9nG4+mDkYENno9oriY7K 00mzOySJOdxcitUOAMLQO2A+VNRrIDGWkE6GW6TcyBrBdKczUUZx+jhFDPbkA3g2Irst gIsdf9I9QNspM6CQBZ0W9upLRRE01sbKrTuMtLFMn5JpbLttT77GyQ4zMubAFgLEXp/Q L7gQ== X-Gm-Message-State: AOAM530L2OV0g4cqbrXPrGw90gqKQZUfs5s3pSK+RX81mzPsJqSqfi4d 8W9Eex+khqLgLnxQrkpQqpoa+Q== X-Received: by 2002:a05:651c:112c:: with SMTP id e12mr1047555ljo.66.1607697042013; Fri, 11 Dec 2020 06:30:42 -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 x26sm906491lfq.112.2020.12.11.06.30.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Dec 2020 06:30:41 -0800 (PST) From: Grzegorz Jaszczyk To: ohad@wizery.com, bjorn.andersson@linaro.org, mathieu.poirier@linaro.org, robh+dt@kernel.org, s-anna@ti.com, ssantosh@kernel.org Cc: grzegorz.jaszczyk@linaro.org, linux-remoteproc@vger.kernel.org, lee.jones@linaro.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, praneeth@ti.com, rogerq@ti.com Subject: [PATCH 0/5] Introduce PRU remoteproc consumer API Date: Fri, 11 Dec 2020 15:29:28 +0100 Message-Id: <20201211142933.25784-1-grzegorz.jaszczyk@linaro.org> X-Mailer: git-send-email 2.29.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.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. There are 3 foundation component for PRUSS subsystem: the PRUSS platform driver, the PRUSS INTC driver and the PRUSS remoteproc driver. Two first 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 third one [1] was accepted and applied to andersson/remoteproc.git (refs/heads/for-next): [2] but is not merged yet. The programmable nature of the PRUs provide flexibility to implement custom peripheral interfaces, fast real-time responses, or specialized data handling. Example of a PRU consumer drivers will be: - Software UART over PRUSS - PRU-ICSS Ethernet EMAC In order to make usage of common PRU resources and allow the consumer drivers to configure the PRU hardware for specific usage the PRU API is introduced. This patch set depends on not merged (but applied to remoteproc/for-next) PRUSS remoteproc driver [1][2] and two remoteproc related patches [3] and [4]. [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20201208141002.17777-1-grzegorz.jaszczyk@linaro.org/ [2] https://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git/commit/?h=for-next&id=b44786c9bdc46eac8388843f0a6116369cb18bca [3] https://patchwork.kernel.org/project/linux-remoteproc/patch/20201121032042.6195-1-s-anna@ti.com/ [4] https://patchwork.kernel.org/project/linux-remoteproc/patch/20201121030156.22857-3-s-anna@ti.com/ Best regards, Grzegorz Roger Quadros (1): remoteproc: pru: Add pru_rproc_set_ctable() function Suman Anna (2): dt-bindings: remoteproc: Add PRU consumer bindings remoteproc: pru: Deny rproc sysfs ops for PRU client driven boots Tero Kristo (2): remoteproc: pru: Add APIs to get and put the PRU cores remoteproc: pru: Configure firmware based on client setup .../bindings/remoteproc/ti,pru-consumer.yaml | 64 +++++ drivers/remoteproc/pru_rproc.c | 221 +++++++++++++++++- include/linux/pruss.h | 78 +++++++ 3 files changed, 360 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml create mode 100644 include/linux/pruss.h -- 2.29.0