From patchwork Wed Nov 16 12:16:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: MD Danish Anwar X-Patchwork-Id: 21011 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp108524wru; Wed, 16 Nov 2022 04:21:58 -0800 (PST) X-Google-Smtp-Source: AA0mqf4Dp8lAqYHWbnH61dfCm81vKuiaKIFt8HO/nopEJKBb7mJl3SWXuB8u1LafrkLAKxh0jkjz X-Received: by 2002:a17:902:8c8f:b0:186:61a7:aea1 with SMTP id t15-20020a1709028c8f00b0018661a7aea1mr8710945plo.145.1668601318184; Wed, 16 Nov 2022 04:21:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668601318; cv=none; d=google.com; s=arc-20160816; b=yVlVJChfxRJoC8hpf+9tlpVLRdXm+pIIXdWttv2ZD1jitJCaznLhV3xAyXYPcVdLIC voKonwZtZLWGKLPbmtFMCTKWhj2vpW+9n5ohHxWTFGk01agzRAIRlYe+zJjUqImXZTND lNNiGUxrMc95WLPvuua2Y12pVypb2jDZtrOqMqX80KeTJP6e9LxmxEDZhHHIE7kC1yG5 QOAbbvr/SYIdqoIfRXRyl+Xyx1a5rvSXWsz8eA9BWHHnRMfbg1Uo99xKpE4zYYrrh75P YJJCcM+fogUi7NeODyaFjqZuu/kAPpKBOb0A1M1mQ8wYUN5INoIFHlB4AJlbi9aM/jdN dBmw== 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=BF+tsQCFuK/g/ZI9zhDXY3LsoVevyuKZDDV49N2xlZE=; b=smv4iN08GVAjrkrOdGbJvYbHvF9zzJOHoywOPNHv2X+vE2IBPXcnlf8GUnUigf+yUK qqIoeQAlylCoelsy8P7E9NZ5OiC7g9xDX9114n5h1pu5DGEtFWfu8s64Df1FMaO6VVOE GdKqOpqleB+Q1Q9NZYgLm0S7106mwrYC9r6puf4CaKAod792u0+1bv1QqouFDG9skRzv Oz/dKPIXxP7wtJAkTn/njh+CTySqR0TP8zRdkayg/adJ3rwRkSNauqzs3RotcbxQrwRF BI7pX/ODkG3TOAXgfh+mQA/kDokxOUYfWjjj0wXDRmTihKFwYpVFy1Gd+lY4pCDOyKCH 3D6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=jlQEeFe8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ip10-20020a17090b314a00b0021860d5ca8bsi672475pjb.61.2022.11.16.04.21.44; Wed, 16 Nov 2022 04:21:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=jlQEeFe8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233418AbiKPMTc (ORCPT + 99 others); Wed, 16 Nov 2022 07:19:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35844 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233671AbiKPMS5 (ORCPT ); Wed, 16 Nov 2022 07:18:57 -0500 Received: from lelv0143.ext.ti.com (lelv0143.ext.ti.com [198.47.23.248]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2406193CC; Wed, 16 Nov 2022 04:16:51 -0800 (PST) Received: from fllv0035.itg.ti.com ([10.64.41.0]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 2AGCGdX4052358; Wed, 16 Nov 2022 06:16:39 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1668600999; bh=BF+tsQCFuK/g/ZI9zhDXY3LsoVevyuKZDDV49N2xlZE=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=jlQEeFe8uf/Max+pdHRTqZUxy9d2OcsNYUJsodaX1+ZY3OZ5y7BWEzopLwtdK1Sg/ 9h6e5dAyX38UXP5vkHWSVbf+LOkRfP+XKbBcNWcFd72sGf21mqGha4JqYsmArqf8V7 hWXTDFwVUfV6HtGkL5/akKr4qSpmMmQJQlpnT/Jc= Received: from DFLE112.ent.ti.com (dfle112.ent.ti.com [10.64.6.33]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 2AGCGdKn019606 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 16 Nov 2022 06:16:39 -0600 Received: from DFLE111.ent.ti.com (10.64.6.32) by DFLE112.ent.ti.com (10.64.6.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.6; Wed, 16 Nov 2022 06:16:39 -0600 Received: from lelv0326.itg.ti.com (10.180.67.84) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.6 via Frontend Transport; Wed, 16 Nov 2022 06:16:39 -0600 Received: from fllv0122.itg.ti.com (fllv0122.itg.ti.com [10.247.120.72]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 2AGCGd53015949; Wed, 16 Nov 2022 06:16:39 -0600 Received: from localhost (a0501179-pc.dhcp.ti.com [10.24.69.114]) by fllv0122.itg.ti.com (8.14.7/8.14.7) with ESMTP id 2AGCGbSb013713; Wed, 16 Nov 2022 06:16:38 -0600 From: MD Danish Anwar To: Mathieu Poirier , Krzysztof Kozlowski , Rob Herring CC: Suman Anna , Roger Quadros , "Andrew F . Davis" , , , , , , , , MD Danish Anwar Subject: [PATCH v8 1/6] dt-bindings: remoteproc: Add PRU consumer bindings Date: Wed, 16 Nov 2022 17:46:29 +0530 Message-ID: <20221116121634.2901265-2-danishanwar@ti.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221116121634.2901265-1-danishanwar@ti.com> References: <20221116121634.2901265-1-danishanwar@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749655295729530210?= X-GMAIL-MSGID: =?utf-8?q?1749655295729530210?= From: Suman Anna Add DT schema binding 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 Co-developed-by: Suman Anna Co-developed-by: Grzegorz Jaszczyk Co-developed-by: Puranjay Mohan Signed-off-by: MD Danish Anwar Signed-off-by: Tero Kristo Signed-off-by: Suman Anna Signed-off-by: Grzegorz Jaszczyk --- .../bindings/remoteproc/ti,pru-consumer.yaml | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml 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..c6d86964b72a --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml @@ -0,0 +1,60 @@ +# 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 + minItems: 1 + maxItems: 6 + items: + maxItems: 1 + + firmware-name: + $ref: /schemas/types.yaml#/definitions/string-array + minItems: 1 + maxItems: 6 + 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 + minItems: 1 + maxItems: 6 + items: + 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 + +additionalProperties: true