Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2908918lqt; Tue, 23 Apr 2024 05:35:55 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCULBGgPulaEekX5CzCu4P5KSYrqCG0eqZkG5aUmLril1DupLfuh0bgAxQ7QaS1lIRMknDYs3abeBmRpK702XwLHFwIK3L9gGzA0iXOz9w== X-Google-Smtp-Source: AGHT+IHY7gRWq1mV4jWam1YC1+H0kSvxl3sBZVdveH6Px9wLGcXcSEQ7dthQfhNUwOrG1zlqvsq+ X-Received: by 2002:aa7:d912:0:b0:571:bc22:e32 with SMTP id a18-20020aa7d912000000b00571bc220e32mr2773797edr.8.1713875755349; Tue, 23 Apr 2024 05:35:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713875755; cv=pass; d=google.com; s=arc-20160816; b=s0WPNQIRMIqDt51SYOjR0+vV08oX/n8+HBPuylM55I/YnuOzLs9X/kXeb4m7AVTMoU JTgh6PxkZqimo5ew+9EJ+tscSC7LWrbtqdplpVbtREjbhv0ohvbEx23DDKXftTDFCdrp OfqYp0QyB3a0VR27v4IJj6nGl/vL21tzASUDpEIVvBwc/u34WS2vDy+YxKpq7czLP09x R2PoCj7/VbJEQDeSfuShbJQ3wNXyfUCdlRvrWFXA/qxK2wVz1/69ptM7wSXwvW4/ZU48 wDNq/aiQ07KH3BaEiRIRZ4OkOB7ic+FHxMV9d6DjXSp34SoJdkWBn48SK5ePnz1Rs6Mq NIog== 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=k/vRIqBA6IKXycGb1YYyTUrHBvJxD3/5TcGM0lNmKf4=; fh=GMVtMPLlwt/lj9i49KuTObjDq8olvs384ecnCjKLSCY=; b=jzyZcHGhOBrekkJRrLBLjwmLrPYd0M1gFZbJKsAi8Jih+7q8wTWEPI1nQKrdWz55Ku Vv8nKGBkSa4D9u41nvGd0hBIW2dcQHkOGk3CpgSNdKcc+Q+efK4LOZTEa0HydpIxxper YvtMk9uYftGBvDE/no+tDPyg98jZagN1ksaMaVdbMGI0JNsj9PIxT68ir9FrumruTZ0L bvDkuCfVaVYQqVsd9nEAp/vdFZhcMqN5VGyQlUHCOsIV2Hv6QkhfZjEKmZ3VumtCNtNq TkD+bikI24/DHn4V6kHtcYF8Y5Z9wxJH4DEDwLu/Ah5wSkwPJzMsfdgFIFLApiNi7yN2 azIw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=QLSpv36K; 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-155168-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-155168-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 am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id dh5-20020a0564021d2500b0056e06aac7c9si7071942edb.516.2024.04.23.05.35.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 05:35:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-155168-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=QLSpv36K; 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-155168-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-155168-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 am.mirrors.kernel.org (Postfix) with ESMTPS id E603F1F25720 for ; Tue, 23 Apr 2024 12:35:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 652CB85C4E; Tue, 23 Apr 2024 12:34:53 +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="QLSpv36K" 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 A60F7130AEE; Tue, 23 Apr 2024 12:34:50 +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=1713875692; cv=none; b=LyEBAIDhPRLNSfUkTka5w3ijPWEMLHL/OnK4Py5WE2KzKpGZcQrqhHW6mRwQdyjU0H36PiaLSd1bn+k8kFy8HqeK4UKSujat0hSSwRAuIUjFyuyMIVTmayl34Dxy/FiFRGX0a3fXY+Hifc4tQBjnXCCVu1tNiQgx5MbiaRryiqE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713875692; c=relaxed/simple; bh=WBUT4kymMUXeYv3ojLXU/LS7tS3CZLJAlVSln7iITng=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ILT3IcOR82EWogn1LRjFOFkm6MBU7R9TOl5irzMbY2AKIivtUIr1gt4uyeAnLeSE+6vIqM/mAhZGEHklMLm62gwPAq8Hylf7hSTbQNaz44BRCw4EOBMCTLwW6uYypBeq4KQfeizvPGpwZZg0zUs87mdMTpAhblov9+PtgdE1sE8= 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=QLSpv36K; 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 43N8H3qQ011919; Tue, 23 Apr 2024 14:34:17 +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=k/vRIqBA6IKXycGb1YYyTUrHBvJxD3/5TcGM0lNmKf4=; b=QL Spv36K6VqBFkHUgxzMh9IrIOggTVMdMKxjcmqo7HFikev0GrncL6qeY4BgOuCheb 7OmcyysmImszOcZ1hDGFhwqazyccplTq+z2i5nRRmPf0KDu3vSC0xS07pI1WeXRV UeIoADdLTxu5tUgHbMZ37NP7KtEMjLMnCoXdDraEFNO0R34FeObWaLWCPd3TjUzK swi+Ck4JypksouK+g9YYIqSfKbbJlDIP+7c66CQuYpUra6E7K8zYOqfNe8RmoVo7 RlBShZbMb44hklc3k752DtCbNEWkWa6jppxMsY0YOPGcPJTUu1oNa7vV5JygxFvJ UpXvURrhWr/lE+v7uYIw== 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 3xm4kb3d7q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 23 Apr 2024 14:34:16 +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 5195F40047; Tue, 23 Apr 2024 14:34:12 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id E238C21A23B; Tue, 23 Apr 2024 14:33:26 +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, 23 Apr 2024 14:33:26 +0200 From: Amelie Delaunay To: Vinod Koul , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin , Alexandre Torgue CC: , , , , , , Amelie Delaunay Subject: [PATCH 04/12] dt-bindings: dma: Document STM32 DMA3 controller bindings Date: Tue, 23 Apr 2024 14:32:54 +0200 Message-ID: <20240423123302.1550592-5-amelie.delaunay@foss.st.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240423123302.1550592-1-amelie.delaunay@foss.st.com> References: <20240423123302.1550592-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.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-23_11,2024-04-23_01,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 --- .../bindings/dma/stm32/st,stm32-dma3.yaml | 125 ++++++++++++++++++ 1 file changed, 125 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..ea4f8f6add3c --- /dev/null +++ b/Documentation/devicetree/bindings/dma/stm32/st,stm32-dma3.yaml @@ -0,0 +1,125 @@ +# 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 the ../dma.txt file, using a four-cell specifier for each channel. + A phandle to the DMA controller plus the following three integer cells: + 1. The request line number + 2. 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) + 3. 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 + +maintainers: + - Amelie Delaunay + +allOf: + - $ref: /schemas/dma/dma-controller.yaml# + +properties: + "#dma-cells": + const: 3 + + compatible: + const: st,stm32-dma3 + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + resets: + maxItems: 1 + + interrupts: + minItems: 4 + maxItems: 16 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - clocks + - interrupts + +unevaluatedProperties: false + +examples: + - | + #include + #include + dma-controller@40400000 { + compatible = "st,stm32-dma3"; + reg = <0x40400000 0x1000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + clocks = <&rcc CK_BUS_HPDMA1>; + #dma-cells = <3>; + }; +... -- 2.25.1