Received: by 2002:a89:288:0:b0:1f7:eeee:6653 with SMTP id j8csp510725lqh; Tue, 7 May 2024 06:17:33 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCW0iwOhpAE5EX1fiUoXf3TSCbhnTdte3RessRdUw097hmStzdiMN/gU9bbcsPVhT7hLdpd2PWyidlWgyB2rvvqM5LpvMpZVrFHlDX9Lfg== X-Google-Smtp-Source: AGHT+IEpJav0A6Ci/lEwh0S+iN9Y7SkcxUBNWlKp3FPpQa62iourZDYsx9ikPNv9DZmJsCAjp9qX X-Received: by 2002:a17:90a:bb15:b0:2b4:3659:b3f5 with SMTP id u21-20020a17090abb1500b002b43659b3f5mr9319186pjr.47.1715087852793; Tue, 07 May 2024 06:17:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715087852; cv=pass; d=google.com; s=arc-20160816; b=EE7mMWuYtQR4EudX22DA0klECltp8bzHZ/TWP8w76LClfmzqBlhKxQpk0W0vqDl8oI 349P9vc7rzrrzQ0i09ZnPJhzYFVWwRzoqEs5LxOK0nQsnqO/p3KU0KZQKBMToKZbDVp+ EcHEf/RS+uLlS5vvS9wvd06KkGEiQ2dOxIEua5BU2paEPw0KPdJCi/0AwQte2pOxGCNr 7SMu+EXqAPgT8wnxIUBmgOGch4tzhQ2lWofXmvseTTHJuRw1rGLn8HWpocnkWwzG5NoZ U+DC/L/Vv3HnTRlHAvwljzPD4tkDbum/4hi8ibABMWfrBjpF3Kw3YevaOoVaoZoTudGM xyiw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=+FIQuut2hcVFww2LihxFhFg2o5ReRDgdjA7K75JlDnY=; fh=GMVtMPLlwt/lj9i49KuTObjDq8olvs384ecnCjKLSCY=; b=Qhgo8eYffnSaRkV1OCbqk66AqR7NSsLrkryT85jfjHcCMBWsWjAvQ4FLPJXCjTXBQZ eeACb54LJMAGWQ4VHoSYIVElOe2T1Bhhs+XTMS1jjNgWqR8wnTcu10oA6QFf2QjCVaFq L8b9ps78KXK4PXHt3+qIUdtPi/rS5tFF4M1DRjXxb+0Ksph8Y9OvXu0tNVJWkcM/cOLp KlW41y11tQX0324y7LvBQlcuhIldX662nNxaoHtu7fF2Cw8O+3f7tq26AbdYnv2bQdsZ VImsEuY6jWQjcUs7rtgQETjLoH7ArbKvGdzvrNTaal5YX4pHn66SsbDcEJyF2avCoWrn HTWQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=FLRUxrMD; arc=pass (i=1 spf=pass spfdomain=foss.st.com dkim=pass dkdomain=foss.st.com dmarc=pass fromdomain=foss.st.com); spf=pass (google.com: domain of linux-kernel+bounces-171323-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-171323-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id l18-20020a17090ac59200b002b16686dd7esi12447566pjt.51.2024.05.07.06.17.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 May 2024 06:17:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-171323-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=FLRUxrMD; arc=pass (i=1 spf=pass spfdomain=foss.st.com dkim=pass dkdomain=foss.st.com dmarc=pass fromdomain=foss.st.com); spf=pass (google.com: domain of linux-kernel+bounces-171323-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-171323-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 94164B23871 for ; Tue, 7 May 2024 12:56:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D7C4E15E5D3; Tue, 7 May 2024 12:56:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="FLRUxrMD" Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EAC9C15B98F; Tue, 7 May 2024 12:56:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.207.212.93 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715086570; cv=none; b=lqzYuMSWOi2TerHZx9DBA92RJ23XRAiI2yceNtJ28Nrh5dD+32nbmN5jfJMoiD5b7QcFwNnY8VlU2F+qfzlU03pDqpHyt4xh6jiYBDXt5HRnAV25B3rcgUs6RnN6ejmBO9LqqMWCVe9clZc05bKVEFyi84Im4PKxB4HDX0s4ziI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715086570; c=relaxed/simple; bh=mC/v2V9HNBmBCEthvCkB9qVn7ho6REG6IBkk20D5Bz4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ljphCqnxu23YXFq54grWCXtuYFxtgPsXUbG4iH9VukoBSEKCIP7/bFELL7hwV+ZwA77EXHZIgCZYYQa+j8omI3PKdEgdittTZTedhVTidDaGkUoJqFbT80YlSJnBIerTs7uPM5HZbFXl8svjth01nH8xacvNL6HeNKNER8BkI3w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=FLRUxrMD; arc=none smtp.client-ip=91.207.212.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 447BFrgl013556; Tue, 7 May 2024 14:55:56 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s= selector1; bh=+FIQuut2hcVFww2LihxFhFg2o5ReRDgdjA7K75JlDnY=; b=FL RUxrMD3xDOpuMuYFG0iDroVoEpsmQ5YoVBva465WOxwN1ldNNlSAWOw29RCmtnlM +74A4L0RpVRdQ1Cyysc0XS4qhyYsQ26HlEzqlZ7VTIXPNz7Uys4u1vmqA0U6P9Ph iDhNuToDSiEZXZymQoLhXhtrGmcGaal1OfmLIzYMcr4sNY4+M3rmdzsKyvH3Cj6N /QP5BjoXiaPxII50ygC4ba90abif9rt8IVi6/trGQbTFZ8tRnrUQ5+J5Oxm0+Alr PfQwuqDZ12f643RmSFMpZ3E2Xd1n+QrdF6vwDm983deKfqVqjxTheL9w7/9H3rP3 tCfOchmDy2q67v/oJgyg== Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3xwbwckpqs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 May 2024 14:55:55 +0200 (MEST) Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id B97D74002D; Tue, 7 May 2024 14:55:51 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id B3D7621ADCC; Tue, 7 May 2024 14:55:04 +0200 (CEST) Received: from localhost (10.48.86.143) by SHFDAG1NODE3.st.com (10.75.129.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 7 May 2024 14:55:04 +0200 From: Amelie Delaunay To: Vinod Koul , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin , Alexandre Torgue CC: , , , , , , Amelie Delaunay Subject: [PATCH v2 04/12] dt-bindings: dma: Document STM32 DMA3 controller bindings Date: Tue, 7 May 2024 14:54:34 +0200 Message-ID: <20240507125442.3989284-5-amelie.delaunay@foss.st.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240507125442.3989284-1-amelie.delaunay@foss.st.com> References: <20240507125442.3989284-1-amelie.delaunay@foss.st.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE3.st.com (10.75.129.71) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-07_06,2024-05-06_02,2023-05-22_02 The STM32 DMA3 is a Direct Memory Access controller with different features depending on its hardware configuration. The channels have not the same capabilities, some have a larger FIFO, so their performance is higher. This patch describes STM32 DMA3 bindings, used to select a channel that fits client requirements, and to pre-configure the channel depending on the client needs. Signed-off-by: Amelie Delaunay --- v2: - DMA controller specific information description has been moved and added as description of #dma-cells property - description has been added to interrupts property specifying the expected format for channel interrupts - compatible has been updated to st,stm32mp25-dma3 (SoC specific) --- .../bindings/dma/stm32/st,stm32-dma3.yaml | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/stm32/st,stm32-dma3.yaml diff --git a/Documentation/devicetree/bindings/dma/stm32/st,stm32-dma3.yaml b/Documentation/devicetree/bindings/dma/stm32/st,stm32-dma3.yaml new file mode 100644 index 000000000000..ed2a84fe2535 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/stm32/st,stm32-dma3.yaml @@ -0,0 +1,129 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/stm32/st,stm32-dma3.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: STMicroelectronics STM32 DMA3 Controller + +description: | + The STM32 DMA3 is a direct memory access controller with different features depending on its + hardware configuration. + It is either called LPDMA (Low Power), GPDMA (General Purpose) or HPDMA (High Performance). + Its hardware configuration registers allow to dynamically expose its features. + + GPDMA and HPDMA support 16 independent DMA channels, while only 4 for LPDMA. + GPDMA and HPDMA support 256 DMA requests from peripherals, 8 for LPDMA. + + Bindings are generic for these 3 STM32 DMA3 configurations. + + DMA clients connected to the STM32 DMA3 controller must use the format described in "#dma-cells" + property description below, using a three-cell specifier for each channel. + +maintainers: + - Amelie Delaunay + +allOf: + - $ref: /schemas/dma/dma-controller.yaml# + +properties: + compatible: + const: st,stm32mp25-dma3 + + reg: + maxItems: 1 + + interrupts: + minItems: 4 + maxItems: 16 + description: | + Should contain all of the per-channel DMA interrupts in ascending order with respect to the + DMA channel index. + + clocks: + maxItems: 1 + + resets: + maxItems: 1 + + power-domains: + maxItems: 1 + + "#dma-cells": + const: 3 + description: | + Specifies the number of cells needed to provide DMA controller specific information. + The first cell is the request line number. + The second cell is a 32-bit mask specifying the DMA channel requirements: + -bit 0-1: The priority level + 0x0: low priority, low weight + 0x1: low priority, mid weight + 0x2: low priority, high weight + 0x3: high priority + -bit 4-7: The FIFO requirement for queuing source and destination transfers + 0x0: no FIFO requirement/any channel can fit + 0x2: FIFO of 8 bytes (2^2+1) + 0x4: FIFO of 32 bytes (2^4+1) + 0x6: FIFO of 128 bytes (2^6+1) + 0x7: FIFO of 256 bytes (2^7+1) + The third cell is a 32-bit mask specifying the DMA transfer requirements: + -bit 0: The source incrementing burst + 0x0: fixed burst + 0x1: contiguously incremented burst + -bit 1: The source allocated port + 0x0: port 0 is allocated to the source transfer + 0x1: port 1 is allocated to the source transfer + -bit 4: The destination incrementing burst + 0x0: fixed burst + 0x1: contiguously incremented burst + -bit 5: The destination allocated port + 0x0: port 0 is allocated to the destination transfer + 0x1: port 1 is allocated to the destination transfer + -bit 8: The type of hardware request + 0x0: burst + 0x1: block + -bit 9: The control mode + 0x0: DMA controller control mode + 0x1: peripheral control mode + -bit 12-13: The transfer complete event mode + 0x0: at block level, transfer complete event is generated at the end of a block + 0x2: at LLI level, the transfer complete event is generated at the end of the LLI transfer + including the update of the LLI if any + 0x3: at channel level, the transfer complete event is generated at the end of the last LLI + +required: + - compatible + - reg + - interrupts + - clocks + - "#dma-cells" + +unevaluatedProperties: false + +examples: + - | + #include + #include + dma-controller@40400000 { + compatible = "st,stm32mp25-dma3"; + reg = <0x40400000 0x1000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + clocks = <&rcc CK_BUS_HPDMA1>; + #dma-cells = <3>; + }; +... -- 2.25.1