The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/dma/st,stm32-dma.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/dma/st,stm32-dma.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: STMicroelectronics STM32 DMA Controller bindings
    8 
    9 description: |
   10   The STM32 DMA is a general-purpose direct memory access controller capable of
   11   supporting 8 independent DMA channels. Each channel can have up to 8 requests.
   12   DMA clients connected to the STM32 DMA controller must use the format
   13   described in the dma.txt file, using a four-cell specifier for each
   14   channel: a phandle to the DMA controller plus the following four integer cells:
   15     1. The channel id
   16     2. The request line number
   17     3. A 32bit mask specifying the DMA channel configuration which are device
   18       dependent:
   19         -bit 9: Peripheral Increment Address
   20           0x0: no address increment between transfers
   21           0x1: increment address between transfers
   22         -bit 10: Memory Increment Address
   23           0x0: no address increment between transfers
   24           0x1: increment address between transfers
   25         -bit 15: Peripheral Increment Offset Size
   26           0x0: offset size is linked to the peripheral bus width
   27           0x1: offset size is fixed to 4 (32-bit alignment)
   28         -bit 16-17: Priority level
   29           0x0: low
   30           0x1: medium
   31           0x2: high
   32           0x3: very high
   33     4. A 32bit bitfield value specifying DMA features which are device dependent:
   34        -bit 0-1: DMA FIFO threshold selection
   35          0x0: 1/4 full FIFO
   36          0x1: 1/2 full FIFO
   37          0x2: 3/4 full FIFO
   38          0x3: full FIFO
   39        -bit 2: DMA direct mode
   40          0x0: FIFO mode with threshold selectable with bit 0-1
   41          0x1: Direct mode: each DMA request immediately initiates a transfer
   42               from/to the memory, FIFO is bypassed.
   43        -bit 4: alternative DMA request/acknowledge protocol
   44          0x0: Use standard DMA ACK management, where ACK signal is maintained
   45               up to the removal of request and transfer completion
   46          0x1: Use alternative DMA ACK management, where ACK de-assertion does
   47               not wait for the de-assertion of the REQuest, ACK is only managed
   48               by transfer completion. This must only be used on channels
   49               managing transfers for STM32 USART/UART.
   50 
   51 
   52 maintainers:
   53   - Amelie Delaunay <amelie.delaunay@foss.st.com>
   54 
   55 allOf:
   56   - $ref: "dma-controller.yaml#"
   57 
   58 properties:
   59   "#dma-cells":
   60     const: 4
   61 
   62   compatible:
   63     const: st,stm32-dma
   64 
   65   reg:
   66     maxItems: 1
   67 
   68   clocks:
   69     maxItems: 1
   70 
   71   interrupts:
   72     maxItems: 8
   73     description: Should contain all of the per-channel DMA
   74       interrupts in ascending order with respect to the
   75       DMA channel index.
   76 
   77   resets:
   78     maxItems: 1
   79 
   80   st,mem2mem:
   81     $ref: /schemas/types.yaml#/definitions/flag
   82     description: if defined, it indicates that the controller
   83       supports memory-to-memory transfer
   84 
   85 required:
   86   - compatible
   87   - reg
   88   - clocks
   89   - interrupts
   90 
   91 unevaluatedProperties: false
   92 
   93 examples:
   94   - |
   95     #include <dt-bindings/interrupt-controller/arm-gic.h>
   96     #include <dt-bindings/clock/stm32mp1-clks.h>
   97     #include <dt-bindings/reset/stm32mp1-resets.h>
   98     dma-controller@40026400 {
   99       compatible = "st,stm32-dma";
  100       reg = <0x40026400 0x400>;
  101       interrupts = <56>,
  102                    <57>,
  103                    <58>,
  104                    <59>,
  105                    <60>,
  106                    <68>,
  107                    <69>,
  108                    <70>;
  109       clocks = <&clk_hclk>;
  110       #dma-cells = <4>;
  111       st,mem2mem;
  112       resets = <&rcc 150>;
  113       dma-requests = <8>;
  114     };
  115 
  116 ...

Cache object: 2545430aa73840d6dbe9ad9789eafcca


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.