Documentation/devicetree/bindings/dma/stm32/st,stm32-mdma.yaml
Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/dma/stm32/st,stm32-mdma.yaml
File Facts
- System
- Linux kernel
- Corpus path
Documentation/devicetree/bindings/dma/stm32/st,stm32-mdma.yaml- Extension
.yaml- Size
- 3400 bytes
- Lines
- 107
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: configuration, schema, or hardware description
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
dt-bindings/interrupt-controller/arm-gic.hdt-bindings/clock/stm32mp1-clks.hdt-bindings/reset/stm32mp1-resets.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/stm32/st,stm32-mdma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: STMicroelectronics STM32 MDMA Controller
description: |
The STM32 MDMA is a general-purpose direct memory access controller capable of
supporting 64 independent DMA channels with 256 HW requests.
DMA clients connected to the STM32 MDMA controller must use the format
described in the dma.txt file, using a five-cell specifier for each channel:
a phandle to the MDMA controller plus the following five integer cells:
1. The request line number
2. The priority level
0x0: Low
0x1: Medium
0x2: High
0x3: Very high
3. A 32bit mask specifying the DMA channel configuration
-bit 0-1: Source increment mode
0x0: Source address pointer is fixed
0x2: Source address pointer is incremented after each data transfer
0x3: Source address pointer is decremented after each data transfer
-bit 2-3: Destination increment mode
0x0: Destination address pointer is fixed
0x2: Destination address pointer is incremented after each data transfer
0x3: Destination address pointer is decremented after each data transfer
-bit 8-9: Source increment offset size
0x0: byte (8bit)
0x1: half-word (16bit)
0x2: word (32bit)
0x3: double-word (64bit)
-bit 10-11: Destination increment offset size
0x0: byte (8bit)
0x1: half-word (16bit)
0x2: word (32bit)
0x3: double-word (64bit)
-bit 25-18: The number of bytes to be transferred in a single transfer
(min = 1 byte, max = 128 bytes)
-bit 29:28: Trigger Mode
0x00: Each MDMA request triggers a buffer transfer (max 128 bytes)
0x1: Each MDMA request triggers a block transfer (max 64K bytes)
0x2: Each MDMA request triggers a repeated block transfer
0x3: Each MDMA request triggers a linked list transfer
4. A 32bit value specifying the register to be used to acknowledge the request
if no HW ack signal is used by the MDMA client
5. A 32bit mask specifying the value to be written to acknowledge the request
if no HW ack signal is used by the MDMA client
maintainers:
- Amelie Delaunay <amelie.delaunay@foss.st.com>
allOf:
- $ref: /schemas/dma/dma-controller.yaml#
properties:
"#dma-cells":
const: 5
compatible:
const: st,stm32h7-mdma
reg:
maxItems: 1
clocks:
maxItems: 1
Annotation
- Immediate include surface: `dt-bindings/interrupt-controller/arm-gic.h`, `dt-bindings/clock/stm32mp1-clks.h`, `dt-bindings/reset/stm32mp1-resets.h`.
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.