From patchwork Wed Dec 16 16:52:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grzegorz Jaszczyk X-Patchwork-Id: 344515 Delivered-To: patch@linaro.org Received: by 2002:a17:906:4755:0:0:0:0 with SMTP id j21csp506490ejs; Wed, 16 Dec 2020 08:54:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJyIXVecN64kIBEK8w8G/8rgcw+wa2RPaZGa2OePXpKgKxq/LROf5gDHs5yeg0lCbFGfV5TT X-Received: by 2002:a17:906:7a46:: with SMTP id i6mr30570740ejo.257.1608137697808; Wed, 16 Dec 2020 08:54:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608137697; cv=none; d=google.com; s=arc-20160816; b=JBik90qf4ATutlAae3QJp8XjS9Xt/dnWW4fDIdhH5UkMabWgahFj2+o9+8lgMWEOCd kJM0byCDGEvs2moswd8sdT04ZbrjnQW50ClvgkeKK65cqN7GrPwLZa4MvAtBdkX/XE5W /SxmkmB8CrgN6tJiTOYSJUa6lxNEAOIWjCyFu+T95TVpecDDEKMIGCRUnzZ9cWWwe2j9 2kSb+Q1KEDHf0jn4WXeSTm82bbHmoIgcIlycEbr6QUjLf5TJC3MeFtU5KNgR+p68yRFO 3g5D3Buf9QrJZwoqwX1+1PgoTCG3qTqbKhnW0GmJluZ2K1ca8C+WZbjSeag6ZG6wi52W 9xkQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Z5+8efIdVtbBOyRgwR2gsKbazlVl9dyJTRR6AM0J3hA=; b=qyv+SJVSiryvUQa0gUH15QHtJuKX3injwenUfpQRYeoknZIMD8V7xNXznlM2dVg83S 71qf/B5CM3fcyhBq90eocuKmlM4Vopi0cUoS1e2Mi/VU40skAgHuZ1orXSp7+TxiqQA+ j3srvuJI1fYIWbyActZOsmvY8tl5bMxlAl++2viPBJscYggKgVslBPTxOCg5p+gOM5ui c/svaf3Nd2f+DxWETdESVHlOfvnC9nMK0tCHsdRQCJUkGodSKvppAIVGQ2SAvSNtRj5J KL+1gRR9UcAP2muKmJYNWYnsDP3TvX9CP+bhRuWkj3286V+co/yqA02SRDY3YGUbNMB8 Gr9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=naV+sYPr; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-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 ml22si1153631ejb.172.2020.12.16.08.54.57; Wed, 16 Dec 2020 08:54:57 -0800 (PST) Received-SPF: pass (google.com: domain of devicetree-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=naV+sYPr; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-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 S1726706AbgLPQyQ (ORCPT + 7 others); Wed, 16 Dec 2020 11:54:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726155AbgLPQyQ (ORCPT ); Wed, 16 Dec 2020 11:54:16 -0500 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52BB7C06138C for ; Wed, 16 Dec 2020 08:52:56 -0800 (PST) Received: by mail-lf1-x130.google.com with SMTP id s26so15381150lfc.8 for ; Wed, 16 Dec 2020 08:52:56 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=Z5+8efIdVtbBOyRgwR2gsKbazlVl9dyJTRR6AM0J3hA=; b=naV+sYPr/FeUiJPKbdTmkFZhtvKy2MlJohFV1u3ZnaiKvZDrGjU+Z2/US65bBUa7im ak++7BQirUk8jgjX4Wgfy4hhi9QC++hUHWbpYH+EsPDunSA7ztqnvU1TlD+E0CUzIA1n KahlnGo+D/L5gdYR++KqfeC0lo4rLpbNLedOwuATKjyX8cdyLhNsE0WyaxaElzxj7H1G ZxDoWdPKVyihee6Mf6O3HbLlSzPwWrrK1e9CRKgGaUmRrSGisZ3JQUmUr48q7Vwpad5G rGEDEcAezUrak2k2C1gnJEYwlGwgymjWFX8LZ8fmfmxYvkSLSh5S6GHOEjBYArh73O/W 28Yw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Z5+8efIdVtbBOyRgwR2gsKbazlVl9dyJTRR6AM0J3hA=; b=LoVEsvE7IhHMhgeNtp4CJnwEHxsCHElybSJe9n8xtP68wUcD7P6kwHUWMIXCFculfK R46LbkEjPzdTyZThl/7IZwfLVA2KeGiHqXSd7B1A4QAAJZh+zaVKC5wyV4saf69MV0Or Dkp4Qf4sNPhcEakR3Zq+uNcMMOthRzqFnDjyIR5hA8ANf8vrJOLLCIHjoNYaVNWCIzey +xe9B13udi8SNmeOzr26hG6K5Qu0OoYESmBpv0fIdFbe1wEXCS2m+BC/23m39YHV4S3X MNGFZ1HmdjvOUJece/D6jM6YgMUQcYfMbdWWNxwMEzRSTpywN8+GWKhSVbPnJeP3KTxn jOcQ== X-Gm-Message-State: AOAM530XsNFGlAHX2hKkYxEmmh6FkveLIWKI5syI8BTgopxHPocbikLl kwjRNcRvErEQQCR3bXz+EvhnAw== X-Received: by 2002:a05:6512:687:: with SMTP id t7mr12789469lfe.432.1608137573634; Wed, 16 Dec 2020 08:52:53 -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 t3sm281645lfe.263.2020.12.16.08.52.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Dec 2020 08:52:53 -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, t-kristo@ti.com Subject: [PATCH v2 1/5] dt-bindings: remoteproc: Add PRU consumer bindings Date: Wed, 16 Dec 2020 17:52:35 +0100 Message-Id: <20201216165239.2744-2-grzegorz.jaszczyk@linaro.org> X-Mailer: git-send-email 2.29.0 In-Reply-To: <20201216165239.2744-1-grzegorz.jaszczyk@linaro.org> References: <20201216165239.2744-1-grzegorz.jaszczyk@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Suman Anna Add a YAML binding document for PRU consumers. The binding includes all the common properties that can be used by different PRU consumer or application nodes and supported by the PRU remoteproc driver. These are used to configure the PRU hardware for specific user applications. The application nodes themselves should define their own bindings. Co-developed-by: Tero Kristo Signed-off-by: Tero Kristo Signed-off-by: Suman Anna Co-developed-by: Grzegorz Jaszczyk Signed-off-by: Grzegorz Jaszczyk --- v1->v2: - Change the 'prus' property name to 'ti,prus' as suggested by Rob Herring. --- .../bindings/remoteproc/ti,pru-consumer.yaml | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml -- 2.29.0 diff --git a/Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml b/Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml new file mode 100644 index 000000000000..d6de34f9e6f1 --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml @@ -0,0 +1,64 @@ +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/remoteproc/ti,pru-consumer.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Common TI PRU Consumer Binding + +maintainers: + - Suman Anna + +description: | + A PRU application/consumer/user node typically uses one or more PRU device + nodes to implement a PRU application/functionality. Each application/client + node would need a reference to at least a PRU node, and optionally define + some properties needed for hardware/firmware configuration. The below + properties are a list of common properties supported by the PRU remoteproc + infrastructure. + + The application nodes shall define their own bindings like regular platform + devices, so below are in addition to each node's bindings. + +properties: + ti,prus: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: phandles to the PRU, RTU or Tx_PRU nodes used + + firmware-name: + $ref: /schemas/types.yaml#/definitions/string-array + description: | + firmwares for the PRU cores, the default firmware for the core from + the PRU node will be used if not provided. The firmware names should + correspond to the PRU cores listed in the 'ti,prus' property + + ti,pruss-gp-mux-sel: + $ref: /schemas/types.yaml#/definitions/uint32-array + enum: [0, 1, 2, 3, 4] + description: | + array of values for the GP_MUX_SEL under PRUSS_GPCFG register for a PRU. + This selects the internal muxing scheme for the PRU instance. Values + should correspond to the PRU cores listed in the 'ti,prus' property. The + GP_MUX_SEL setting is a per-slice setting (one setting for PRU0, RTU0, + and Tx_PRU0 on K3 SoCs). Use the same value for all cores within the + same slice in the associative array. If the array size is smaller than + the size of 'ti,prus' property, the default out-of-reset value (0) for the + PRU core is used. + +required: + - ti,prus + +dependencies: + firmware-name: [ 'ti,prus' ] + ti,pruss-gp-mux-sel: [ 'ti,prus' ] + +additionalProperties: true + +examples: + - | + /* PRU application node example */ + pru-app { + ti,prus = <&pru0>, <&pru1>; + firmware-name = "pruss-app-fw0", "pruss-app-fw1"; + ti,pruss-gp-mux-sel = <2>, <1>; + };