76 lines
2.2 KiB
YAML
76 lines
2.2 KiB
YAML
# Copyright (c) 2022, TOKITA Hiroshi <tokita.hiroshi@gmail.com>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
description: |
|
|
GD32 DMA controller
|
|
|
|
channel: Select channel for data transmitting
|
|
|
|
config: A 32bit mask specifying the DMA channel configuration
|
|
- bit 6-7: Direction (see dma.h)
|
|
- 0x0: MEMORY to MEMORY
|
|
- 0x1: MEMORY to PERIPH
|
|
- 0x2: PERIPH to MEMORY
|
|
- 0x3: reserved for PERIPH to PERIPH
|
|
|
|
- bit 9: Peripheral address increase
|
|
- 0x0: no address increment between transfers
|
|
- 0x1: increment address between transfers
|
|
|
|
- bit 10: Memory address increase
|
|
- 0x0: no address increase between transfers
|
|
- 0x1: increase address between transfers
|
|
|
|
- bit 11-12: Peripheral data width
|
|
- 0x0: 8 bits
|
|
- 0x1: 16 bits
|
|
- 0x2: 32 bits
|
|
- 0x3: reserved
|
|
|
|
- bit 13-14: Memory data width
|
|
- 0x0: 8 bits
|
|
- 0x1: 16 bits
|
|
- 0x2: 32 bits
|
|
- 0x3: reserved
|
|
|
|
- bit 15: Peripheral Increment Offset Size
|
|
- 0x0: offset size is linked to the peripheral bus width
|
|
- 0x1: offset size is fixed to 4 (32-bit alignment)
|
|
|
|
- bit 16-17: Priority
|
|
- 0x0: low
|
|
- 0x1: medium
|
|
- 0x2: high
|
|
- 0x3: very high
|
|
|
|
Example of devicetree configuration
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
pinctrl-0 = <&spi0_default>;
|
|
pinctrl-names = "default";
|
|
cs-gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
|
|
|
|
dmas = <&dma0 3 0>, <&dma0 5 GD32_DMA_PRIORITY_HIGH>;
|
|
dma-names = "rx", "tx";
|
|
};
|
|
|
|
"spi0" uses dma0 for transmitting and receiving in the example.
|
|
Each is named "rx" and "tx".
|
|
The channel cell assigns channel 3 to receive and channel 5 to transmit.
|
|
The config cell can take various configs.
|
|
But the setting used depends on each driver implementation.
|
|
Set the priority for the transmitting channel as HIGH, LOW(the default) for receive channel.
|
|
|
|
compatible: "gd,gd32-dma"
|
|
|
|
include: ["gd,gd32-dma-base.yaml"]
|
|
|
|
properties:
|
|
"#dma-cells":
|
|
const: 2
|
|
|
|
dma-cells:
|
|
- channel
|
|
- config
|